FILE *fp_dhdl,
bool isRerun)
{
- const char *ener_nm[F_NRE];
- static const char *vir_nm[] = {
+ const char *ener_nm[F_NRE];
+ static const char *vir_nm[] = {
"Vir-XX", "Vir-XY", "Vir-XZ",
"Vir-YX", "Vir-YY", "Vir-YZ",
"Vir-ZX", "Vir-ZY", "Vir-ZZ"
};
- static const char *sv_nm[] = {
+ static const char *sv_nm[] = {
"ShakeVir-XX", "ShakeVir-XY", "ShakeVir-XZ",
"ShakeVir-YX", "ShakeVir-YY", "ShakeVir-YZ",
"ShakeVir-ZX", "ShakeVir-ZY", "ShakeVir-ZZ"
};
- static const char *fv_nm[] = {
+ static const char *fv_nm[] = {
"ForceVir-XX", "ForceVir-XY", "ForceVir-XZ",
"ForceVir-YX", "ForceVir-YY", "ForceVir-YZ",
"ForceVir-ZX", "ForceVir-ZY", "ForceVir-ZZ"
};
- static const char *pres_nm[] = {
+ static const char *pres_nm[] = {
"Pres-XX", "Pres-XY", "Pres-XZ",
"Pres-YX", "Pres-YY", "Pres-YZ",
"Pres-ZX", "Pres-ZY", "Pres-ZZ"
};
- static const char *surft_nm[] = {
+ static const char *surft_nm[] = {
"#Surf*SurfTen"
};
- static const char *mu_nm[] = {
+ static const char *mu_nm[] = {
"Mu-X", "Mu-Y", "Mu-Z"
};
- static const char *vcos_nm[] = {
+ static const char *vcos_nm[] = {
"2CosZ*Vel-X"
};
- static const char *visc_nm[] = {
+ static const char *visc_nm[] = {
"1/Viscosity"
};
- static const char *baro_nm[] = {
+ static const char *baro_nm[] = {
"Barostat"
};
- const gmx_groups_t *groups;
- char **gnm;
- char buf[256];
- const char *bufi;
- t_mdebin *md;
- int i, j, ni, nj, n, k, kk, ncon, nset;
- gmx_bool bBHAM, b14;
+ const SimulationGroups *groups;
+ char **gnm;
+ char buf[256];
+ const char *bufi;
+ t_mdebin *md;
+ int i, j, ni, nj, n, k, kk, ncon, nset;
+ gmx_bool bBHAM, b14;
snew(md, 1);
md->nEc++;
}
}
-
- n = groups->grps[egcENER].nr;
+ n = groups->groups[SimulationAtomGroupType::EnergyOutput].nr;
md->nEg = n;
md->nE = (n*(n+1))/2;
{
snew(gnm[k], STRLEN);
}
- for (i = 0; (i < groups->grps[egcENER].nr); i++)
+ for (i = 0; (i < groups->groups[SimulationAtomGroupType::EnergyOutput].nr); i++)
{
- ni = groups->grps[egcENER].nm_ind[i];
- for (j = i; (j < groups->grps[egcENER].nr); j++)
+ ni = groups->groups[SimulationAtomGroupType::EnergyOutput].nm_ind[i];
+ for (j = i; (j < groups->groups[SimulationAtomGroupType::EnergyOutput].nr); j++)
{
- nj = groups->grps[egcENER].nm_ind[j];
+ nj = groups->groups[SimulationAtomGroupType::EnergyOutput].nm_ind[j];
for (k = kk = 0; (k < egNR); k++)
{
if (md->bEInd[k])
{
sprintf(gnm[kk], "%s:%s-%s", egrp_nm[k],
- *(groups->grpname[ni]), *(groups->grpname[nj]));
+ *(groups->groupNames[ni]), *(groups->groupNames[nj]));
kk++;
}
}
}
}
- md->nTC = isRerun ? 0 : groups->grps[egcTC].nr;
+ md->nTC = isRerun ? 0 : groups->groups[SimulationAtomGroupType::TemperatureCoupling].nr;
md->nNHC = ir->opts.nhchainlength; /* shorthand for number of NH chains */
if (md->bMTTK)
{
for (i = 0; (i < md->nTC); i++)
{
- ni = groups->grps[egcTC].nm_ind[i];
- sprintf(buf, "T-%s", *(groups->grpname[ni]));
+ ni = groups->groups[SimulationAtomGroupType::TemperatureCoupling].nm_ind[i];
+ sprintf(buf, "T-%s", *(groups->groupNames[ni]));
grpnms[i] = gmx_strdup(buf);
}
md->itemp = get_ebin_space(md->ebin, md->nTC, grpnms,
{
for (i = 0; (i < md->nTC); i++)
{
- ni = groups->grps[egcTC].nm_ind[i];
- bufi = *(groups->grpname[ni]);
+ ni = groups->groups[SimulationAtomGroupType::TemperatureCoupling].nm_ind[i];
+ bufi = *(groups->groupNames[ni]);
for (j = 0; (j < md->nNHC); j++)
{
sprintf(buf, "Xi-%d-%s", j, bufi);
{
for (i = 0; (i < md->nTC); i++)
{
- ni = groups->grps[egcTC].nm_ind[i];
- bufi = *(groups->grpname[ni]);
+ ni = groups->groups[SimulationAtomGroupType::TemperatureCoupling].nm_ind[i];
+ bufi = *(groups->groupNames[ni]);
sprintf(buf, "Xi-%s", bufi);
grpnms[2*i] = gmx_strdup(buf);
sprintf(buf, "vXi-%s", bufi);
{
for (i = 0; (i < md->nTC); i++)
{
- ni = groups->grps[egcTC].nm_ind[i];
- sprintf(buf, "Lamb-%s", *(groups->grpname[ni]));
+ ni = groups->groups[SimulationAtomGroupType::TemperatureCoupling].nm_ind[i];
+ sprintf(buf, "Lamb-%s", *(groups->groupNames[ni]));
grpnms[i] = gmx_strdup(buf);
}
md->itc = get_ebin_space(md->ebin, md->mde_n, grpnms, "");
}
sfree(grpnms);
- md->nU = groups->grps[egcACC].nr;
+ md->nU = groups->groups[SimulationAtomGroupType::Acceleration].nr;
if (md->nU > 1)
{
snew(grpnms, 3*md->nU);
for (i = 0; (i < md->nU); i++)
{
- ni = groups->grps[egcACC].nm_ind[i];
- sprintf(buf, "Ux-%s", *(groups->grpname[ni]));
+ ni = groups->groups[SimulationAtomGroupType::Acceleration].nm_ind[i];
+ sprintf(buf, "Ux-%s", *(groups->groupNames[ni]));
grpnms[3*i+XX] = gmx_strdup(buf);
- sprintf(buf, "Uy-%s", *(groups->grpname[ni]));
+ sprintf(buf, "Uy-%s", *(groups->groupNames[ni]));
grpnms[3*i+YY] = gmx_strdup(buf);
- sprintf(buf, "Uz-%s", *(groups->grpname[ni]));
+ sprintf(buf, "Uz-%s", *(groups->groupNames[ni]));
grpnms[3*i+ZZ] = gmx_strdup(buf);
}
md->iu = get_ebin_space(md->ebin, 3*md->nU, grpnms, unit_vel);
int64_t step, double time,
int mode,
t_mdebin *md, t_fcdata *fcd,
- gmx_groups_t *groups, t_grpopts *opts,
+ SimulationGroups *groups, t_grpopts *opts,
gmx::Awh *awh)
{
/*static char **grpnms=NULL;*/
if (opts->annealing[i] != eannNO)
{
fprintf(log, "Current ref_t for group %s: %8.1f\n",
- *(groups->grpname[groups->grps[egcTC].nm_ind[i]]),
+ *(groups->groupNames[groups->groups[SimulationAtomGroupType::TemperatureCoupling].nm_ind[i]]),
opts->ref_t[i]);
}
}
n = 0;
for (i = 0; (i < md->nEg); i++)
{
- ni = groups->grps[egcENER].nm_ind[i];
+ ni = groups->groups[SimulationAtomGroupType::EnergyOutput].nm_ind[i];
for (j = i; (j < md->nEg); j++)
{
- nj = groups->grps[egcENER].nm_ind[j];
- sprintf(buf, "%s-%s", *(groups->grpname[ni]),
- *(groups->grpname[nj]));
+ nj = groups->groups[SimulationAtomGroupType::EnergyOutput].nm_ind[j];
+ sprintf(buf, "%s-%s", *(groups->groupNames[ni]),
+ *(groups->groupNames[nj]));
md->print_grpnms[n++] = gmx_strdup(buf);
}
}
"Group", "Ux", "Uy", "Uz");
for (i = 0; (i < md->nU); i++)
{
- ni = groups->grps[egcACC].nm_ind[i];
- fprintf(log, "%15s", *groups->grpname[ni]);
+ ni = groups->groups[SimulationAtomGroupType::Acceleration].nm_ind[i];
+ fprintf(log, "%15s", *groups->groupNames[ni]);
pr_ebin(log, md->ebin, md->iu+3*i, 3, 3, mode, FALSE);
}
fprintf(log, "\n");
int64_t step, double time,
int mode,
t_fcdata *fcd,
- gmx_groups_t *groups, t_grpopts *opts,
+ SimulationGroups *groups, t_grpopts *opts,
gmx::Awh *awh)
{
print_ebin(fp_ene, bEne, bDR, bOR, log, step, time, mode,