void print_bondeds(FILE *out, int natoms, directive d, int ftype, int fsubtype, t_params plist[]) { t_symtab stab; gpp_atomtype_t atype; t_param *param; t_atom *a; int i; atype = init_atomtype(); snew(a, 1); snew(param, 1); open_symtab(&stab); for (i = 0; (i < natoms); i++) { char buf[12]; sprintf(buf, "%4d", (i+1)); add_atomtype(atype, &stab, a, buf, param, 0, 0, 0, 0, 0, 0, 0); } print_bt(out, d, atype, ftype, fsubtype, plist, TRUE); done_symtab(&stab); sfree(a); sfree(param); done_atomtype(atype); }
gmx_bool gro_next_x_or_v(FILE *status, t_trxframe *fr) { t_atoms atoms; t_symtab symtab; char title[STRLEN], *p; double tt; int ndec = 0, i; if (gmx_one_before_eof(status)) { return FALSE; } open_symtab(&symtab); atoms.nr = fr->natoms; snew(atoms.atom, fr->natoms); atoms.nres = fr->natoms; snew(atoms.resinfo, fr->natoms); snew(atoms.atomname, fr->natoms); fr->bV = get_w_conf(status, title, title, &symtab, &atoms, &ndec, fr->x, fr->v, fr->box); fr->bPrec = TRUE; fr->prec = 1; /* prec = 10^ndec: */ for (i = 0; i < ndec; i++) { fr->prec *= 10; } fr->title = title; fr->bTitle = TRUE; fr->bX = TRUE; fr->bBox = TRUE; sfree(atoms.atom); sfree(atoms.resinfo); sfree(atoms.atomname); done_symtab(&symtab); if ((p = strstr(title, "t=")) != NULL) { p += 2; if (sscanf(p, "%lf", &tt) == 1) { fr->time = tt; fr->bTime = TRUE; } else { fr->time = 0; fr->bTime = FALSE; } } if (atoms.nr != fr->natoms) { gmx_fatal(FARGS, "Number of atoms in gro frame (%d) doesn't match the number in the previous frame (%d)", atoms.nr, fr->natoms); } return TRUE; }
void done_top(t_topology *top) { int i; done_atom (&(top->atoms)); /* For GB */ done_atomtypes(&(top->atomtypes)); done_symtab(&(top->symtab)); done_block(&(top->cgs)); done_block(&(top->mols)); done_blocka(&(top->excls)); }
void done_top(t_topology *top) { sfree(top->idef.functype); sfree(top->idef.iparams); for (int f = 0; f < F_NRE; ++f) { sfree(top->idef.il[f].iatoms); top->idef.il[f].iatoms = NULL; top->idef.il[f].nalloc = 0; } done_atom(&(top->atoms)); /* For GB */ done_atomtypes(&(top->atomtypes)); done_symtab(&(top->symtab)); done_block(&(top->cgs)); done_block(&(top->mols)); done_blocka(&(top->excls)); }
void done_mtop(gmx_mtop_t *mtop,bool bDoneSymtab) { int i; if (bDoneSymtab) { done_symtab(&mtop->symtab); } sfree(mtop->ffparams.functype); sfree(mtop->ffparams.iparams); for(i=0; i<mtop->nmoltype; i++) { done_moltype(&mtop->moltype[i]); } sfree(mtop->moltype); for(i=0; i<mtop->nmolblock; i++) { done_molblock(&mtop->molblock[i]); } sfree(mtop->molblock); done_block(&mtop->mols); }