Commit 1beac75d authored by Mark Friedrichs's avatar Mark Friedrichs
Browse files

Mods associated w/ polarization type parameter

parent b1dc92cc
...@@ -70,10 +70,11 @@ void loadCovalentMap( const SerializationNode& map, std::vector< int >& covalent ...@@ -70,10 +70,11 @@ void loadCovalentMap( const SerializationNode& map, std::vector< int >& covalent
} }
void AmoebaMultipoleForceProxy::serialize(const void* object, SerializationNode& node) const { void AmoebaMultipoleForceProxy::serialize(const void* object, SerializationNode& node) const {
node.setIntProperty("version", 1); node.setIntProperty("version", 2);
const AmoebaMultipoleForce& force = *reinterpret_cast<const AmoebaMultipoleForce*>(object); const AmoebaMultipoleForce& force = *reinterpret_cast<const AmoebaMultipoleForce*>(object);
node.setIntProperty("nonbondedMethod", force.getNonbondedMethod()); node.setIntProperty("nonbondedMethod", force.getNonbondedMethod());
node.setIntProperty("polarizationType", force.getPolarizationType());
node.setIntProperty("pmeBSplineOrder", force.getPmeBSplineOrder()); node.setIntProperty("pmeBSplineOrder", force.getPmeBSplineOrder());
node.setIntProperty("mutualInducedIterationMethod", force.getMutualInducedIterationMethod()); node.setIntProperty("mutualInducedIterationMethod", force.getMutualInducedIterationMethod());
node.setIntProperty("mutualInducedMaxIterations", force.getMutualInducedMaxIterations()); node.setIntProperty("mutualInducedMaxIterations", force.getMutualInducedMaxIterations());
...@@ -125,13 +126,16 @@ void AmoebaMultipoleForceProxy::serialize(const void* object, SerializationNode& ...@@ -125,13 +126,16 @@ void AmoebaMultipoleForceProxy::serialize(const void* object, SerializationNode&
} }
void* AmoebaMultipoleForceProxy::deserialize(const SerializationNode& node) const { void* AmoebaMultipoleForceProxy::deserialize(const SerializationNode& node) const {
if (node.getIntProperty("version") != 1) if (node.getIntProperty("version") > 2)
throw OpenMMException("Unsupported version number"); throw OpenMMException("Unsupported version number");
AmoebaMultipoleForce* force = new AmoebaMultipoleForce(); AmoebaMultipoleForce* force = new AmoebaMultipoleForce();
try { try {
force->setNonbondedMethod( static_cast<AmoebaMultipoleForce::AmoebaNonbondedMethod>(node.getIntProperty( "nonbondedMethod" )) ); force->setNonbondedMethod( static_cast<AmoebaMultipoleForce::AmoebaNonbondedMethod>(node.getIntProperty( "nonbondedMethod" )) );
if( node.getIntProperty("version") == 2 ){
force->setPolarizationType( static_cast<AmoebaMultipoleForce::AmoebaPolarizationType>(node.getIntProperty( "polarizationType" )) );
}
force->setPmeBSplineOrder( node.getIntProperty( "pmeBSplineOrder" ) ); force->setPmeBSplineOrder( node.getIntProperty( "pmeBSplineOrder" ) );
force->setMutualInducedIterationMethod( static_cast<AmoebaMultipoleForce::MutualInducedIterationMethod>(node.getIntProperty( "mutualInducedIterationMethod" ) ) ); force->setMutualInducedIterationMethod( static_cast<AmoebaMultipoleForce::MutualInducedIterationMethod>(node.getIntProperty( "mutualInducedIterationMethod" ) ) );
force->setMutualInducedMaxIterations( node.getIntProperty( "mutualInducedMaxIterations" ) ); force->setMutualInducedMaxIterations( node.getIntProperty( "mutualInducedMaxIterations" ) );
......
...@@ -247,6 +247,7 @@ UNITS = { ...@@ -247,6 +247,7 @@ UNITS = {
("AmoebaMultipoleForce", "getNumMultipoles") : ( None,()), ("AmoebaMultipoleForce", "getNumMultipoles") : ( None,()),
("AmoebaMultipoleForce", "getNonbondedMethod") : ( None,()), ("AmoebaMultipoleForce", "getNonbondedMethod") : ( None,()),
("AmoebaMultipoleForce", "getPolarizationType") : ( None,()),
("AmoebaMultipoleForce", "getCutoffDistance") : ( 'unit.nanometer',()), ("AmoebaMultipoleForce", "getCutoffDistance") : ( 'unit.nanometer',()),
("AmoebaMultipoleForce", "getAEwald") : ( '1/unit.nanometer',()), ("AmoebaMultipoleForce", "getAEwald") : ( '1/unit.nanometer',()),
("AmoebaMultipoleForce", "getPmeBSplineOrder") : ( None,()), ("AmoebaMultipoleForce", "getPmeBSplineOrder") : ( None,()),
......
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