Commit 0307a0db authored by Yutong Zhao's avatar Yutong Zhao
Browse files

Context constructor now uses const System&, guaranteeing that System won't be modified.

parent 19757775
...@@ -41,7 +41,7 @@ using std::vector; ...@@ -41,7 +41,7 @@ using std::vector;
bool AmoebaMultipoleForceImpl::initializedCovalentDegrees = false; bool AmoebaMultipoleForceImpl::initializedCovalentDegrees = false;
int AmoebaMultipoleForceImpl::CovalentDegrees[] = { 1,2,3,4,0,1,2,3}; int AmoebaMultipoleForceImpl::CovalentDegrees[] = { 1,2,3,4,0,1,2,3};
AmoebaMultipoleForceImpl::AmoebaMultipoleForceImpl(AmoebaMultipoleForce& owner) : owner(owner) { AmoebaMultipoleForceImpl::AmoebaMultipoleForceImpl(const AmoebaMultipoleForce& owner) : owner(owner) {
} }
AmoebaMultipoleForceImpl::~AmoebaMultipoleForceImpl() { AmoebaMultipoleForceImpl::~AmoebaMultipoleForceImpl() {
...@@ -49,7 +49,7 @@ AmoebaMultipoleForceImpl::~AmoebaMultipoleForceImpl() { ...@@ -49,7 +49,7 @@ AmoebaMultipoleForceImpl::~AmoebaMultipoleForceImpl() {
void AmoebaMultipoleForceImpl::initialize(ContextImpl& context) { void AmoebaMultipoleForceImpl::initialize(ContextImpl& context) {
System& system = context.getSystem(); const System& system = context.getSystem();
if (owner.getNumMultipoles() != system.getNumParticles()) if (owner.getNumMultipoles() != system.getNumParticles())
throw OpenMMException("AmoebaMultipoleForce must have exactly as many particles as the System it belongs to."); throw OpenMMException("AmoebaMultipoleForce must have exactly as many particles as the System it belongs to.");
......
...@@ -99,7 +99,7 @@ void AmoebaOutOfPlaneBendForce::setOutOfPlaneBendParameters(int index, int parti ...@@ -99,7 +99,7 @@ void AmoebaOutOfPlaneBendForce::setOutOfPlaneBendParameters(int index, int parti
outOfPlaneBends[index].k = k; outOfPlaneBends[index].k = k;
} }
ForceImpl* AmoebaOutOfPlaneBendForce::createImpl() { ForceImpl* AmoebaOutOfPlaneBendForce::createImpl() const {
return new AmoebaOutOfPlaneBendForceImpl(*this); return new AmoebaOutOfPlaneBendForceImpl(*this);
} }
......
...@@ -39,7 +39,7 @@ using std::pair; ...@@ -39,7 +39,7 @@ using std::pair;
using std::vector; using std::vector;
using std::set; using std::set;
AmoebaOutOfPlaneBendForceImpl::AmoebaOutOfPlaneBendForceImpl(AmoebaOutOfPlaneBendForce& owner) : owner(owner) { AmoebaOutOfPlaneBendForceImpl::AmoebaOutOfPlaneBendForceImpl(const AmoebaOutOfPlaneBendForce& owner) : owner(owner) {
} }
AmoebaOutOfPlaneBendForceImpl::~AmoebaOutOfPlaneBendForceImpl() { AmoebaOutOfPlaneBendForceImpl::~AmoebaOutOfPlaneBendForceImpl() {
......
...@@ -64,7 +64,7 @@ void AmoebaPiTorsionForce::setPiTorsionParameters(int index, int particle1, int ...@@ -64,7 +64,7 @@ void AmoebaPiTorsionForce::setPiTorsionParameters(int index, int particle1, int
piTorsions[index].k = k; piTorsions[index].k = k;
} }
ForceImpl* AmoebaPiTorsionForce::createImpl() { ForceImpl* AmoebaPiTorsionForce::createImpl() const {
return new AmoebaPiTorsionForceImpl(*this); return new AmoebaPiTorsionForceImpl(*this);
} }
......
...@@ -39,7 +39,7 @@ using std::pair; ...@@ -39,7 +39,7 @@ using std::pair;
using std::vector; using std::vector;
using std::set; using std::set;
AmoebaPiTorsionForceImpl::AmoebaPiTorsionForceImpl(AmoebaPiTorsionForce& owner) : owner(owner) { AmoebaPiTorsionForceImpl::AmoebaPiTorsionForceImpl(const AmoebaPiTorsionForce& owner) : owner(owner) {
} }
AmoebaPiTorsionForceImpl::~AmoebaPiTorsionForceImpl() { AmoebaPiTorsionForceImpl::~AmoebaPiTorsionForceImpl() {
......
...@@ -67,7 +67,7 @@ void AmoebaStretchBendForce::setStretchBendParameters(int index, int particle1, ...@@ -67,7 +67,7 @@ void AmoebaStretchBendForce::setStretchBendParameters(int index, int particle1,
stretchBends[index].k = k; stretchBends[index].k = k;
} }
ForceImpl* AmoebaStretchBendForce::createImpl() { ForceImpl* AmoebaStretchBendForce::createImpl() const {
return new AmoebaStretchBendForceImpl(*this); return new AmoebaStretchBendForceImpl(*this);
} }
......
...@@ -39,7 +39,7 @@ using std::pair; ...@@ -39,7 +39,7 @@ using std::pair;
using std::vector; using std::vector;
using std::set; using std::set;
AmoebaStretchBendForceImpl::AmoebaStretchBendForceImpl(AmoebaStretchBendForce& owner) : owner(owner) { AmoebaStretchBendForceImpl::AmoebaStretchBendForceImpl(const AmoebaStretchBendForce& owner) : owner(owner) {
} }
AmoebaStretchBendForceImpl::~AmoebaStretchBendForceImpl() { AmoebaStretchBendForceImpl::~AmoebaStretchBendForceImpl() {
......
...@@ -79,6 +79,6 @@ void AmoebaTorsionTorsionForce::setTorsionTorsionGrid(int index, const TorsionTo ...@@ -79,6 +79,6 @@ void AmoebaTorsionTorsionForce::setTorsionTorsionGrid(int index, const TorsionTo
torsionTorsionGrids[index] = grid; torsionTorsionGrids[index] = grid;
} }
ForceImpl* AmoebaTorsionTorsionForce::createImpl() { ForceImpl* AmoebaTorsionTorsionForce::createImpl() const {
return new AmoebaTorsionTorsionForceImpl(*this); return new AmoebaTorsionTorsionForceImpl(*this);
} }
...@@ -40,7 +40,7 @@ using std::pair; ...@@ -40,7 +40,7 @@ using std::pair;
using std::vector; using std::vector;
using std::set; using std::set;
AmoebaTorsionTorsionForceImpl::AmoebaTorsionTorsionForceImpl(AmoebaTorsionTorsionForce& owner) : owner(owner) { AmoebaTorsionTorsionForceImpl::AmoebaTorsionTorsionForceImpl(const AmoebaTorsionTorsionForce& owner) : owner(owner) {
} }
AmoebaTorsionTorsionForceImpl::~AmoebaTorsionTorsionForceImpl() { AmoebaTorsionTorsionForceImpl::~AmoebaTorsionTorsionForceImpl() {
......
...@@ -118,7 +118,7 @@ void AmoebaVdwForce::setNonbondedMethod(NonbondedMethod method) { ...@@ -118,7 +118,7 @@ void AmoebaVdwForce::setNonbondedMethod(NonbondedMethod method) {
nonbondedMethod = method; nonbondedMethod = method;
} }
ForceImpl* AmoebaVdwForce::createImpl() { ForceImpl* AmoebaVdwForce::createImpl() const {
return new AmoebaVdwForceImpl(*this); return new AmoebaVdwForceImpl(*this);
} }
......
...@@ -45,14 +45,14 @@ using std::pair; ...@@ -45,14 +45,14 @@ using std::pair;
using std::vector; using std::vector;
using std::set; using std::set;
AmoebaVdwForceImpl::AmoebaVdwForceImpl(AmoebaVdwForce& owner) : owner(owner) { AmoebaVdwForceImpl::AmoebaVdwForceImpl(const AmoebaVdwForce& owner) : owner(owner) {
} }
AmoebaVdwForceImpl::~AmoebaVdwForceImpl() { AmoebaVdwForceImpl::~AmoebaVdwForceImpl() {
} }
void AmoebaVdwForceImpl::initialize(ContextImpl& context) { void AmoebaVdwForceImpl::initialize(ContextImpl& context) {
System& system = context.getSystem(); const System& system = context.getSystem();
if (owner.getNumParticles() != system.getNumParticles()) if (owner.getNumParticles() != system.getNumParticles())
throw OpenMMException("AmoebaVdwForce must have exactly as many particles as the System it belongs to."); throw OpenMMException("AmoebaVdwForce must have exactly as many particles as the System it belongs to.");
......
...@@ -127,7 +127,7 @@ void AmoebaWcaDispersionForce::setSlevy( double inputSlevy ){ ...@@ -127,7 +127,7 @@ void AmoebaWcaDispersionForce::setSlevy( double inputSlevy ){
slevy = inputSlevy; slevy = inputSlevy;
} }
ForceImpl* AmoebaWcaDispersionForce::createImpl() { ForceImpl* AmoebaWcaDispersionForce::createImpl() const {
return new AmoebaWcaDispersionForceImpl(*this); return new AmoebaWcaDispersionForceImpl(*this);
} }
......
...@@ -40,7 +40,7 @@ using std::pair; ...@@ -40,7 +40,7 @@ using std::pair;
using std::vector; using std::vector;
using std::set; using std::set;
AmoebaWcaDispersionForceImpl::AmoebaWcaDispersionForceImpl(AmoebaWcaDispersionForce& owner) : owner(owner) { AmoebaWcaDispersionForceImpl::AmoebaWcaDispersionForceImpl(const AmoebaWcaDispersionForce& owner) : owner(owner) {
} }
AmoebaWcaDispersionForceImpl::~AmoebaWcaDispersionForceImpl() { AmoebaWcaDispersionForceImpl::~AmoebaWcaDispersionForceImpl() {
...@@ -48,7 +48,7 @@ AmoebaWcaDispersionForceImpl::~AmoebaWcaDispersionForceImpl() { ...@@ -48,7 +48,7 @@ AmoebaWcaDispersionForceImpl::~AmoebaWcaDispersionForceImpl() {
void AmoebaWcaDispersionForceImpl::initialize(ContextImpl& context) { void AmoebaWcaDispersionForceImpl::initialize(ContextImpl& context) {
System& system = context.getSystem(); const System& system = context.getSystem();
if (owner.getNumParticles() != system.getNumParticles()) if (owner.getNumParticles() != system.getNumParticles())
throw OpenMMException("AmoebaWcaDispersionForce must have exactly as many particles as the System it belongs to."); throw OpenMMException("AmoebaWcaDispersionForce must have exactly as many particles as the System it belongs to.");
......
...@@ -87,7 +87,7 @@ private: ...@@ -87,7 +87,7 @@ private:
const AmoebaBondForce& force; const AmoebaBondForce& force;
}; };
CudaCalcAmoebaBondForceKernel::CudaCalcAmoebaBondForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system) : CudaCalcAmoebaBondForceKernel::CudaCalcAmoebaBondForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system) :
CalcAmoebaBondForceKernel(name, platform), cu(cu), system(system), params(NULL) { CalcAmoebaBondForceKernel(name, platform), cu(cu), system(system), params(NULL) {
} }
...@@ -184,7 +184,7 @@ private: ...@@ -184,7 +184,7 @@ private:
const AmoebaAngleForce& force; const AmoebaAngleForce& force;
}; };
CudaCalcAmoebaAngleForceKernel::CudaCalcAmoebaAngleForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system) : CudaCalcAmoebaAngleForceKernel::CudaCalcAmoebaAngleForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system) :
CalcAmoebaAngleForceKernel(name, platform), cu(cu), system(system), params(NULL) { CalcAmoebaAngleForceKernel(name, platform), cu(cu), system(system), params(NULL) {
} }
...@@ -285,7 +285,7 @@ private: ...@@ -285,7 +285,7 @@ private:
const AmoebaInPlaneAngleForce& force; const AmoebaInPlaneAngleForce& force;
}; };
CudaCalcAmoebaInPlaneAngleForceKernel::CudaCalcAmoebaInPlaneAngleForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system) : CudaCalcAmoebaInPlaneAngleForceKernel::CudaCalcAmoebaInPlaneAngleForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system) :
CalcAmoebaInPlaneAngleForceKernel(name, platform), cu(cu), system(system), params(NULL) { CalcAmoebaInPlaneAngleForceKernel(name, platform), cu(cu), system(system), params(NULL) {
} }
...@@ -387,7 +387,7 @@ private: ...@@ -387,7 +387,7 @@ private:
const AmoebaPiTorsionForce& force; const AmoebaPiTorsionForce& force;
}; };
CudaCalcAmoebaPiTorsionForceKernel::CudaCalcAmoebaPiTorsionForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system) : CudaCalcAmoebaPiTorsionForceKernel::CudaCalcAmoebaPiTorsionForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system) :
CalcAmoebaPiTorsionForceKernel(name, platform), cu(cu), system(system), params(NULL) { CalcAmoebaPiTorsionForceKernel(name, platform), cu(cu), system(system), params(NULL) {
} }
...@@ -481,7 +481,7 @@ private: ...@@ -481,7 +481,7 @@ private:
const AmoebaStretchBendForce& force; const AmoebaStretchBendForce& force;
}; };
CudaCalcAmoebaStretchBendForceKernel::CudaCalcAmoebaStretchBendForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system) : CudaCalcAmoebaStretchBendForceKernel::CudaCalcAmoebaStretchBendForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system) :
CalcAmoebaStretchBendForceKernel(name, platform), cu(cu), system(system), params(NULL) { CalcAmoebaStretchBendForceKernel(name, platform), cu(cu), system(system), params(NULL) {
} }
...@@ -577,7 +577,7 @@ private: ...@@ -577,7 +577,7 @@ private:
const AmoebaOutOfPlaneBendForce& force; const AmoebaOutOfPlaneBendForce& force;
}; };
CudaCalcAmoebaOutOfPlaneBendForceKernel::CudaCalcAmoebaOutOfPlaneBendForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system) : CudaCalcAmoebaOutOfPlaneBendForceKernel::CudaCalcAmoebaOutOfPlaneBendForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system) :
CalcAmoebaOutOfPlaneBendForceKernel(name, platform), cu(cu), system(system), params(NULL) { CalcAmoebaOutOfPlaneBendForceKernel(name, platform), cu(cu), system(system), params(NULL) {
} }
...@@ -677,7 +677,7 @@ private: ...@@ -677,7 +677,7 @@ private:
const AmoebaTorsionTorsionForce& force; const AmoebaTorsionTorsionForce& force;
}; };
CudaCalcAmoebaTorsionTorsionForceKernel::CudaCalcAmoebaTorsionTorsionForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system) : CudaCalcAmoebaTorsionTorsionForceKernel::CudaCalcAmoebaTorsionTorsionForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system) :
CalcAmoebaTorsionTorsionForceKernel(name, platform), cu(cu), system(system), gridValues(NULL), gridParams(NULL), torsionParams(NULL) { CalcAmoebaTorsionTorsionForceKernel(name, platform), cu(cu), system(system), gridValues(NULL), gridParams(NULL), torsionParams(NULL) {
} }
...@@ -782,7 +782,7 @@ private: ...@@ -782,7 +782,7 @@ private:
const AmoebaMultipoleForce& force; const AmoebaMultipoleForce& force;
}; };
CudaCalcAmoebaMultipoleForceKernel::CudaCalcAmoebaMultipoleForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system) : CudaCalcAmoebaMultipoleForceKernel::CudaCalcAmoebaMultipoleForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system) :
CalcAmoebaMultipoleForceKernel(name, platform), cu(cu), system(system), hasInitializedScaleFactors(false), hasInitializedFFT(false), CalcAmoebaMultipoleForceKernel(name, platform), cu(cu), system(system), hasInitializedScaleFactors(false), hasInitializedFFT(false),
multipoleParticles(NULL), molecularDipoles(NULL), molecularQuadrupoles(NULL), labFrameDipoles(NULL), labFrameQuadrupoles(NULL), multipoleParticles(NULL), molecularDipoles(NULL), molecularQuadrupoles(NULL), labFrameDipoles(NULL), labFrameQuadrupoles(NULL),
field(NULL), fieldPolar(NULL), inducedField(NULL), inducedFieldPolar(NULL), torque(NULL), dampingAndThole(NULL), field(NULL), fieldPolar(NULL), inducedField(NULL), inducedFieldPolar(NULL), torque(NULL), dampingAndThole(NULL),
...@@ -1821,7 +1821,7 @@ private: ...@@ -1821,7 +1821,7 @@ private:
const AmoebaGeneralizedKirkwoodForce& force; const AmoebaGeneralizedKirkwoodForce& force;
}; };
CudaCalcAmoebaGeneralizedKirkwoodForceKernel::CudaCalcAmoebaGeneralizedKirkwoodForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system) : CudaCalcAmoebaGeneralizedKirkwoodForceKernel::CudaCalcAmoebaGeneralizedKirkwoodForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system) :
CalcAmoebaGeneralizedKirkwoodForceKernel(name, platform), cu(cu), system(system), hasInitializedKernels(false), params(NULL), bornRadii(NULL), field(NULL), CalcAmoebaGeneralizedKirkwoodForceKernel(name, platform), cu(cu), system(system), hasInitializedKernels(false), params(NULL), bornRadii(NULL), field(NULL),
inducedField(NULL), inducedFieldPolar(NULL), inducedDipoleS(NULL), inducedDipolePolarS(NULL), bornSum(NULL), bornForce(NULL) { inducedField(NULL), inducedFieldPolar(NULL), inducedDipoleS(NULL), inducedDipolePolarS(NULL), bornSum(NULL), bornForce(NULL) {
} }
...@@ -2071,7 +2071,7 @@ private: ...@@ -2071,7 +2071,7 @@ private:
const AmoebaVdwForce& force; const AmoebaVdwForce& force;
}; };
CudaCalcAmoebaVdwForceKernel::CudaCalcAmoebaVdwForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system) : CudaCalcAmoebaVdwForceKernel::CudaCalcAmoebaVdwForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system) :
CalcAmoebaVdwForceKernel(name, platform), cu(cu), system(system), hasInitializedNonbonded(false), sigmaEpsilon(NULL), CalcAmoebaVdwForceKernel(name, platform), cu(cu), system(system), hasInitializedNonbonded(false), sigmaEpsilon(NULL),
bondReductionAtoms(NULL), bondReductionFactors(NULL), tempPosq(NULL), tempForces(NULL), nonbonded(NULL) { bondReductionAtoms(NULL), bondReductionFactors(NULL), tempPosq(NULL), tempForces(NULL), nonbonded(NULL) {
} }
...@@ -2243,7 +2243,7 @@ private: ...@@ -2243,7 +2243,7 @@ private:
const AmoebaWcaDispersionForce& force; const AmoebaWcaDispersionForce& force;
}; };
CudaCalcAmoebaWcaDispersionForceKernel::CudaCalcAmoebaWcaDispersionForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system) : CudaCalcAmoebaWcaDispersionForceKernel::CudaCalcAmoebaWcaDispersionForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system) :
CalcAmoebaWcaDispersionForceKernel(name, platform), cu(cu), system(system), radiusEpsilon(NULL) { CalcAmoebaWcaDispersionForceKernel(name, platform), cu(cu), system(system), radiusEpsilon(NULL) {
} }
......
...@@ -47,7 +47,7 @@ public: ...@@ -47,7 +47,7 @@ public:
CudaCalcAmoebaBondForceKernel(std::string name, CudaCalcAmoebaBondForceKernel(std::string name,
const Platform& platform, const Platform& platform,
CudaContext& cu, CudaContext& cu,
System& system); const System& system);
~CudaCalcAmoebaBondForceKernel(); ~CudaCalcAmoebaBondForceKernel();
/** /**
* Initialize the kernel. * Initialize the kernel.
...@@ -76,7 +76,7 @@ private: ...@@ -76,7 +76,7 @@ private:
class ForceInfo; class ForceInfo;
int numBonds; int numBonds;
CudaContext& cu; CudaContext& cu;
System& system; const System& system;
CudaArray* params; CudaArray* params;
}; };
...@@ -85,7 +85,7 @@ private: ...@@ -85,7 +85,7 @@ private:
*/ */
class CudaCalcAmoebaAngleForceKernel : public CalcAmoebaAngleForceKernel { class CudaCalcAmoebaAngleForceKernel : public CalcAmoebaAngleForceKernel {
public: public:
CudaCalcAmoebaAngleForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system); CudaCalcAmoebaAngleForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system);
~CudaCalcAmoebaAngleForceKernel(); ~CudaCalcAmoebaAngleForceKernel();
/** /**
* Initialize the kernel. * Initialize the kernel.
...@@ -114,7 +114,7 @@ private: ...@@ -114,7 +114,7 @@ private:
class ForceInfo; class ForceInfo;
int numAngles; int numAngles;
CudaContext& cu; CudaContext& cu;
System& system; const System& system;
CudaArray* params; CudaArray* params;
}; };
...@@ -123,7 +123,7 @@ private: ...@@ -123,7 +123,7 @@ private:
*/ */
class CudaCalcAmoebaInPlaneAngleForceKernel : public CalcAmoebaInPlaneAngleForceKernel { class CudaCalcAmoebaInPlaneAngleForceKernel : public CalcAmoebaInPlaneAngleForceKernel {
public: public:
CudaCalcAmoebaInPlaneAngleForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system); CudaCalcAmoebaInPlaneAngleForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system);
~CudaCalcAmoebaInPlaneAngleForceKernel(); ~CudaCalcAmoebaInPlaneAngleForceKernel();
/** /**
* Initialize the kernel. * Initialize the kernel.
...@@ -152,7 +152,7 @@ private: ...@@ -152,7 +152,7 @@ private:
class ForceInfo; class ForceInfo;
int numAngles; int numAngles;
CudaContext& cu; CudaContext& cu;
System& system; const System& system;
CudaArray* params; CudaArray* params;
}; };
...@@ -161,7 +161,7 @@ private: ...@@ -161,7 +161,7 @@ private:
*/ */
class CudaCalcAmoebaPiTorsionForceKernel : public CalcAmoebaPiTorsionForceKernel { class CudaCalcAmoebaPiTorsionForceKernel : public CalcAmoebaPiTorsionForceKernel {
public: public:
CudaCalcAmoebaPiTorsionForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system); CudaCalcAmoebaPiTorsionForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system);
~CudaCalcAmoebaPiTorsionForceKernel(); ~CudaCalcAmoebaPiTorsionForceKernel();
/** /**
* Initialize the kernel. * Initialize the kernel.
...@@ -190,7 +190,7 @@ private: ...@@ -190,7 +190,7 @@ private:
class ForceInfo; class ForceInfo;
int numPiTorsions; int numPiTorsions;
CudaContext& cu; CudaContext& cu;
System& system; const System& system;
CudaArray* params; CudaArray* params;
}; };
...@@ -199,7 +199,7 @@ private: ...@@ -199,7 +199,7 @@ private:
*/ */
class CudaCalcAmoebaStretchBendForceKernel : public CalcAmoebaStretchBendForceKernel { class CudaCalcAmoebaStretchBendForceKernel : public CalcAmoebaStretchBendForceKernel {
public: public:
CudaCalcAmoebaStretchBendForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system); CudaCalcAmoebaStretchBendForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system);
~CudaCalcAmoebaStretchBendForceKernel(); ~CudaCalcAmoebaStretchBendForceKernel();
/** /**
* Initialize the kernel. * Initialize the kernel.
...@@ -228,7 +228,7 @@ private: ...@@ -228,7 +228,7 @@ private:
class ForceInfo; class ForceInfo;
int numStretchBends; int numStretchBends;
CudaContext& cu; CudaContext& cu;
System& system; const System& system;
CudaArray* params; CudaArray* params;
}; };
...@@ -237,7 +237,7 @@ private: ...@@ -237,7 +237,7 @@ private:
*/ */
class CudaCalcAmoebaOutOfPlaneBendForceKernel : public CalcAmoebaOutOfPlaneBendForceKernel { class CudaCalcAmoebaOutOfPlaneBendForceKernel : public CalcAmoebaOutOfPlaneBendForceKernel {
public: public:
CudaCalcAmoebaOutOfPlaneBendForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system); CudaCalcAmoebaOutOfPlaneBendForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system);
~CudaCalcAmoebaOutOfPlaneBendForceKernel(); ~CudaCalcAmoebaOutOfPlaneBendForceKernel();
/** /**
* Initialize the kernel. * Initialize the kernel.
...@@ -266,7 +266,7 @@ private: ...@@ -266,7 +266,7 @@ private:
class ForceInfo; class ForceInfo;
int numOutOfPlaneBends; int numOutOfPlaneBends;
CudaContext& cu; CudaContext& cu;
System& system; const System& system;
CudaArray* params; CudaArray* params;
}; };
...@@ -275,7 +275,7 @@ private: ...@@ -275,7 +275,7 @@ private:
*/ */
class CudaCalcAmoebaTorsionTorsionForceKernel : public CalcAmoebaTorsionTorsionForceKernel { class CudaCalcAmoebaTorsionTorsionForceKernel : public CalcAmoebaTorsionTorsionForceKernel {
public: public:
CudaCalcAmoebaTorsionTorsionForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system); CudaCalcAmoebaTorsionTorsionForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system);
~CudaCalcAmoebaTorsionTorsionForceKernel(); ~CudaCalcAmoebaTorsionTorsionForceKernel();
/** /**
* Initialize the kernel. * Initialize the kernel.
...@@ -298,7 +298,7 @@ private: ...@@ -298,7 +298,7 @@ private:
int numTorsionTorsions; int numTorsionTorsions;
int numTorsionTorsionGrids; int numTorsionTorsionGrids;
CudaContext& cu; CudaContext& cu;
System& system; const System& system;
CudaArray* gridValues; CudaArray* gridValues;
CudaArray* gridParams; CudaArray* gridParams;
CudaArray* torsionParams; CudaArray* torsionParams;
...@@ -309,7 +309,7 @@ private: ...@@ -309,7 +309,7 @@ private:
*/ */
class CudaCalcAmoebaMultipoleForceKernel : public CalcAmoebaMultipoleForceKernel { class CudaCalcAmoebaMultipoleForceKernel : public CalcAmoebaMultipoleForceKernel {
public: public:
CudaCalcAmoebaMultipoleForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system); CudaCalcAmoebaMultipoleForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system);
~CudaCalcAmoebaMultipoleForceKernel(); ~CudaCalcAmoebaMultipoleForceKernel();
/** /**
* Initialize the kernel. * Initialize the kernel.
...@@ -374,7 +374,7 @@ private: ...@@ -374,7 +374,7 @@ private:
double inducedEpsilon; double inducedEpsilon;
bool hasInitializedScaleFactors, hasInitializedFFT; bool hasInitializedScaleFactors, hasInitializedFFT;
CudaContext& cu; CudaContext& cu;
System& system; const System& system;
std::vector<int3> covalentFlagValues; std::vector<int3> covalentFlagValues;
std::vector<int2> polarizationFlagValues; std::vector<int2> polarizationFlagValues;
CudaArray* multipoleParticles; CudaArray* multipoleParticles;
...@@ -419,7 +419,7 @@ private: ...@@ -419,7 +419,7 @@ private:
*/ */
class CudaCalcAmoebaGeneralizedKirkwoodForceKernel : public CalcAmoebaGeneralizedKirkwoodForceKernel { class CudaCalcAmoebaGeneralizedKirkwoodForceKernel : public CalcAmoebaGeneralizedKirkwoodForceKernel {
public: public:
CudaCalcAmoebaGeneralizedKirkwoodForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system); CudaCalcAmoebaGeneralizedKirkwoodForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system);
~CudaCalcAmoebaGeneralizedKirkwoodForceKernel(); ~CudaCalcAmoebaGeneralizedKirkwoodForceKernel();
/** /**
* Initialize the kernel. * Initialize the kernel.
...@@ -473,7 +473,7 @@ public: ...@@ -473,7 +473,7 @@ public:
private: private:
class ForceInfo; class ForceInfo;
CudaContext& cu; CudaContext& cu;
System& system; const System& system;
bool includeSurfaceArea, hasInitializedKernels; bool includeSurfaceArea, hasInitializedKernels;
int computeBornSumThreads, gkForceThreads, chainRuleThreads, ediffThreads; int computeBornSumThreads, gkForceThreads, chainRuleThreads, ediffThreads;
std::map<std::string, std::string> defines; std::map<std::string, std::string> defines;
...@@ -494,7 +494,7 @@ private: ...@@ -494,7 +494,7 @@ private:
*/ */
class CudaCalcAmoebaVdwForceKernel : public CalcAmoebaVdwForceKernel { class CudaCalcAmoebaVdwForceKernel : public CalcAmoebaVdwForceKernel {
public: public:
CudaCalcAmoebaVdwForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system); CudaCalcAmoebaVdwForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system);
~CudaCalcAmoebaVdwForceKernel(); ~CudaCalcAmoebaVdwForceKernel();
/** /**
* Initialize the kernel. * Initialize the kernel.
...@@ -522,7 +522,7 @@ public: ...@@ -522,7 +522,7 @@ public:
private: private:
class ForceInfo; class ForceInfo;
CudaContext& cu; CudaContext& cu;
System& system; const System& system;
bool hasInitializedNonbonded; bool hasInitializedNonbonded;
double dispersionCoefficient; double dispersionCoefficient;
CudaArray* sigmaEpsilon; CudaArray* sigmaEpsilon;
...@@ -539,7 +539,7 @@ private: ...@@ -539,7 +539,7 @@ private:
*/ */
class CudaCalcAmoebaWcaDispersionForceKernel : public CalcAmoebaWcaDispersionForceKernel { class CudaCalcAmoebaWcaDispersionForceKernel : public CalcAmoebaWcaDispersionForceKernel {
public: public:
CudaCalcAmoebaWcaDispersionForceKernel(std::string name, const Platform& platform, CudaContext& cu, System& system); CudaCalcAmoebaWcaDispersionForceKernel(std::string name, const Platform& platform, CudaContext& cu, const System& system);
~CudaCalcAmoebaWcaDispersionForceKernel(); ~CudaCalcAmoebaWcaDispersionForceKernel();
/** /**
* Initialize the kernel. * Initialize the kernel.
...@@ -567,7 +567,7 @@ public: ...@@ -567,7 +567,7 @@ public:
private: private:
class ForceInfo; class ForceInfo;
CudaContext& cu; CudaContext& cu;
System& system; const System& system;
double totalMaximumDispersionEnergy; double totalMaximumDispersionEnergy;
CudaArray* radiusEpsilon; CudaArray* radiusEpsilon;
CUfunction forceKernel; CUfunction forceKernel;
......
...@@ -76,7 +76,7 @@ static RealVec& extractBoxSize(ContextImpl& context) { ...@@ -76,7 +76,7 @@ static RealVec& extractBoxSize(ContextImpl& context) {
// *************************************************************************** // ***************************************************************************
ReferenceCalcAmoebaBondForceKernel::ReferenceCalcAmoebaBondForceKernel(std::string name, const Platform& platform, System& system) : ReferenceCalcAmoebaBondForceKernel::ReferenceCalcAmoebaBondForceKernel(std::string name, const Platform& platform, const System& system) :
CalcAmoebaBondForceKernel(name, platform), system(system) { CalcAmoebaBondForceKernel(name, platform), system(system) {
} }
...@@ -130,7 +130,7 @@ void ReferenceCalcAmoebaBondForceKernel::copyParametersToContext(ContextImpl& co ...@@ -130,7 +130,7 @@ void ReferenceCalcAmoebaBondForceKernel::copyParametersToContext(ContextImpl& co
// *************************************************************************** // ***************************************************************************
ReferenceCalcAmoebaAngleForceKernel::ReferenceCalcAmoebaAngleForceKernel(std::string name, const Platform& platform, System& system) : ReferenceCalcAmoebaAngleForceKernel::ReferenceCalcAmoebaAngleForceKernel(std::string name, const Platform& platform, const System& system) :
CalcAmoebaAngleForceKernel(name, platform), system(system) { CalcAmoebaAngleForceKernel(name, platform), system(system) {
} }
...@@ -183,7 +183,7 @@ void ReferenceCalcAmoebaAngleForceKernel::copyParametersToContext(ContextImpl& c ...@@ -183,7 +183,7 @@ void ReferenceCalcAmoebaAngleForceKernel::copyParametersToContext(ContextImpl& c
} }
} }
ReferenceCalcAmoebaInPlaneAngleForceKernel::ReferenceCalcAmoebaInPlaneAngleForceKernel(std::string name, const Platform& platform, System& system) : ReferenceCalcAmoebaInPlaneAngleForceKernel::ReferenceCalcAmoebaInPlaneAngleForceKernel(std::string name, const Platform& platform, const System& system) :
CalcAmoebaInPlaneAngleForceKernel(name, platform), system(system) { CalcAmoebaInPlaneAngleForceKernel(name, platform), system(system) {
} }
...@@ -238,7 +238,7 @@ void ReferenceCalcAmoebaInPlaneAngleForceKernel::copyParametersToContext(Context ...@@ -238,7 +238,7 @@ void ReferenceCalcAmoebaInPlaneAngleForceKernel::copyParametersToContext(Context
} }
} }
ReferenceCalcAmoebaPiTorsionForceKernel::ReferenceCalcAmoebaPiTorsionForceKernel(std::string name, const Platform& platform, System& system) : ReferenceCalcAmoebaPiTorsionForceKernel::ReferenceCalcAmoebaPiTorsionForceKernel(std::string name, const Platform& platform, const System& system) :
CalcAmoebaPiTorsionForceKernel(name, platform), system(system) { CalcAmoebaPiTorsionForceKernel(name, platform), system(system) {
} }
...@@ -290,7 +290,7 @@ void ReferenceCalcAmoebaPiTorsionForceKernel::copyParametersToContext(ContextImp ...@@ -290,7 +290,7 @@ void ReferenceCalcAmoebaPiTorsionForceKernel::copyParametersToContext(ContextImp
} }
} }
ReferenceCalcAmoebaStretchBendForceKernel::ReferenceCalcAmoebaStretchBendForceKernel(std::string name, const Platform& platform, System& system) : ReferenceCalcAmoebaStretchBendForceKernel::ReferenceCalcAmoebaStretchBendForceKernel(std::string name, const Platform& platform, const System& system) :
CalcAmoebaStretchBendForceKernel(name, platform), system(system) { CalcAmoebaStretchBendForceKernel(name, platform), system(system) {
} }
...@@ -342,7 +342,7 @@ void ReferenceCalcAmoebaStretchBendForceKernel::copyParametersToContext(ContextI ...@@ -342,7 +342,7 @@ void ReferenceCalcAmoebaStretchBendForceKernel::copyParametersToContext(ContextI
} }
} }
ReferenceCalcAmoebaOutOfPlaneBendForceKernel::ReferenceCalcAmoebaOutOfPlaneBendForceKernel(std::string name, const Platform& platform, System& system) : ReferenceCalcAmoebaOutOfPlaneBendForceKernel::ReferenceCalcAmoebaOutOfPlaneBendForceKernel(std::string name, const Platform& platform, const System& system) :
CalcAmoebaOutOfPlaneBendForceKernel(name, platform), system(system) { CalcAmoebaOutOfPlaneBendForceKernel(name, platform), system(system) {
} }
...@@ -401,7 +401,7 @@ void ReferenceCalcAmoebaOutOfPlaneBendForceKernel::copyParametersToContext(Conte ...@@ -401,7 +401,7 @@ void ReferenceCalcAmoebaOutOfPlaneBendForceKernel::copyParametersToContext(Conte
} }
} }
ReferenceCalcAmoebaTorsionTorsionForceKernel::ReferenceCalcAmoebaTorsionTorsionForceKernel(std::string name, const Platform& platform, System& system) : ReferenceCalcAmoebaTorsionTorsionForceKernel::ReferenceCalcAmoebaTorsionTorsionForceKernel(std::string name, const Platform& platform, const System& system) :
CalcAmoebaTorsionTorsionForceKernel(name, platform), system(system) { CalcAmoebaTorsionTorsionForceKernel(name, platform), system(system) {
} }
...@@ -480,7 +480,7 @@ double ReferenceCalcAmoebaTorsionTorsionForceKernel::execute(ContextImpl& contex ...@@ -480,7 +480,7 @@ double ReferenceCalcAmoebaTorsionTorsionForceKernel::execute(ContextImpl& contex
* AmoebaMultipole * * AmoebaMultipole *
* -------------------------------------------------------------------------- */ * -------------------------------------------------------------------------- */
ReferenceCalcAmoebaMultipoleForceKernel::ReferenceCalcAmoebaMultipoleForceKernel(std::string name, const Platform& platform, System& system) : ReferenceCalcAmoebaMultipoleForceKernel::ReferenceCalcAmoebaMultipoleForceKernel(std::string name, const Platform& platform, const System& system) :
CalcAmoebaMultipoleForceKernel(name, platform), system(system), numMultipoles(0), mutualInducedMaxIterations(60), mutualInducedTargetEpsilon(1.0e-03), CalcAmoebaMultipoleForceKernel(name, platform), system(system), numMultipoles(0), mutualInducedMaxIterations(60), mutualInducedTargetEpsilon(1.0e-03),
usePme(false),alphaEwald(0.0), cutoffDistance(1.0) { usePme(false),alphaEwald(0.0), cutoffDistance(1.0) {
...@@ -712,7 +712,7 @@ void ReferenceCalcAmoebaMultipoleForceKernel::getSystemMultipoleMoments(ContextI ...@@ -712,7 +712,7 @@ void ReferenceCalcAmoebaMultipoleForceKernel::getSystemMultipoleMoments(ContextI
// retrieve masses // retrieve masses
System& system = context.getSystem(); const System& system = context.getSystem();
vector<RealOpenMM> masses; vector<RealOpenMM> masses;
for (int i = 0; i < system.getNumParticles(); ++i) { for (int i = 0; i < system.getNumParticles(); ++i) {
masses.push_back( static_cast<RealOpenMM>(system.getParticleMass(i)) ); masses.push_back( static_cast<RealOpenMM>(system.getParticleMass(i)) );
...@@ -771,7 +771,7 @@ void ReferenceCalcAmoebaMultipoleForceKernel::copyParametersToContext(ContextImp ...@@ -771,7 +771,7 @@ void ReferenceCalcAmoebaMultipoleForceKernel::copyParametersToContext(ContextImp
* AmoebaGeneralizedKirkwood * * AmoebaGeneralizedKirkwood *
* -------------------------------------------------------------------------- */ * -------------------------------------------------------------------------- */
ReferenceCalcAmoebaGeneralizedKirkwoodForceKernel::ReferenceCalcAmoebaGeneralizedKirkwoodForceKernel(std::string name, const Platform& platform, System& system) : ReferenceCalcAmoebaGeneralizedKirkwoodForceKernel::ReferenceCalcAmoebaGeneralizedKirkwoodForceKernel(std::string name, const Platform& platform, const System& system) :
CalcAmoebaGeneralizedKirkwoodForceKernel(name, platform), system(system) { CalcAmoebaGeneralizedKirkwoodForceKernel(name, platform), system(system) {
} }
...@@ -892,7 +892,7 @@ void ReferenceCalcAmoebaGeneralizedKirkwoodForceKernel::copyParametersToContext( ...@@ -892,7 +892,7 @@ void ReferenceCalcAmoebaGeneralizedKirkwoodForceKernel::copyParametersToContext(
} }
} }
ReferenceCalcAmoebaVdwForceKernel::ReferenceCalcAmoebaVdwForceKernel(std::string name, const Platform& platform, System& system) : ReferenceCalcAmoebaVdwForceKernel::ReferenceCalcAmoebaVdwForceKernel(std::string name, const Platform& platform, const System& system) :
CalcAmoebaVdwForceKernel(name, platform), system(system) { CalcAmoebaVdwForceKernel(name, platform), system(system) {
useCutoff = 0; useCutoff = 0;
usePBC = 0; usePBC = 0;
...@@ -995,7 +995,7 @@ void ReferenceCalcAmoebaVdwForceKernel::copyParametersToContext(ContextImpl& con ...@@ -995,7 +995,7 @@ void ReferenceCalcAmoebaVdwForceKernel::copyParametersToContext(ContextImpl& con
* AmoebaWcaDispersion * * AmoebaWcaDispersion *
* -------------------------------------------------------------------------- */ * -------------------------------------------------------------------------- */
ReferenceCalcAmoebaWcaDispersionForceKernel::ReferenceCalcAmoebaWcaDispersionForceKernel(std::string name, const Platform& platform, System& system) : ReferenceCalcAmoebaWcaDispersionForceKernel::ReferenceCalcAmoebaWcaDispersionForceKernel(std::string name, const Platform& platform, const System& system) :
CalcAmoebaWcaDispersionForceKernel(name, platform), system(system) { CalcAmoebaWcaDispersionForceKernel(name, platform), system(system) {
} }
......
...@@ -43,7 +43,7 @@ class ReferenceCalcAmoebaBondForceKernel : public CalcAmoebaBondForceKernel { ...@@ -43,7 +43,7 @@ class ReferenceCalcAmoebaBondForceKernel : public CalcAmoebaBondForceKernel {
public: public:
ReferenceCalcAmoebaBondForceKernel(std::string name, ReferenceCalcAmoebaBondForceKernel(std::string name,
const Platform& platform, const Platform& platform,
System& system); const System& system);
~ReferenceCalcAmoebaBondForceKernel(); ~ReferenceCalcAmoebaBondForceKernel();
/** /**
* Initialize the kernel. * Initialize the kernel.
...@@ -76,7 +76,7 @@ private: ...@@ -76,7 +76,7 @@ private:
std::vector<RealOpenMM> kQuadratic; std::vector<RealOpenMM> kQuadratic;
RealOpenMM globalBondCubic; RealOpenMM globalBondCubic;
RealOpenMM globalBondQuartic; RealOpenMM globalBondQuartic;
System& system; const System& system;
}; };
/** /**
...@@ -84,7 +84,7 @@ private: ...@@ -84,7 +84,7 @@ private:
*/ */
class ReferenceCalcAmoebaAngleForceKernel : public CalcAmoebaAngleForceKernel { class ReferenceCalcAmoebaAngleForceKernel : public CalcAmoebaAngleForceKernel {
public: public:
ReferenceCalcAmoebaAngleForceKernel(std::string name, const Platform& platform, System& system); ReferenceCalcAmoebaAngleForceKernel(std::string name, const Platform& platform, const System& system);
~ReferenceCalcAmoebaAngleForceKernel(); ~ReferenceCalcAmoebaAngleForceKernel();
/** /**
* Initialize the kernel. * Initialize the kernel.
...@@ -120,7 +120,7 @@ private: ...@@ -120,7 +120,7 @@ private:
RealOpenMM globalAngleQuartic; RealOpenMM globalAngleQuartic;
RealOpenMM globalAnglePentic; RealOpenMM globalAnglePentic;
RealOpenMM globalAngleSextic; RealOpenMM globalAngleSextic;
System& system; const System& system;
}; };
/** /**
...@@ -128,7 +128,7 @@ private: ...@@ -128,7 +128,7 @@ private:
*/ */
class ReferenceCalcAmoebaInPlaneAngleForceKernel : public CalcAmoebaInPlaneAngleForceKernel { class ReferenceCalcAmoebaInPlaneAngleForceKernel : public CalcAmoebaInPlaneAngleForceKernel {
public: public:
ReferenceCalcAmoebaInPlaneAngleForceKernel(std::string name, const Platform& platform, System& system); ReferenceCalcAmoebaInPlaneAngleForceKernel(std::string name, const Platform& platform, const System& system);
~ReferenceCalcAmoebaInPlaneAngleForceKernel(); ~ReferenceCalcAmoebaInPlaneAngleForceKernel();
/** /**
* Initialize the kernel. * Initialize the kernel.
...@@ -165,7 +165,7 @@ private: ...@@ -165,7 +165,7 @@ private:
RealOpenMM globalInPlaneAngleQuartic; RealOpenMM globalInPlaneAngleQuartic;
RealOpenMM globalInPlaneAnglePentic; RealOpenMM globalInPlaneAnglePentic;
RealOpenMM globalInPlaneAngleSextic; RealOpenMM globalInPlaneAngleSextic;
System& system; const System& system;
}; };
/** /**
...@@ -173,7 +173,7 @@ private: ...@@ -173,7 +173,7 @@ private:
*/ */
class ReferenceCalcAmoebaPiTorsionForceKernel : public CalcAmoebaPiTorsionForceKernel { class ReferenceCalcAmoebaPiTorsionForceKernel : public CalcAmoebaPiTorsionForceKernel {
public: public:
ReferenceCalcAmoebaPiTorsionForceKernel(std::string name, const Platform& platform, System& system); ReferenceCalcAmoebaPiTorsionForceKernel(std::string name, const Platform& platform, const System& system);
~ReferenceCalcAmoebaPiTorsionForceKernel(); ~ReferenceCalcAmoebaPiTorsionForceKernel();
/** /**
* Initialize the kernel. * Initialize the kernel.
...@@ -207,7 +207,7 @@ private: ...@@ -207,7 +207,7 @@ private:
std::vector<int> particle5; std::vector<int> particle5;
std::vector<int> particle6; std::vector<int> particle6;
std::vector<RealOpenMM> kTorsion; std::vector<RealOpenMM> kTorsion;
System& system; const System& system;
}; };
/** /**
...@@ -215,7 +215,7 @@ private: ...@@ -215,7 +215,7 @@ private:
*/ */
class ReferenceCalcAmoebaStretchBendForceKernel : public CalcAmoebaStretchBendForceKernel { class ReferenceCalcAmoebaStretchBendForceKernel : public CalcAmoebaStretchBendForceKernel {
public: public:
ReferenceCalcAmoebaStretchBendForceKernel(std::string name, const Platform& platform, System& system); ReferenceCalcAmoebaStretchBendForceKernel(std::string name, const Platform& platform, const System& system);
~ReferenceCalcAmoebaStretchBendForceKernel(); ~ReferenceCalcAmoebaStretchBendForceKernel();
/** /**
* Initialize the kernel. * Initialize the kernel.
...@@ -249,7 +249,7 @@ private: ...@@ -249,7 +249,7 @@ private:
std::vector<RealOpenMM> lengthCBParameters; std::vector<RealOpenMM> lengthCBParameters;
std::vector<RealOpenMM> angleParameters; std::vector<RealOpenMM> angleParameters;
std::vector<RealOpenMM> kParameters; std::vector<RealOpenMM> kParameters;
System& system; const System& system;
}; };
/** /**
...@@ -257,7 +257,7 @@ private: ...@@ -257,7 +257,7 @@ private:
*/ */
class ReferenceCalcAmoebaOutOfPlaneBendForceKernel : public CalcAmoebaOutOfPlaneBendForceKernel { class ReferenceCalcAmoebaOutOfPlaneBendForceKernel : public CalcAmoebaOutOfPlaneBendForceKernel {
public: public:
ReferenceCalcAmoebaOutOfPlaneBendForceKernel(std::string name, const Platform& platform, System& system); ReferenceCalcAmoebaOutOfPlaneBendForceKernel(std::string name, const Platform& platform, const System& system);
~ReferenceCalcAmoebaOutOfPlaneBendForceKernel(); ~ReferenceCalcAmoebaOutOfPlaneBendForceKernel();
/** /**
* Initialize the kernel. * Initialize the kernel.
...@@ -293,7 +293,7 @@ private: ...@@ -293,7 +293,7 @@ private:
RealOpenMM globalOutOfPlaneBendAngleQuartic; RealOpenMM globalOutOfPlaneBendAngleQuartic;
RealOpenMM globalOutOfPlaneBendAnglePentic; RealOpenMM globalOutOfPlaneBendAnglePentic;
RealOpenMM globalOutOfPlaneBendAngleSextic; RealOpenMM globalOutOfPlaneBendAngleSextic;
System& system; const System& system;
}; };
/** /**
...@@ -301,7 +301,7 @@ private: ...@@ -301,7 +301,7 @@ private:
*/ */
class ReferenceCalcAmoebaTorsionTorsionForceKernel : public CalcAmoebaTorsionTorsionForceKernel { class ReferenceCalcAmoebaTorsionTorsionForceKernel : public CalcAmoebaTorsionTorsionForceKernel {
public: public:
ReferenceCalcAmoebaTorsionTorsionForceKernel(std::string name, const Platform& platform, System& system); ReferenceCalcAmoebaTorsionTorsionForceKernel(std::string name, const Platform& platform, const System& system);
~ReferenceCalcAmoebaTorsionTorsionForceKernel(); ~ReferenceCalcAmoebaTorsionTorsionForceKernel();
/** /**
* Initialize the kernel. * Initialize the kernel.
...@@ -332,7 +332,7 @@ private: ...@@ -332,7 +332,7 @@ private:
int numTorsionTorsionGrids; int numTorsionTorsionGrids;
std::vector< std::vector< std::vector< std::vector<RealOpenMM> > > > torsionTorsionGrids; std::vector< std::vector< std::vector< std::vector<RealOpenMM> > > > torsionTorsionGrids;
System& system; const System& system;
}; };
/** /**
...@@ -340,7 +340,7 @@ private: ...@@ -340,7 +340,7 @@ private:
*/ */
class ReferenceCalcAmoebaMultipoleForceKernel : public CalcAmoebaMultipoleForceKernel { class ReferenceCalcAmoebaMultipoleForceKernel : public CalcAmoebaMultipoleForceKernel {
public: public:
ReferenceCalcAmoebaMultipoleForceKernel(std::string name, const Platform& platform, System& system); ReferenceCalcAmoebaMultipoleForceKernel(std::string name, const Platform& platform, const System& system);
~ReferenceCalcAmoebaMultipoleForceKernel(); ~ReferenceCalcAmoebaMultipoleForceKernel();
/** /**
* Initialize the kernel. * Initialize the kernel.
...@@ -421,7 +421,7 @@ private: ...@@ -421,7 +421,7 @@ private:
RealOpenMM cutoffDistance; RealOpenMM cutoffDistance;
std::vector<int> pmeGridDimension; std::vector<int> pmeGridDimension;
System& system; const System& system;
}; };
/** /**
...@@ -429,7 +429,7 @@ private: ...@@ -429,7 +429,7 @@ private:
*/ */
class ReferenceCalcAmoebaVdwForceKernel : public CalcAmoebaVdwForceKernel { class ReferenceCalcAmoebaVdwForceKernel : public CalcAmoebaVdwForceKernel {
public: public:
ReferenceCalcAmoebaVdwForceKernel(std::string name, const Platform& platform, System& system); ReferenceCalcAmoebaVdwForceKernel(std::string name, const Platform& platform, const System& system);
~ReferenceCalcAmoebaVdwForceKernel(); ~ReferenceCalcAmoebaVdwForceKernel();
/** /**
* Initialize the kernel. * Initialize the kernel.
...@@ -467,7 +467,7 @@ private: ...@@ -467,7 +467,7 @@ private:
std::vector<RealOpenMM> reductions; std::vector<RealOpenMM> reductions;
std::string sigmaCombiningRule; std::string sigmaCombiningRule;
std::string epsilonCombiningRule; std::string epsilonCombiningRule;
System& system; const System& system;
NeighborList* neighborList; NeighborList* neighborList;
}; };
...@@ -476,7 +476,7 @@ private: ...@@ -476,7 +476,7 @@ private:
*/ */
class ReferenceCalcAmoebaWcaDispersionForceKernel : public CalcAmoebaWcaDispersionForceKernel { class ReferenceCalcAmoebaWcaDispersionForceKernel : public CalcAmoebaWcaDispersionForceKernel {
public: public:
ReferenceCalcAmoebaWcaDispersionForceKernel(std::string name, const Platform& platform, System& system); ReferenceCalcAmoebaWcaDispersionForceKernel(std::string name, const Platform& platform, const System& system);
~ReferenceCalcAmoebaWcaDispersionForceKernel(); ~ReferenceCalcAmoebaWcaDispersionForceKernel();
/** /**
* Initialize the kernel. * Initialize the kernel.
...@@ -515,7 +515,7 @@ private: ...@@ -515,7 +515,7 @@ private:
RealOpenMM dispoff; RealOpenMM dispoff;
RealOpenMM slevy; RealOpenMM slevy;
RealOpenMM totalMaximumDispersionEnergy; RealOpenMM totalMaximumDispersionEnergy;
System& system; const System& system;
}; };
/** /**
...@@ -523,7 +523,7 @@ private: ...@@ -523,7 +523,7 @@ private:
*/ */
class ReferenceCalcAmoebaGeneralizedKirkwoodForceKernel : public CalcAmoebaGeneralizedKirkwoodForceKernel { class ReferenceCalcAmoebaGeneralizedKirkwoodForceKernel : public CalcAmoebaGeneralizedKirkwoodForceKernel {
public: public:
ReferenceCalcAmoebaGeneralizedKirkwoodForceKernel(std::string name, const Platform& platform, System& system); ReferenceCalcAmoebaGeneralizedKirkwoodForceKernel(std::string name, const Platform& platform, const System& system);
~ReferenceCalcAmoebaGeneralizedKirkwoodForceKernel(); ~ReferenceCalcAmoebaGeneralizedKirkwoodForceKernel();
/** /**
* Initialize the kernel. * Initialize the kernel.
...@@ -649,7 +649,7 @@ private: ...@@ -649,7 +649,7 @@ private:
RealOpenMM surfaceAreaFactor; RealOpenMM surfaceAreaFactor;
int includeCavityTerm; int includeCavityTerm;
int directPolarization; int directPolarization;
System& system; const System& system;
}; };
} // namespace OpenMM } // namespace OpenMM
......
...@@ -235,7 +235,7 @@ void ReferenceIntegrateRPMDStepKernel::execute(ContextImpl& context, const RPMDI ...@@ -235,7 +235,7 @@ void ReferenceIntegrateRPMDStepKernel::execute(ContextImpl& context, const RPMDI
} }
double ReferenceIntegrateRPMDStepKernel::computeKineticEnergy(ContextImpl& context, const RPMDIntegrator& integrator) { double ReferenceIntegrateRPMDStepKernel::computeKineticEnergy(ContextImpl& context, const RPMDIntegrator& integrator) {
System& system = context.getSystem(); const System& system = context.getSystem();
int numParticles = system.getNumParticles(); int numParticles = system.getNumParticles();
vector<RealVec>& velData = extractVelocities(context); vector<RealVec>& velData = extractVelocities(context);
double energy = 0.0; double energy = 0.0;
......
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