static void bc_atoms(const t_commrec *cr, t_symtab *symtab, t_atoms *atoms) { block_bc(cr, atoms->nr); snew_bc(cr, atoms->atom, atoms->nr); nblock_bc(cr, atoms->nr, atoms->atom); bc_strings(cr, symtab, atoms->nr, &atoms->atomname); block_bc(cr, atoms->nres); snew_bc(cr, atoms->resinfo, atoms->nres); nblock_bc(cr, atoms->nres, atoms->resinfo); bc_strings_resinfo(cr, symtab, atoms->nres, atoms->resinfo); /* QMMM requires atomtypes to be known on all nodes as well */ bc_strings(cr, symtab, atoms->nr, &atoms->atomtype); bc_strings(cr, symtab, atoms->nr, &atoms->atomtypeB); }
static void bc_groups(const t_commrec *cr,t_symtab *symtab, int natoms,gmx_groups_t *groups) { int dummy; int g,n; bc_grps(cr,groups->grps); block_bc(cr,groups->ngrpname); bc_strings(cr,symtab,groups->ngrpname,&groups->grpname); for(g=0; g<egcNR; g++) { if (MASTER(cr)) { if (groups->grpnr[g]) { n = natoms; } else { n = 0; } } block_bc(cr,n); if (n == 0) { groups->grpnr[g] = NULL; } else { snew_bc(cr,groups->grpnr[g],n); nblock_bc(cr,n,groups->grpnr[g]); } } if (debug) fprintf(debug,"after bc_groups\n"); }