Commit f2e0735f authored by Peter Eastman's avatar Peter Eastman
Browse files

Added updateParametersInContext() methods to most AMOEBA forces.

parent e6696626
...@@ -79,6 +79,7 @@ public: ...@@ -79,6 +79,7 @@ public:
* @return total maximum dispersion energy for the system * @return total maximum dispersion energy for the system
*/ */
static double getTotalMaximumDispersionEnergy( const AmoebaWcaDispersionForce& force); static double getTotalMaximumDispersionEnergy( const AmoebaWcaDispersionForce& force);
void updateParametersInContext(ContextImpl& context);
private: private:
AmoebaWcaDispersionForce& owner; AmoebaWcaDispersionForce& owner;
......
...@@ -98,3 +98,7 @@ void AmoebaAngleForce::setAmoebaGlobalAngleSextic(double sexticK ) { ...@@ -98,3 +98,7 @@ void AmoebaAngleForce::setAmoebaGlobalAngleSextic(double sexticK ) {
ForceImpl* AmoebaAngleForce::createImpl() { ForceImpl* AmoebaAngleForce::createImpl() {
return new AmoebaAngleForceImpl(*this); return new AmoebaAngleForceImpl(*this);
} }
void AmoebaAngleForce::updateParametersInContext(Context& context) {
dynamic_cast<AmoebaAngleForceImpl&>(getImplInContext(context)).updateParametersInContext(getContextImpl(context));
}
...@@ -62,3 +62,6 @@ std::vector<std::string> AmoebaAngleForceImpl::getKernelNames() { ...@@ -62,3 +62,6 @@ std::vector<std::string> AmoebaAngleForceImpl::getKernelNames() {
return names; return names;
} }
void AmoebaAngleForceImpl::updateParametersInContext(ContextImpl& context) {
kernel.getAs<CalcAmoebaAngleForceKernel>().copyParametersToContext(context, owner);
}
...@@ -78,3 +78,7 @@ double AmoebaBondForce::getAmoebaGlobalBondQuartic( void ) const { ...@@ -78,3 +78,7 @@ double AmoebaBondForce::getAmoebaGlobalBondQuartic( void ) const {
ForceImpl* AmoebaBondForce::createImpl() { ForceImpl* AmoebaBondForce::createImpl() {
return new AmoebaBondForceImpl(*this); return new AmoebaBondForceImpl(*this);
} }
void AmoebaBondForce::updateParametersInContext(Context& context) {
dynamic_cast<AmoebaBondForceImpl&>(getImplInContext(context)).updateParametersInContext(getContextImpl(context));
}
...@@ -72,3 +72,7 @@ vector<pair<int, int> > AmoebaBondForceImpl::getBondedParticles() const { ...@@ -72,3 +72,7 @@ vector<pair<int, int> > AmoebaBondForceImpl::getBondedParticles() const {
} }
return bonds; return bonds;
} }
void AmoebaBondForceImpl::updateParametersInContext(ContextImpl& context) {
kernel.getAs<CalcAmoebaBondForceKernel>().copyParametersToContext(context, owner);
}
...@@ -93,3 +93,7 @@ void AmoebaGeneralizedKirkwoodForce::setSurfaceAreaFactor(double inputSurfaceAre ...@@ -93,3 +93,7 @@ void AmoebaGeneralizedKirkwoodForce::setSurfaceAreaFactor(double inputSurfaceAre
ForceImpl* AmoebaGeneralizedKirkwoodForce::createImpl() { ForceImpl* AmoebaGeneralizedKirkwoodForce::createImpl() {
return new AmoebaGeneralizedKirkwoodForceImpl(*this); return new AmoebaGeneralizedKirkwoodForceImpl(*this);
} }
void AmoebaGeneralizedKirkwoodForce::updateParametersInContext(Context& context) {
dynamic_cast<AmoebaGeneralizedKirkwoodForceImpl&>(getImplInContext(context)).updateParametersInContext(getContextImpl(context));
}
...@@ -63,3 +63,7 @@ std::vector<std::string> AmoebaGeneralizedKirkwoodForceImpl::getKernelNames() { ...@@ -63,3 +63,7 @@ std::vector<std::string> AmoebaGeneralizedKirkwoodForceImpl::getKernelNames() {
names.push_back(CalcAmoebaGeneralizedKirkwoodForceKernel::Name()); names.push_back(CalcAmoebaGeneralizedKirkwoodForceKernel::Name());
return names; return names;
} }
void AmoebaGeneralizedKirkwoodForceImpl::updateParametersInContext(ContextImpl& context) {
kernel.getAs<CalcAmoebaGeneralizedKirkwoodForceKernel>().copyParametersToContext(context, owner);
}
...@@ -100,3 +100,7 @@ double AmoebaInPlaneAngleForce::getAmoebaGlobalInPlaneAngleSextic( void ) const ...@@ -100,3 +100,7 @@ double AmoebaInPlaneAngleForce::getAmoebaGlobalInPlaneAngleSextic( void ) const
ForceImpl* AmoebaInPlaneAngleForce::createImpl() { ForceImpl* AmoebaInPlaneAngleForce::createImpl() {
return new AmoebaInPlaneAngleForceImpl(*this); return new AmoebaInPlaneAngleForceImpl(*this);
} }
void AmoebaInPlaneAngleForce::updateParametersInContext(Context& context) {
dynamic_cast<AmoebaInPlaneAngleForceImpl&>(getImplInContext(context)).updateParametersInContext(getContextImpl(context));
}
...@@ -62,3 +62,6 @@ std::vector<std::string> AmoebaInPlaneAngleForceImpl::getKernelNames() { ...@@ -62,3 +62,6 @@ std::vector<std::string> AmoebaInPlaneAngleForceImpl::getKernelNames() {
return names; return names;
} }
void AmoebaInPlaneAngleForceImpl::updateParametersInContext(ContextImpl& context) {
kernel.getAs<CalcAmoebaInPlaneAngleForceKernel>().copyParametersToContext(context, owner);
}
...@@ -237,3 +237,7 @@ void AmoebaMultipoleForce::getSystemMultipoleMoments(Context& context, std::vect ...@@ -237,3 +237,7 @@ void AmoebaMultipoleForce::getSystemMultipoleMoments(Context& context, std::vect
ForceImpl* AmoebaMultipoleForce::createImpl() { ForceImpl* AmoebaMultipoleForce::createImpl() {
return new AmoebaMultipoleForceImpl(*this); return new AmoebaMultipoleForceImpl(*this);
} }
void AmoebaMultipoleForce::updateParametersInContext(Context& context) {
dynamic_cast<AmoebaMultipoleForceImpl&>(getImplInContext(context)).updateParametersInContext(getContextImpl(context));
}
...@@ -192,3 +192,6 @@ void AmoebaMultipoleForceImpl::getSystemMultipoleMoments( ContextImpl& context, ...@@ -192,3 +192,6 @@ void AmoebaMultipoleForceImpl::getSystemMultipoleMoments( ContextImpl& context,
kernel.getAs<CalcAmoebaMultipoleForceKernel>().getSystemMultipoleMoments(context, outputMultipoleMonents); kernel.getAs<CalcAmoebaMultipoleForceKernel>().getSystemMultipoleMoments(context, outputMultipoleMonents);
} }
void AmoebaMultipoleForceImpl::updateParametersInContext(ContextImpl& context) {
kernel.getAs<CalcAmoebaMultipoleForceKernel>().copyParametersToContext(context, owner);
}
...@@ -102,3 +102,7 @@ void AmoebaOutOfPlaneBendForce::setOutOfPlaneBendParameters(int index, int parti ...@@ -102,3 +102,7 @@ void AmoebaOutOfPlaneBendForce::setOutOfPlaneBendParameters(int index, int parti
ForceImpl* AmoebaOutOfPlaneBendForce::createImpl() { ForceImpl* AmoebaOutOfPlaneBendForce::createImpl() {
return new AmoebaOutOfPlaneBendForceImpl(*this); return new AmoebaOutOfPlaneBendForceImpl(*this);
} }
void AmoebaOutOfPlaneBendForce::updateParametersInContext(Context& context) {
dynamic_cast<AmoebaOutOfPlaneBendForceImpl&>(getImplInContext(context)).updateParametersInContext(getContextImpl(context));
}
...@@ -62,3 +62,6 @@ std::vector<std::string> AmoebaOutOfPlaneBendForceImpl::getKernelNames() { ...@@ -62,3 +62,6 @@ std::vector<std::string> AmoebaOutOfPlaneBendForceImpl::getKernelNames() {
return names; return names;
} }
void AmoebaOutOfPlaneBendForceImpl::updateParametersInContext(ContextImpl& context) {
kernel.getAs<CalcAmoebaOutOfPlaneBendForceKernel>().copyParametersToContext(context, owner);
}
...@@ -67,3 +67,7 @@ void AmoebaPiTorsionForce::setPiTorsionParameters(int index, int particle1, int ...@@ -67,3 +67,7 @@ void AmoebaPiTorsionForce::setPiTorsionParameters(int index, int particle1, int
ForceImpl* AmoebaPiTorsionForce::createImpl() { ForceImpl* AmoebaPiTorsionForce::createImpl() {
return new AmoebaPiTorsionForceImpl(*this); return new AmoebaPiTorsionForceImpl(*this);
} }
void AmoebaPiTorsionForce::updateParametersInContext(Context& context) {
dynamic_cast<AmoebaPiTorsionForceImpl&>(getImplInContext(context)).updateParametersInContext(getContextImpl(context));
}
...@@ -62,3 +62,6 @@ std::vector<std::string> AmoebaPiTorsionForceImpl::getKernelNames() { ...@@ -62,3 +62,6 @@ std::vector<std::string> AmoebaPiTorsionForceImpl::getKernelNames() {
return names; return names;
} }
void AmoebaPiTorsionForceImpl::updateParametersInContext(ContextImpl& context) {
kernel.getAs<CalcAmoebaPiTorsionForceKernel>().copyParametersToContext(context, owner);
}
...@@ -70,3 +70,7 @@ void AmoebaStretchBendForce::setStretchBendParameters(int index, int particle1, ...@@ -70,3 +70,7 @@ void AmoebaStretchBendForce::setStretchBendParameters(int index, int particle1,
ForceImpl* AmoebaStretchBendForce::createImpl() { ForceImpl* AmoebaStretchBendForce::createImpl() {
return new AmoebaStretchBendForceImpl(*this); return new AmoebaStretchBendForceImpl(*this);
} }
void AmoebaStretchBendForce::updateParametersInContext(Context& context) {
dynamic_cast<AmoebaStretchBendForceImpl&>(getImplInContext(context)).updateParametersInContext(getContextImpl(context));
}
...@@ -62,3 +62,6 @@ std::vector<std::string> AmoebaStretchBendForceImpl::getKernelNames() { ...@@ -62,3 +62,6 @@ std::vector<std::string> AmoebaStretchBendForceImpl::getKernelNames() {
return names; return names;
} }
void AmoebaStretchBendForceImpl::updateParametersInContext(ContextImpl& context) {
kernel.getAs<CalcAmoebaStretchBendForceKernel>().copyParametersToContext(context, owner);
}
...@@ -122,3 +122,6 @@ ForceImpl* AmoebaVdwForce::createImpl() { ...@@ -122,3 +122,6 @@ ForceImpl* AmoebaVdwForce::createImpl() {
return new AmoebaVdwForceImpl(*this); return new AmoebaVdwForceImpl(*this);
} }
void AmoebaVdwForce::updateParametersInContext(Context& context) {
dynamic_cast<AmoebaVdwForceImpl&>(getImplInContext(context)).updateParametersInContext(getContextImpl(context));
}
...@@ -244,4 +244,6 @@ std::vector<std::string> AmoebaVdwForceImpl::getKernelNames() { ...@@ -244,4 +244,6 @@ std::vector<std::string> AmoebaVdwForceImpl::getKernelNames() {
return names; return names;
} }
void AmoebaVdwForceImpl::updateParametersInContext(ContextImpl& context) {
kernel.getAs<CalcAmoebaVdwForceKernel>().copyParametersToContext(context, owner);
}
...@@ -130,3 +130,7 @@ void AmoebaWcaDispersionForce::setSlevy( double inputSlevy ){ ...@@ -130,3 +130,7 @@ void AmoebaWcaDispersionForce::setSlevy( double inputSlevy ){
ForceImpl* AmoebaWcaDispersionForce::createImpl() { ForceImpl* AmoebaWcaDispersionForce::createImpl() {
return new AmoebaWcaDispersionForceImpl(*this); return new AmoebaWcaDispersionForceImpl(*this);
} }
void AmoebaWcaDispersionForce::updateParametersInContext(Context& context) {
dynamic_cast<AmoebaWcaDispersionForceImpl&>(getImplInContext(context)).updateParametersInContext(getContextImpl(context));
}
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