#include "gromacs/mdtypes/md_enums.h"
#include "gromacs/mdtypes/pull-params.h"
#include "gromacs/mdtypes/state.h"
+#include "gromacs/topology/mtop_util.h"
#include "gromacs/topology/symtab.h"
#include "gromacs/topology/topology.h"
#include "gromacs/utility/fatalerror.h"
static
void bcast_ir_mtop(const t_commrec *cr, t_inputrec *inputrec, gmx_mtop_t *mtop)
{
- int i;
if (debug)
{
fprintf(debug, "in bc_data\n");
bc_ffparams(cr, &mtop->ffparams);
- block_bc(cr, mtop->nmoltype);
- snew_bc(cr, mtop->moltype, mtop->nmoltype);
- for (i = 0; i < mtop->nmoltype; i++)
+ int nmoltype = mtop->moltype.size();
+ block_bc(cr, nmoltype);
+ mtop->moltype.resize(nmoltype);
+ for (gmx_moltype_t &moltype : mtop->moltype)
{
- bc_moltype(cr, &mtop->symtab, &mtop->moltype[i]);
+ bc_moltype(cr, &mtop->symtab, &moltype);
}
block_bc(cr, mtop->bIntermolecularInteractions);
bc_ilists(cr, mtop->intermolecular_ilist);
}
- block_bc(cr, mtop->nmolblock);
- snew_bc(cr, mtop->molblock, mtop->nmolblock);
- for (i = 0; i < mtop->nmolblock; i++)
+ int nmolblock = mtop->molblock.size();
+ block_bc(cr, nmolblock);
+ mtop->molblock.resize(nmolblock);
+ for (gmx_molblock_t &molblock : mtop->molblock)
{
- bc_molblock(cr, &mtop->molblock[i]);
+ bc_molblock(cr, &molblock);
}
block_bc(cr, mtop->natoms);