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