Unverified Commit 84a93cf8 authored by Peter Eastman's avatar Peter Eastman Committed by GitHub
Browse files

Improved units checking for function arguments (#3010)

parent ac67d179
......@@ -168,10 +168,13 @@ REQUIRE_ORDERED_SET = {("CustomNonbondedForce", "addInteractionGroup") : [0, 1],
UNITS = {
("*", "getConstraintTolerance") : (None, ()),
("*", "getCutoffDistance") : ("unit.nanometers", ()),
("*", "setCutoffDistance") : (None, ("unit.nanometers",)),
("*", "getSwitchingDistance") : ("unit.nanometers", ()),
("*", "getDefaultCollisionFrequency") : ("1/unit.picosecond", ()),
("*", "getDefaultPeriodicBoxVectors")
: (None, ('unit.nanometer', 'unit.nanometer', 'unit.nanometer')),
("*", "setSwitchingDistance") : (None, ("unit.nanometers",)),
("*", "getDefaultCollisionFrequency") : ("unit.picosecond**-1", ()),
("*", "setDefaultCollisionFrequency") : (None, ("unit.picosecond**-1",)),
("*", "getDefaultPeriodicBoxVectors") : (None, ("unit.nanometer", "unit.nanometer", "unit.nanometer")),
("*", "setDefaultPeriodicBoxVectors") : (None, ("unit.nanometer", "unit.nanometer", "unit.nanometer")),
("*", "getDefaultPressure") : ("unit.bar", ()),
("*", "getDefaultPressureX") : ("unit.bar", ()),
("*", "getDefaultPressureY") : ("unit.bar", ()),
......@@ -187,7 +190,8 @@ UNITS = {
("*", "getRelativeTemperature") : ("unit.kelvin", ()),
("*", "getErrorTolerance") : (None, ()),
("*", "getEwaldErrorTolerance") : (None, ()),
("*", "getFriction") : ("1/unit.picosecond", ()),
("*", "getFriction") : ("unit.picosecond**-1", ()),
("*", "setFriction") : (None, ("unit.picosecond**-1",)),
("*", "getGlobalVariable") : (None, ()),
("*", "getGlobalVariableByName") : (None, ()),
("*", "getIntegrator") : (None, ()),
......@@ -205,6 +209,7 @@ UNITS = {
("*", "getNumTorsions") : (None, ()),
("*", "getOpenMMVersion") : (None, ()),
("*", "getParticleMass") : ("unit.amu", ()),
("*", "setParticleMass") : (None, (None, "unit.amu")),
("*", "getPlatform") : (None, ()),
("*", "getPlatformByName") : (None, ()),
("*", "getPluginLoadFailures"): (None, ()),
......@@ -213,14 +218,15 @@ UNITS = {
("*", "getSoluteDielectric") : (None, ()),
("*", "getSolventDielectric") : (None, ()),
("*", "getStepSize") : ("unit.picosecond", ()),
("*", "setStepSize") : (None, ("unit.picosecond",)),
("*", "getMaximumStepSize") : ("unit.picosecond", ()),
("*", "setMaximumStepSize") : (None, ("unit.picosecond",)),
("*", "getSystem") : (None, ()),
("*", "getTabulatedFunction") : (None, ()),
("*", "getUseDispersionCorrection") : (None, ()),
("*", "getTemperature") : ("unit.kelvin", ()),
("*", "getRelativeTemperature") : ("unit.kelvin", ()),
("*", "getCollisionFrequency") : ( "1/unit.picosecond", ()),
("*", "getRelativeCollisionFrequency") : ( "1/unit.picosecond", ()),
("*", "getCollisionFrequency") : ( "unit.picosecond**-1", ()),
("*", "getRelativeCollisionFrequency") : ( "unit.picosecond**-1", ()),
("*", "getUseDispersionCorrection") : (None, ()),
("*", "getWeight") : (None, ()),
("*", "getWeight12") : (None, ()),
......@@ -355,7 +361,12 @@ UNITS = {
("Context", "getParameters") : (None, ()),
("Context", "getMolecules") : (None, ()),
("Context", "getState") : (None, (None, None, None)),
("CMAPTorsionForce", "getMapParameters") : (None, (None, 'unit.kilojoule_per_mole')),
("Context", "setPeriodicBoxVectors") : (None, ("unit.nanometer", "unit.nanometer", "unit.nanometer")),
("Context", "setPositions") : (None, ("unit.nanometer",)),
("Context", "setTime") : (None, ("unit.picosecond",)),
("Context", "setVelocities") : (None, ("unit.nanometer/unit.picosecond",)),
("CMAPTorsionForce", "getMapParameters") : (None, (None, "unit.kilojoule_per_mole")),
("CMAPTorsionForce", "setMapParameters") : (None, (None, None, "unit.kilojoule_per_mole")),
("CMAPTorsionForce", "getTorsionParameters") : (None, ()),
("CMMotionRemover", "getFrequency") : (None, ()),
("CustomAngleForce", "getNumPerAngleParameters") : (None, ()),
......@@ -426,68 +437,91 @@ UNITS = {
("CustomTorsionForce", "getTorsionParameters") : (None, ()),
("CustomCVForce", "getCollectiveVariable") : (None, ()),
("CustomCVForce", "getInnerContext") : (None, ()),
("DrudeForce", "getParticleParameters") : (None, (None, None, None, None, None, 'unit.elementary_charge', 'unit.nanometer**3', None, None)),
("DrudeForce", "addParticle") : (None, (None, None, None, None, None, "unit.elementary_charge", "unit.nanometer**3", None, None)),
("DrudeForce", "getParticleParameters") : (None, (None, None, None, None, None, "unit.elementary_charge", "unit.nanometer**3", None, None)),
("DrudeForce", "setParticleParameters") : (None, (None, None, None, None, None, None, "unit.elementary_charge", "unit.nanometer**3", None, None)),
("DrudeForce", "getNumScreenedPairs") : (None, ()),
("DrudeForce", "getScreenedPairParameters") : (None, ()),
("GBSAOBCForce", "getParticleParameters")
: (None, ('unit.elementary_charge',
'unit.nanometer', None)),
("GBSAOBCForce", "getSurfaceAreaEnergy") : ('unit.kilojoule_per_mole/unit.nanometer/unit.nanometer', ()),
("HarmonicAngleForce", "getAngleParameters")
: (None, (None, None, None, 'unit.radian',
'unit.kilojoule_per_mole/(unit.radian*unit.radian)')),
("HarmonicBondForce", "getBondParameters")
: (None, (None, None, 'unit.nanometer',
'unit.kilojoule_per_mole/(unit.nanometer*unit.nanometer)')),
("GBSAOBCForce", "addParticle") : (None, ("unit.elementary_charge", "unit.nanometer", None)),
("GBSAOBCForce", "getParticleParameters") : (None, ("unit.elementary_charge", "unit.nanometer", None)),
("GBSAOBCForce", "setParticleParameters") : (None, (None, "unit.elementary_charge", "unit.nanometer", None)),
("GBSAOBCForce", "getSurfaceAreaEnergy") : ("unit.kilojoule_per_mole/unit.nanometer/unit.nanometer", ()),
("GBSAOBCForce", "setSurfaceAreaEnergy") : (None, ("unit.kilojoule_per_mole/unit.nanometer/unit.nanometer",)),
("HarmonicAngleForce", "addAngle") : (None, (None, None, None, "unit.radian", "unit.kilojoule_per_mole/(unit.radian*unit.radian)")),
("HarmonicAngleForce", "getAngleParameters") : (None, (None, None, None, "unit.radian", "unit.kilojoule_per_mole/(unit.radian*unit.radian)")),
("HarmonicAngleForce", "setAngleParameters") : (None, (None, None, None, None, "unit.radian", "unit.kilojoule_per_mole/(unit.radian*unit.radian)")),
("HarmonicBondForce", "addBond") : (None, (None, None, "unit.nanometer", "unit.kilojoule_per_mole/(unit.nanometer*unit.nanometer)")),
("HarmonicBondForce", "getBondParameters") : (None, (None, None, "unit.nanometer", "unit.kilojoule_per_mole/(unit.nanometer*unit.nanometer)")),
("HarmonicBondForce", "setBondParameters") : (None, (None, None, None, "unit.nanometer", "unit.kilojoule_per_mole/(unit.nanometer*unit.nanometer)")),
("MonteCarloBarostat", "getFrequency") : (None, ()),
("MonteCarloAnisotropicBarostat", "getFrequency") : (None, ()),
("NonbondedForce", "getPMEParameters") : (None, ('1/unit.nanometer', None, None, None)),
("NonbondedForce", "getExceptionParameters")
: (None, (None, None,
'unit.elementary_charge*unit.elementary_charge',
'unit.nanometer', 'unit.kilojoule_per_mole')),
("NonbondedForce", "getParticleParameters")
: (None, ('unit.elementary_charge',
'unit.nanometer', 'unit.kilojoule_per_mole')),
("PeriodicTorsionForce", "getTorsionParameters")
: (None, (None, None, None, None,
None, 'unit.radian', 'unit.kilojoule_per_mole')),
("GayBerneForce", "getParticleParameters")
: (None, ('unit.nanometer', 'unit.kilojoule_per_mole', None, None, 'unit.nanometer', 'unit.nanometer', 'unit.nanometer', None, None, None)),
("NonbondedForce", "getPMEParameters") : (None, ("unit.nanometer**-1", None, None, None)),
("NonbondedForce", "setPMEParameters") : (None, ("unit.nanometer**-1", None, None, None)),
("NonbondedForce", "addException") : (None, (None, None, "unit.elementary_charge*unit.elementary_charge", "unit.nanometer", "unit.kilojoule_per_mole")),
("NonbondedForce", "getExceptionParameters") : (None, (None, None, "unit.elementary_charge*unit.elementary_charge", "unit.nanometer", "unit.kilojoule_per_mole")),
("NonbondedForce", "setExceptionParameters") : (None, (None, None, None, "unit.elementary_charge*unit.elementary_charge", "unit.nanometer", "unit.kilojoule_per_mole")),
("NonbondedForce", "addParticle") : (None, ("unit.elementary_charge", "unit.nanometer", "unit.kilojoule_per_mole")),
("NonbondedForce", "getParticleParameters") : (None, ("unit.elementary_charge", "unit.nanometer", "unit.kilojoule_per_mole")),
("NonbondedForce", "setParticleParameters") : (None, (None, "unit.elementary_charge", "unit.nanometer", "unit.kilojoule_per_mole")),
("PeriodicTorsionForce", "addTorsion") : (None, (None, None, None, None, None, "unit.radian", "unit.kilojoule_per_mole")),
("PeriodicTorsionForce", "getTorsionParameters") : (None, (None, None, None, None, None, "unit.radian", "unit.kilojoule_per_mole")),
("PeriodicTorsionForce", "setTorsionParameters") : (None, (None, None, None, None, None, None, "unit.radian", "unit.kilojoule_per_mole")),
("GayBerneForce", "addParticle") : (None, ("unit.nanometer", "unit.kilojoule_per_mole", None, None, "unit.nanometer", "unit.nanometer", "unit.nanometer", None, None, None)),
("GayBerneForce", "getParticleParameters") : (None, ("unit.nanometer", "unit.kilojoule_per_mole", None, None, "unit.nanometer", "unit.nanometer", "unit.nanometer", None, None, None)),
("GayBerneForce", "setParticleParameters") : (None, (None, "unit.nanometer", "unit.kilojoule_per_mole", None, None, "unit.nanometer", "unit.nanometer", "unit.nanometer", None, None, None)),
("Platform", "getDefaultPluginsDirectory") : (None, ()),
("Platform", "getPropertyDefaultValue") : (None, ()),
("Platform", "getPropertyNames") : (None, ()),
("Platform", "getPropertyValue") : (None, ()),
("Platform", "getSpeed") : (None, ()),
("RBTorsionForce", "getTorsionParameters")
: (None, (None, None, None, None,
'unit.kilojoules_per_mole', 'unit.kilojoules_per_mole', 'unit.kilojoules_per_mole',
'unit.kilojoules_per_mole', 'unit.kilojoules_per_mole', 'unit.kilojoules_per_mole')),
("State", "getTime") : ('unit.picosecond', ()),
("State", "getKineticEnergy") : ('unit.kilojoules_per_mole', ()),
("State", "getPotentialEnergy") : ('unit.kilojoules_per_mole', ()),
("State", "getPeriodicBoxVolume") : ('unit.nanometers**3', ()),
("State", "getPeriodicBoxVectors") : ('unit.nanometers', ()),
("RBTorsionForce", "addTorsion") : (None, (None, None, None, None, "unit.kilojoules_per_mole", "unit.kilojoules_per_mole", "unit.kilojoules_per_mole", "unit.kilojoules_per_mole", "unit.kilojoules_per_mole", "unit.kilojoules_per_mole")),
("RBTorsionForce", "getTorsionParameters") : (None, (None, None, None, None, "unit.kilojoules_per_mole", "unit.kilojoules_per_mole", "unit.kilojoules_per_mole", "unit.kilojoules_per_mole", "unit.kilojoules_per_mole", "unit.kilojoules_per_mole")),
("RBTorsionForce", "setTorsionParameters") : (None, (None, None, None, None, None, "unit.kilojoules_per_mole", "unit.kilojoules_per_mole", "unit.kilojoules_per_mole", "unit.kilojoules_per_mole", "unit.kilojoules_per_mole", "unit.kilojoules_per_mole")),
("State", "getTime") : ("unit.picosecond", ()),
("State", "getKineticEnergy") : ("unit.kilojoules_per_mole", ()),
("State", "getPotentialEnergy") : ("unit.kilojoules_per_mole", ()),
("State", "getPeriodicBoxVolume") : ("unit.nanometers**3", ()),
("State", "getPeriodicBoxVectors") : ("unit.nanometers", ()),
("State", "getParameters") : (None, ()),
("State", "getEnergyParameterDerivatives") : (None, ()),
("System", "getConstraintParameters") : (None, (None, None, 'unit.nanometer')),
("System", "addParticle") : (None, ("unit.amu",)),
("System", "addConstraint") : (None, (None, None, "unit.nanometer")),
("System", "getConstraintParameters") : (None, (None, None, "unit.nanometer")),
("System", "setConstraintParameters") : (None, (None, None, None, "unit.nanometer")),
("System", "getForce") : (None, ()),
("System", "getVirtualSite") : (None, ()),
("AndersenThemostat", "AndersenThemostat") : (None, ("unit.kelvin", "unit.picosecond**-1")),
("MonteCarloAnisotropicBarostat", "MonteCarloAnisotropicBarostat") : (None, ("unit.bar", "unit.kelvin", None, None, None, None)),
("MonteCarloBarostat", "MonteCarloBarostat") : (None, ("unit.bar", "unit.kelvin", None)),
("MonteCarloMembraneBarostat", "MonteCarloMembraneBarostat") : (None, ("unit.bar", "unit.bar*unit.nanometer", "unit.kelvin", None, None, None)),
("MonteCarloMembraneBarostat", "getXYMode") : (None, ()),
("MonteCarloMembraneBarostat", "getZMode") : (None, ()),
("CustomIntegrator", "CustomIntegrator") : (None, ("unit.picosecond",)),
("BrownianIntegrator", "BrownianIntegrator") : (None, ("unit.kelvin", "unit.picosecond**-1", "unit.picosecond")),
("LangevinIntegrator", "LangevinIntegrator") : (None, ("unit.kelvin", "unit.picosecond**-1", "unit.picosecond")),
("LangevinMiddleIntegrator", "LangevinMiddleIntegrator") : (None, ("unit.kelvin", "unit.picosecond**-1", "unit.picosecond")),
("VariableLangevinIntegrator", "VariableLangevinIntegrator") : (None, ("unit.kelvin", "unit.picosecond**-1", None)),
("VerletIntegrator", "VerletIntegrator") : (None, ("unit.picosecond",)),
("DrudeIntegrator", "getDrudeTemperature") : ("unit.kelvin", ()),
("DrudeIntegrator", "setDrudeTemperature") : (None, ("unit.kelvin",)),
("DrudeIntegrator", "getMaxDrudeDistance") : ("unit.nanometer", ()),
("DrudeIntegrator", "setMaxDrudeDistance") : (None, ("unit.nanometer",)),
("DrudeLangevinIntegrator", "getDrudeTemperature") : ("unit.kelvin", ()),
("DrudeLangevinIntegrator", "setDrudeTemperature") : (None, ("unit.kelvin",)),
("DrudeLangevinIntegrator", "getMaxDrudeDistance") : ("unit.nanometer", ()),
("DrudeNoseHooverIntegrator", "getVelocitiesForTemperature") : ("unit.nanometers / unit.picosecond", ()),
("MonteCarloMembraneBarostat", "MonteCarloMembraneBarostat") : (None, ("unit.bar", "unit.bar*unit.nanometer", "unit.kelvin", None, None, None)),
("MonteCarloMembraneBarostat", "getXYMode") : (None, ()),
("MonteCarloMembraneBarostat", "getZMode") : (None, ()),
("DrudeLangevinIntegrator", "setMaxDrudeDistance") : (None, ("unit.nanometer",)),
("DrudeNoseHooverIntegrator", "getVelocitiesForTemperature") : ("unit.nanometers / unit.picosecond", (None, "unit.kelvin", None)),
("DrudeLangevinIntegrator", "getDrudeFriction") : ("unit.picosecond**-1", ()),
("DrudeLangevinIntegrator", "setDrudeFriction") : (None, ("unit.picosecond**-1",)),
("DrudeSCFIntegrator", "getMinimizationErrorTolerance") : ("unit.kilojoules_per_mole/unit.nanometer", ()),
("DrudeSCFIntegrator", "setMinimizationErrorTolerance") : (None, ("unit.kilojoules_per_mole/unit.nanometer",)),
("RPMDIntegrator", "getContractions") : (None, ()),
("RPMDIntegrator", "getTotalEnergy") : ("unit.kilojoules_per_mole", ()),
("RPMDIntegrator", "getState"): (None,(None, None, None, None)),
("RMSDForce", "getReferencePositions") : ("unit.nanometer", ()),
("RMSDForce", "setReferencePositions") : (None, ("unit.nanometer",)),
("RMSDForce", "getParticles") : (None, ()),
("NoseHooverChain", "NoseHooverChain") : (None, ("unit.kelvin", "unit.kelvin", "unit.picosecond**-1", "unit.picosecond**-1", None, None, None, None, None, None, None)),
("NoseHooverChain", "getThermostatedPairs") : (None, ()),
("NoseHooverChain", "getThermostatedAtoms") : (None, ()),
("NoseHooverChain", "getYoshidaSuzukiWeights") : (None, ()),
......@@ -497,8 +531,7 @@ UNITS = {
("NoseHooverIntegrator", "setRelativeCollisionFrequency") : (None, ("unit.picosecond**-1", None)),
("NoseHooverIntegrator", "computeHeatBathEnergy") : ( "unit.kilojoules_per_mole", ()),
("NoseHooverIntegrator", "addThermostat"): (None, ("unit.kelvin", "unit.picosecond**-1", None, None, None)),
("NoseHooverIntegrator", "addSubsystemThermostat"):
(None, (None, None, "unit.kelvin", "unit.picosecond**-1", "unit.kelvin", "unit.picosecond**-1", None, None, None)),
("NoseHooverIntegrator", "addSubsystemThermostat"): (None, (None, None, "unit.kelvin", "unit.picosecond**-1", "unit.kelvin", "unit.picosecond**-1", None, None, None)),
("NoseHooverIntegrator", "getNumThermostats") : (None, ()),
("NoseHooverIntegrator", "getThermostat") : (None, ()),
("NoseHooverIntegrator", "getMaximumPairDistance") : ("unit.nanometer", ()),
......
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