Unverified Commit f2bdcc75 authored by bdenhollander's avatar bdenhollander Committed by GitHub
Browse files

Amoeba and ATM Force minor cleanup (#4195)

* Amoeba minor cleanup

- Fix variable name in string
- Remove odd space between variable and period that is inconsistently styled

* Replaces random tabs with spaces in ATM Force
parent 065e34ab
...@@ -7812,19 +7812,19 @@ private: ...@@ -7812,19 +7812,19 @@ private:
class CommonCalcATMForceKernel::ReorderListener : public ComputeContext::ReorderListener { class CommonCalcATMForceKernel::ReorderListener : public ComputeContext::ReorderListener {
public: public:
ReorderListener(ComputeContext& cc, vector<mm_float4>& displVector1, ArrayInterface& displ1, ReorderListener(ComputeContext& cc, vector<mm_float4>& displVector1, ArrayInterface& displ1,
vector<mm_float4>& displVector0, ArrayInterface& displ0) : vector<mm_float4>& displVector0, ArrayInterface& displ0) :
cc(cc), displVector1(displVector1), displ1(displ1), displVector0(displVector0), displ0(displ0) { cc(cc), displVector1(displVector1), displ1(displ1), displVector0(displVector0), displ0(displ0) {
} }
void execute() { void execute() {
const vector<int>& id = cc.getAtomIndex(); const vector<int>& id = cc.getAtomIndex();
vector<mm_float4> newDisplVectorContext1(cc.getPaddedNumAtoms()); vector<mm_float4> newDisplVectorContext1(cc.getPaddedNumAtoms());
vector<mm_float4> newDisplVectorContext0(cc.getPaddedNumAtoms()); vector<mm_float4> newDisplVectorContext0(cc.getPaddedNumAtoms());
for (int i = 0; i < cc.getNumAtoms(); i++) { for (int i = 0; i < cc.getNumAtoms(); i++) {
newDisplVectorContext1[i] = displVector1[id[i]]; newDisplVectorContext1[i] = displVector1[id[i]];
newDisplVectorContext0[i] = displVector0[id[i]]; newDisplVectorContext0[i] = displVector0[id[i]];
} }
displ1.upload(newDisplVectorContext1); displ1.upload(newDisplVectorContext1);
displ0.upload(newDisplVectorContext0); displ0.upload(newDisplVectorContext0);
} }
private: private:
ComputeContext& cc; ComputeContext& cc;
...@@ -7890,7 +7890,7 @@ void CommonCalcATMForceKernel::initKernels(ContextImpl& context, ContextImpl& in ...@@ -7890,7 +7890,7 @@ void CommonCalcATMForceKernel::initKernels(ContextImpl& context, ContextImpl& in
copyStateKernel->addArg(cc0.getPosq()); copyStateKernel->addArg(cc0.getPosq());
copyStateKernel->addArg(cc1.getPosq()); copyStateKernel->addArg(cc1.getPosq());
copyStateKernel->addArg(displ0); copyStateKernel->addArg(displ0);
copyStateKernel->addArg(displ1); copyStateKernel->addArg(displ1);
if (cc.getUseMixedPrecision()) { if (cc.getUseMixedPrecision()) {
copyStateKernel->addArg(cc.getPosqCorrection()); copyStateKernel->addArg(cc.getPosqCorrection());
copyStateKernel->addArg(cc0.getPosqCorrection()); copyStateKernel->addArg(cc0.getPosqCorrection());
...@@ -7969,7 +7969,7 @@ void CommonCalcATMForceKernel::copyParametersToContext(ContextImpl& context, con ...@@ -7969,7 +7969,7 @@ void CommonCalcATMForceKernel::copyParametersToContext(ContextImpl& context, con
vector<mm_float4> displVectorContext0(cc.getPaddedNumAtoms(), mm_float4(0, 0, 0, 0)); vector<mm_float4> displVectorContext0(cc.getPaddedNumAtoms(), mm_float4(0, 0, 0, 0));
for (int i = 0; i < numParticles; i++) { for (int i = 0; i < numParticles; i++) {
displVectorContext1[i] = displVector1[id[i]]; displVectorContext1[i] = displVector1[id[i]];
displVectorContext0[i] = displVector0[id[i]]; displVectorContext0[i] = displVector0[id[i]];
} }
displ1.upload(displVectorContext1); displ1.upload(displVectorContext1);
displ0.upload(displVectorContext0); displ0.upload(displVectorContext0);
......
...@@ -2969,7 +2969,7 @@ void ReferenceCalcATMForceKernel::initialize(const System& system, const ATMForc ...@@ -2969,7 +2969,7 @@ void ReferenceCalcATMForceKernel::initialize(const System& system, const ATMForc
Vec3 displacement1, displacement0; Vec3 displacement1, displacement0;
force.getParticleParameters(i, displacement1, displacement0 ); force.getParticleParameters(i, displacement1, displacement0 );
displ1[i] = displacement1; displ1[i] = displacement1;
displ0[i] = displacement0; displ0[i] = displacement0;
} }
} }
...@@ -3029,6 +3029,6 @@ void ReferenceCalcATMForceKernel::copyParametersToContext(ContextImpl& context, ...@@ -3029,6 +3029,6 @@ void ReferenceCalcATMForceKernel::copyParametersToContext(ContextImpl& context,
Vec3 displacement1, displacement0; Vec3 displacement1, displacement0;
force.getParticleParameters(i, displacement1, displacement0 ); force.getParticleParameters(i, displacement1, displacement0 );
displ1[i] = displacement1; displ1[i] = displacement1;
displ0[i] = displacement0; displ0[i] = displacement0;
} }
} }
...@@ -299,7 +299,7 @@ void CommonCalcAmoebaMultipoleForceKernel::initialize(const System& system, cons ...@@ -299,7 +299,7 @@ void CommonCalcAmoebaMultipoleForceKernel::initialize(const System& system, cons
prevDipolesPolar.initialize(cc, 3*numMultipoles*MaxPrevDIISDipoles, elementSize, "prevDipolesPolar"); prevDipolesPolar.initialize(cc, 3*numMultipoles*MaxPrevDIISDipoles, elementSize, "prevDipolesPolar");
prevErrors.initialize(cc, 3*numMultipoles*MaxPrevDIISDipoles, elementSize, "prevErrors"); prevErrors.initialize(cc, 3*numMultipoles*MaxPrevDIISDipoles, elementSize, "prevErrors");
diisMatrix.initialize(cc, MaxPrevDIISDipoles*MaxPrevDIISDipoles, elementSize, "diisMatrix"); diisMatrix.initialize(cc, MaxPrevDIISDipoles*MaxPrevDIISDipoles, elementSize, "diisMatrix");
diisCoefficients.initialize(cc, MaxPrevDIISDipoles+1, sizeof(float), "diisMatrix"); diisCoefficients.initialize(cc, MaxPrevDIISDipoles+1, sizeof(float), "diisCoefficients");
syncEvent = cc.createEvent(); syncEvent = cc.createEvent();
hasCreatedEvent = true; hasCreatedEvent = true;
} }
...@@ -1748,16 +1748,16 @@ void CommonCalcAmoebaGeneralizedKirkwoodForceKernel::initialize(const System& sy ...@@ -1748,16 +1748,16 @@ void CommonCalcAmoebaGeneralizedKirkwoodForceKernel::initialize(const System& sy
int paddedNumAtoms = cc.getPaddedNumAtoms(); int paddedNumAtoms = cc.getPaddedNumAtoms();
int elementSize = (cc.getUseDoublePrecision() ? sizeof(double) : sizeof(float)); int elementSize = (cc.getUseDoublePrecision() ? sizeof(double) : sizeof(float));
params.initialize<mm_float2>(cc, paddedNumAtoms, "amoebaGkParams"); params.initialize<mm_float2>(cc, paddedNumAtoms, "amoebaGkParams");
bornRadii .initialize(cc, paddedNumAtoms, elementSize, "bornRadii"); bornRadii.initialize(cc, paddedNumAtoms, elementSize, "bornRadii");
field .initialize(cc, 3*paddedNumAtoms, sizeof(long long), "gkField"); field.initialize(cc, 3*paddedNumAtoms, sizeof(long long), "gkField");
bornSum.initialize<long long>(cc, paddedNumAtoms, "bornSum"); bornSum.initialize<long long>(cc, paddedNumAtoms, "bornSum");
bornForce.initialize<long long>(cc, paddedNumAtoms, "bornForce"); bornForce.initialize<long long>(cc, paddedNumAtoms, "bornForce");
inducedDipoleS .initialize(cc, 3*paddedNumAtoms, elementSize, "inducedDipoleS"); inducedDipoleS.initialize(cc, 3*paddedNumAtoms, elementSize, "inducedDipoleS");
inducedDipolePolarS .initialize(cc, 3*paddedNumAtoms, elementSize, "inducedDipolePolarS"); inducedDipolePolarS.initialize(cc, 3*paddedNumAtoms, elementSize, "inducedDipolePolarS");
polarizationType = multipoles->getPolarizationType(); polarizationType = multipoles->getPolarizationType();
if (polarizationType != AmoebaMultipoleForce::Direct) { if (polarizationType != AmoebaMultipoleForce::Direct) {
inducedField .initialize(cc, 3*paddedNumAtoms, sizeof(long long), "gkInducedField"); inducedField.initialize(cc, 3*paddedNumAtoms, sizeof(long long), "gkInducedField");
inducedFieldPolar .initialize(cc, 3*paddedNumAtoms, sizeof(long long), "gkInducedFieldPolar"); inducedFieldPolar.initialize(cc, 3*paddedNumAtoms, sizeof(long long), "gkInducedFieldPolar");
} }
cc.addAutoclearBuffer(field); cc.addAutoclearBuffer(field);
cc.addAutoclearBuffer(bornSum); cc.addAutoclearBuffer(bornSum);
......
...@@ -95,14 +95,14 @@ void test2Particles() { ...@@ -95,14 +95,14 @@ void test2Particles() {
double epot = state.getPotentialEnergy(); double epot = state.getPotentialEnergy();
double u0, u1, energy; double u0, u1, energy;
atm->getPerturbationEnergy(context, u1, u0, energy); atm->getPerturbationEnergy(context, u1, u0, energy);
double epert = u1 - u0; double epert = u1 - u0;
ASSERT_EQUAL_TOL(lm, context.getParameter(atm->Lambda1()), 1e-6); ASSERT_EQUAL_TOL(lm, context.getParameter(atm->Lambda1()), 1e-6);
ASSERT_EQUAL_TOL(lm, context.getParameter(atm->Lambda2()), 1e-6); ASSERT_EQUAL_TOL(lm, context.getParameter(atm->Lambda2()), 1e-6);
ASSERT_EQUAL_TOL(energy, epot, 1e-6); ASSERT_EQUAL_TOL(energy, epot, 1e-6);
ASSERT_EQUAL_TOL(lm*0.5*displ[0]*displ[0], epot, 1e-6); ASSERT_EQUAL_TOL(lm*0.5*displ[0]*displ[0], epot, 1e-6);
ASSERT_EQUAL_TOL(0.0, u0, 1e-6); ASSERT_EQUAL_TOL(0.0, u0, 1e-6);
ASSERT_EQUAL_TOL(0.5*displ[0]*displ[0], u1, 1e-6); ASSERT_EQUAL_TOL(0.5*displ[0]*displ[0], u1, 1e-6);
ASSERT_EQUAL_TOL(0.5*displ[0]*displ[0], epert, 1e-6); ASSERT_EQUAL_TOL(0.5*displ[0]*displ[0], epert, 1e-6);
ASSERT_EQUAL_VEC(Vec3(-lm*displ[0], 0.0, 0.0), state.getForces()[1], 1e-6); ASSERT_EQUAL_VEC(Vec3(-lm*displ[0], 0.0, 0.0), state.getForces()[1], 1e-6);
ASSERT_EQUAL_TOL(0.0, state.getEnergyParameterDerivatives().at(ATMForce::Lambda1()), 1e-6); ASSERT_EQUAL_TOL(0.0, state.getEnergyParameterDerivatives().at(ATMForce::Lambda1()), 1e-6);
ASSERT_EQUAL_TOL(0.5*displ[0]*displ[0], state.getEnergyParameterDerivatives().at(ATMForce::Lambda2()), 1e-6); ASSERT_EQUAL_TOL(0.5*displ[0]*displ[0], state.getEnergyParameterDerivatives().at(ATMForce::Lambda2()), 1e-6);
...@@ -518,11 +518,11 @@ int main(int argc, char* argv[]) { ...@@ -518,11 +518,11 @@ int main(int argc, char* argv[]) {
try { try {
initializeTests(argc, argv); initializeTests(argc, argv);
test2Particles(); test2Particles();
test2Particles2Displacement0(); test2Particles2Displacement0();
test2ParticlesSoftCore(); test2ParticlesSoftCore();
test2ParticlesNonbonded(); test2ParticlesNonbonded();
testParticlesCustomExpressionLinear(); testParticlesCustomExpressionLinear();
testParticlesCustomExpressionSoftplus(); testParticlesCustomExpressionSoftplus();
testLargeSystem(); testLargeSystem();
testMolecules(); testMolecules();
testSimulation(); testSimulation();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment