Commit a2d5b985 authored by peastman's avatar peastman
Browse files

Merge pull request #1139 from peastman/periodic

Fixed CustomExternalForce::usesPeriodicBoundaryConditions()
parents 2dee12e6 9e1145ac
...@@ -214,9 +214,7 @@ public: ...@@ -214,9 +214,7 @@ public:
* *
* @returns false * @returns false
*/ */
bool usesPeriodicBoundaryConditions() const { bool usesPeriodicBoundaryConditions() const;
return false;
}
protected: protected:
ForceImpl* createImpl() const; ForceImpl* createImpl() const;
private: private:
......
...@@ -119,3 +119,7 @@ ForceImpl* CustomExternalForce::createImpl() const { ...@@ -119,3 +119,7 @@ ForceImpl* CustomExternalForce::createImpl() const {
void CustomExternalForce::updateParametersInContext(Context& context) { void CustomExternalForce::updateParametersInContext(Context& context) {
dynamic_cast<CustomExternalForceImpl&>(getImplInContext(context)).updateParametersInContext(getContextImpl(context)); dynamic_cast<CustomExternalForceImpl&>(getImplInContext(context)).updateParametersInContext(getContextImpl(context));
} }
bool CustomExternalForce::usesPeriodicBoundaryConditions() const {
return (energyExpression.find("periodicdistance") != string::npos);
}
...@@ -119,6 +119,8 @@ void testPeriodic() { ...@@ -119,6 +119,8 @@ void testPeriodic() {
params[2] = z0; params[2] = z0;
force->addParticle(0, params); force->addParticle(0, params);
system.addForce(force); system.addForce(force);
ASSERT(force->usesPeriodicBoundaryConditions());
ASSERT(system.usesPeriodicBoundaryConditions());
VerletIntegrator integrator(0.01); VerletIntegrator integrator(0.01);
Context context(system, integrator, platform); Context context(system, integrator, platform);
vector<Vec3> positions(1); vector<Vec3> positions(1);
......
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