forces = std::vector<gmx::RVec>(3, gmx::RVec{ 0, 0, 0 });
box.reset(new Box(3, 3, 3));
- pbc.reset(new PbcHolder(*box));
+ pbc.reset(new PbcHolder(PbcType::Xyz, *box));
}
std::vector<gmx::RVec> x;
TEST_F(ListedExampleData, ComputeHarmonicBondForces)
{
- auto indices = pickType<HarmonicBondType>(interactions).indices;
- auto bonds = pickType<HarmonicBondType>(interactions).parameters;
+ gmx::ArrayRef<const InteractionIndex<HarmonicBondType>> indices =
+ pickType<HarmonicBondType>(interactions).indices;
+ gmx::ArrayRef<const HarmonicBondType> bonds = pickType<HarmonicBondType>(interactions).parameters;
computeForces(indices, bonds, x, &forces, *pbc);
RefDataChecker vector3DTest(1e-3);
TEST_F(ListedExampleData, ComputeHarmonicBondEnergies)
{
- auto indices = pickType<HarmonicBondType>(interactions).indices;
- auto bonds = pickType<HarmonicBondType>(interactions).parameters;
- real energy = computeForces(indices, bonds, x, &forces, *pbc);
+ gmx::ArrayRef<const InteractionIndex<HarmonicBondType>> indices =
+ pickType<HarmonicBondType>(interactions).indices;
+ gmx::ArrayRef<const HarmonicBondType> bonds = pickType<HarmonicBondType>(interactions).parameters;
+ real energy = computeForces(indices, bonds, x, &forces, *pbc);
RefDataChecker vector3DTest(1e-4);
vector3DTest.testReal(energy, "Bond energy");
TEST_F(ListedExampleData, ComputeHarmonicAngleForces)
{
- auto indices = pickType<HarmonicAngle>(interactions).indices;
- auto angles = pickType<HarmonicAngle>(interactions).parameters;
+ gmx::ArrayRef<const InteractionIndex<HarmonicAngle>> indices =
+ pickType<HarmonicAngle>(interactions).indices;
+ gmx::ArrayRef<const HarmonicAngle> angles = pickType<HarmonicAngle>(interactions).parameters;
computeForces(indices, angles, x, &forces, *pbc);
RefDataChecker vector3DTest(1e-4);