Пример #1
0
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);
}
Пример #2
0
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");
}