t_cluster_ndx *cluster_index(FILE *fplog, const char *ndx) { t_cluster_ndx *c; int i; snew(c, 1); c->clust = init_index(ndx, &c->grpname); c->maxframe = -1; for (i = 0; (i < c->clust->nra); i++) { c->maxframe = max(c->maxframe, c->clust->a[i]); } fprintf(fplog ? fplog : stdout, "There are %d clusters containing %d structures, highest framenr is %d\n", c->clust->nr, c->clust->nra, c->maxframe); if (debug) { pr_blocka(debug, 0, "clust", c->clust, TRUE); for (i = 0; (i < c->clust->nra); i++) { if ((c->clust->a[i] < 0) || (c->clust->a[i] > c->maxframe)) { gmx_fatal(FARGS, "Range check error for c->clust->a[%d] = %d\n" "should be within 0 and %d", i, c->clust->a[i], c->maxframe+1); } } } c->inv_clust = make_invblocka(c->clust, c->maxframe); return c; }
void chk_ndx(const char *fn) { t_blocka *grps; char **grpname; int i, j; grps = init_index(fn, &grpname); if (debug) { pr_blocka(debug, 0, fn, grps, FALSE); } else { printf("Contents of index file %s\n", fn); printf("--------------------------------------------------\n"); printf("Nr. Group #Entries First Last\n"); for (i = 0; (i < grps->nr); i++) { printf("%4d %-20s%8d%8d%8d\n", i, grpname[i], grps->index[i+1]-grps->index[i], grps->a[grps->index[i]]+1, grps->a[grps->index[i+1]-1]+1); } } for (i = 0; (i < grps->nr); i++) { sfree(grpname[i]); } sfree(grpname); done_blocka(grps); }
void pr_top(FILE *fp,int indent,const char *title,t_topology *top, gmx_bool bShowNumbers) { if (available(fp,top,indent,title)) { indent=pr_title(fp,indent,title); (void) pr_indent(fp,indent); (void) fprintf(fp,"name=\"%s\"\n",*(top->name)); pr_atoms(fp,indent,"atoms",&(top->atoms),bShowNumbers); pr_atomtypes(fp,indent,"atomtypes",&(top->atomtypes),bShowNumbers); pr_block(fp,indent,"cgs",&top->cgs, bShowNumbers); pr_block(fp,indent,"mols",&top->mols, bShowNumbers); pr_blocka(fp,indent,"excls",&top->excls, bShowNumbers); pr_idef(fp,indent,"idef",&top->idef,bShowNumbers); } }
void pr_top(FILE *fp, int indent, const char *title, const t_topology *top, gmx_bool bShowNumbers) { if (available(fp, top, indent, title)) { indent = pr_title(fp, indent, title); pr_indent(fp, indent); fprintf(fp, "name=\"%s\"\n", *(top->name)); pr_atoms(fp, indent, "atoms", &(top->atoms), bShowNumbers); pr_atomtypes(fp, indent, "atomtypes", &(top->atomtypes), bShowNumbers); pr_block(fp, indent, "cgs", &top->cgs, bShowNumbers); pr_block(fp, indent, "mols", &top->mols, bShowNumbers); pr_str(fp, indent, "bIntermolecularInteractions", gmx::boolToString(top->bIntermolecularInteractions)); pr_blocka(fp, indent, "excls", &top->excls, bShowNumbers); pr_idef(fp, indent, "idef", &top->idef, bShowNumbers); } }
static void pr_moltype(FILE *fp,int indent,const char *title, gmx_moltype_t *molt,int n, gmx_ffparams_t *ffparams, gmx_bool bShowNumbers) { int j; indent = pr_title_n(fp,indent,title,n); (void) pr_indent(fp,indent); (void) fprintf(fp,"name=\"%s\"\n",*(molt->name)); pr_atoms(fp,indent,"atoms",&(molt->atoms),bShowNumbers); pr_block(fp,indent,"cgs",&molt->cgs, bShowNumbers); pr_blocka(fp,indent,"excls",&molt->excls, bShowNumbers); for(j=0; (j<F_NRE); j++) { pr_ilist(fp,indent,interaction_function[j].longname, ffparams->functype,&molt->ilist[j],bShowNumbers); } }