{
f_thread_t& threadBuffers = *bt->f_t[thread];
int ftype;
- real * epot, v;
+ real v;
/* thread stuff */
rvec* fshift;
gmx::ArrayRef<real> dvdlt;
+ gmx::ArrayRef<real> epot;
gmx_grppairener_t* grpp;
zero_thread_output(&threadBuffers);
wallcycle_sub_stop(wcycle, ewcsLISTED);
wallcycle_sub_start(wcycle, ewcsLISTED_BUF_OPS);
- reduce_thread_output(&forceWithShiftForces, enerd->term, &enerd->grpp, dvdl, bt, stepWork);
+ reduce_thread_output(&forceWithShiftForces, enerd->term.data(), &enerd->grpp, dvdl, bt, stepWork);
if (stepWork.computeDhdl)
{
forceBufferLambda_,
shiftForceBufferLambda_,
&(enerd->foreign_grpp),
- enerd->foreign_term,
+ enerd->foreign_term.data(),
dvdl,
nrnb,
lam_i,
md,
fcdata,
global_atom_index);
- sum_epot(enerd->foreign_grpp, enerd->foreign_term);
+ sum_epot(enerd->foreign_grpp, enerd->foreign_term.data());
const double dvdlSum = std::accumulate(std::begin(dvdl), std::end(dvdl), 0.);
std::fill(std::begin(dvdl), std::end(dvdl), 0.0);
enerd->foreignLambdaTerms.accumulate(i, enerd->foreign_term[F_EPOT], dvdlSum);
void accumulatePotentialEnergies(gmx_enerdata_t* enerd, gmx::ArrayRef<const real> lambda, const t_lambda* fepvals)
{
- sum_epot(enerd->grpp, enerd->term);
+ sum_epot(enerd->grpp, enerd->term.data());
if (fepvals)
{
the sums and overcounting. */
std::array<real, F_NRE> copyenerd;
- int nener = filter_enerdterm(enerd->term, TRUE, copyenerd.data(), bTemp, bPres, bEner);
+ int nener = filter_enerdterm(enerd->term.data(), TRUE, copyenerd.data(), bTemp, bPres, bEner);
/* First, the data that needs to be communicated with velocity verlet every time
This is just the constraint virial.*/
}
}
- filter_enerdterm(copyenerd.data(), FALSE, enerd->term, bTemp, bPres, bEner);
+ filter_enerdterm(copyenerd.data(), FALSE, enerd->term.data(), bTemp, bPres, bEner);
}
if (vcm)
gmx_enerdata_t(int numEnergyGroups, int numFepLambdas);
//! The energies for all different interaction types
- real term[F_NRE] = { 0 };
+ std::array<real, F_NRE> term = { 0 };
//! Energy group pair non-bonded energies
struct gmx_grppairener_t grpp;
//! Contributions to dV/dlambda with linear dependence on lambda
ForeignLambdaTerms foreignLambdaTerms;
//! Alternate, temporary array for storing foreign lambda energies
- real foreign_term[F_NRE] = { 0 };
+ std::array<real, F_NRE> foreign_term = { 0 };
//! Alternate, temporary array for storing foreign lambda group pair energies
struct gmx_grppairener_t foreign_grpp;
};
GMX_CATCH_ALL_AND_EXIT_WITH_FATAL_ERROR
}
- sum_epot(enerd->foreign_grpp, enerd->foreign_term);
+ sum_epot(enerd->foreign_grpp, enerd->foreign_term.data());
enerd->foreignLambdaTerms.accumulate(
i,
enerd->foreign_term[F_EPOT],