MonteCarloAnisotropicBarostat¶
- class openmm.openmm.MonteCarloAnisotropicBarostat(*args)¶
This class uses a Monte Carlo algorithm to adjust the size of the periodic box, simulating the effect of constant pressure.
This class is similar to MonteCarloBarostat, but each Monte Carlo move is applied to only one axis of the periodic box (unlike MonteCarloBarostat, which scales the entire box isotropically). This means that the box may change shape as well as size over the course of the simulation. It also allows you to specify a different pressure for each axis of the box, or to keep the box size fixed along certain axes while still allowing it to change along others.
This class assumes the simulation is also being run at constant temperature, and requires you to specify the system temperature (since it affects the acceptance probability for Monte Carlo moves). It does not actually perform temperature regulation, however. You must use another mechanism along with it to maintain the temperature, such as LangevinIntegrator or AndersenThermostat.
- __init__(self, defaultPressure, defaultTemperature, scaleX=True, scaleY=True, scaleZ=True, frequency=25) → MonteCarloAnisotropicBarostat¶
- __init__(self, other) → MonteCarloAnisotropicBarostat
Create a MonteCarloAnisotropicBarostat.
- Parameters
defaultPressure (Vec3) – The default pressure acting on each axis (in bar)
defaultTemperature (double) – the default temperature at which the system is being maintained (in Kelvin)
scaleX (bool) – whether to allow the X dimension of the periodic box to change size
scaleY (bool) – whether to allow the Y dimension of the periodic box to change size
scaleZ (bool) – whether to allow the Z dimension of the periodic box to change size
frequency (int) – the frequency at which Monte Carlo pressure changes should be attempted (in time steps)
Methods
This is the name of the parameter which stores the current pressure acting on the X-axis (in bar).
This is the name of the parameter which stores the current pressure acting on the Y-axis (in bar).
This is the name of the parameter which stores the current pressure acting on the Z-axis (in bar).
This is the name of the parameter which stores the current temperature at which the system is being maintained (in Kelvin)
__init__
(-> MonteCarloAnisotropicBarostat)Create a MonteCarloAnisotropicBarostat.
getDefaultPressure
(self)Get the default pressure (in bar).
getDefaultTemperature
(self)Get the default temperature at which the system is being maintained, measured in Kelvin.
getForceGroup
(self)Get the force group this Force belongs to.
getFrequency
(self)Get the frequency (in time steps) at which Monte Carlo pressure changes should be attempted.
getName
(self)Get the name of this Force.
getRandomNumberSeed
(self)Get the random number seed.
getScaleX
(self)Get whether to allow the X dimension of the periodic box to change size.
getScaleY
(self)Get whether to allow the Y dimension of the periodic box to change size.
getScaleZ
(self)Get whether to allow the Z dimension of the periodic box to change size.
setDefaultPressure
(self, pressure)Set the default pressure acting on the system.
setDefaultTemperature
(self, temp)Set the default temperature at which the system is being maintained.
setForceGroup
(self, group)Set the force group this Force belongs to.
setFrequency
(self, freq)Set the frequency (in time steps) at which Monte Carlo pressure changes should be attempted.
setName
(self, name)Set the name of this Force.
setRandomNumberSeed
(self, seed)Set the random number seed.
Returns whether or not this force makes use of periodic boundary conditions.
Attributes
The membership flag
- property thisown¶
The membership flag
- static PressureX() → std::string const &¶
This is the name of the parameter which stores the current pressure acting on the X-axis (in bar).
- static PressureY() → std::string const &¶
This is the name of the parameter which stores the current pressure acting on the Y-axis (in bar).
- static PressureZ() → std::string const &¶
This is the name of the parameter which stores the current pressure acting on the Z-axis (in bar).
- static Temperature() → std::string const &¶
This is the name of the parameter which stores the current temperature at which the system is being maintained (in Kelvin)
- getDefaultPressure(self) → Vec3 const &¶
Get the default pressure (in bar).
- Returns
the default pressure acting along each axis, measured in bar.
- Return type
- setDefaultPressure(self, pressure)¶
Set the default pressure acting on the system. This will affect any new Contexts you create, but not ones that already exist.
- Parameters
pressure (Vec3) – the default pressure acting on the system, measured in bar.
- getScaleX(self) → bool¶
Get whether to allow the X dimension of the periodic box to change size.
- getScaleY(self) → bool¶
Get whether to allow the Y dimension of the periodic box to change size.
- getScaleZ(self) → bool¶
Get whether to allow the Z dimension of the periodic box to change size.
- getFrequency(self) → int¶
Get the frequency (in time steps) at which Monte Carlo pressure changes should be attempted. If this is set to 0, the barostat is disabled.
- setFrequency(self, freq)¶
Set the frequency (in time steps) at which Monte Carlo pressure changes should be attempted. If this is set to 0, the barostat is disabled.
- getDefaultTemperature(self) → double¶
Get the default temperature at which the system is being maintained, measured in Kelvin.
- setDefaultTemperature(self, temp)¶
Set the default temperature at which the system is being maintained. This will affect any new Contexts you create, but not ones that already exist.
- Parameters
temp (double) – the system temperature, measured in Kelvin.
- getRandomNumberSeed(self) → int¶
Get the random number seed. See setRandomNumberSeed() for details.
- setRandomNumberSeed(self, seed)¶
Set the random number seed. It is guaranteed that if two simulations are run with different random number seeds, the sequence of Monte Carlo steps will be different. On the other hand, no guarantees are made about the behavior of simulations that use the same seed. In particular, Platforms are permitted to use non-deterministic algorithms which produce different results on successive runs, even if those runs were initialized identically.
If seed is set to 0 (which is the default value assigned), a unique seed is chosen when a Context is created from this Force. This is done to ensure that each Context receives unique random seeds without you needing to set them explicitly.
- usesPeriodicBoundaryConditions(self) → bool¶
Returns whether or not this force makes use of periodic boundary conditions.
- Returns
true if force uses PBC and false otherwise
- Return type
bool
- getForceGroup(self) → int¶
Get the force group this Force belongs to.
- getName(self) → std::string const &¶
Get the name of this Force. This is an arbitrary, user modifiable identifier. By default it equals the class name, but you can change it to anything useful.
- setForceGroup(self, group)¶
Set the force group this Force belongs to.
- Parameters
group (int) – the group index. Legal values are between 0 and 31 (inclusive).
- setName(self, name)¶
Set the name of this Force. This is an arbitrary, user modifiable identifier. By default it equals the class name, but you can change it to anything useful.