OpenMM
MonteCarloAnisotropicBarostat Class Reference

This class uses a Monte Carlo algorithm to adjust the size of the periodic box, simulating the effect of constant pressure. More...

+ Inheritance diagram for MonteCarloAnisotropicBarostat:

List of all members.

Public Member Functions

def PressureX
 PressureX() -> std::string const &.
def PressureY
 PressureY() -> std::string const &.
def PressureZ
 PressureZ() -> std::string const &.
def getDefaultPressure
 getDefaultPressure(self) -> Vec3 const &
def setDefaultPressure
 Set the default pressure acting on the system.
def getScaleX
 getScaleX(self) -> bool
def getScaleY
 getScaleY(self) -> bool
def getScaleZ
 getScaleZ(self) -> bool
def getFrequency
 getFrequency(self) -> int
def setFrequency
 Set the frequency (in time steps) at which Monte Carlo pressure changes should be attempted.
def getTemperature
 getTemperature(self) -> double
def setTemperature
 Set the temperature at which the system is being maintained.
def getRandomNumberSeed
 getRandomNumberSeed(self) -> int
def setRandomNumberSeed
 Set the random number seed.
def usesPeriodicBoundaryConditions
 usesPeriodicBoundaryConditions(self) -> bool
def __init__
 __init__(self, defaultPressure, temperature, scaleX=True, scaleY=True, scaleZ=True, frequency=25) -> MonteCarloAnisotropicBarostat __init__(self, defaultPressure, temperature, scaleX=True, scaleY=True, scaleZ=True) -> MonteCarloAnisotropicBarostat __init__(self, defaultPressure, temperature, scaleX=True, scaleY=True) -> MonteCarloAnisotropicBarostat __init__(self, defaultPressure, temperature, scaleX=True) -> MonteCarloAnisotropicBarostat __init__(self, defaultPressure, temperature) -> MonteCarloAnisotropicBarostat __init__(self, other) -> MonteCarloAnisotropicBarostat

Public Attributes

 this

Static Public Attributes

tuple PressureX = staticmethod(PressureX)
tuple PressureY = staticmethod(PressureY)
tuple PressureZ = staticmethod(PressureZ)

Detailed Description

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.


Constructor & Destructor Documentation

def __init__ (   self,
  args 
)

__init__(self, defaultPressure, temperature, scaleX=True, scaleY=True, scaleZ=True, frequency=25) -> MonteCarloAnisotropicBarostat __init__(self, defaultPressure, temperature, scaleX=True, scaleY=True, scaleZ=True) -> MonteCarloAnisotropicBarostat __init__(self, defaultPressure, temperature, scaleX=True, scaleY=True) -> MonteCarloAnisotropicBarostat __init__(self, defaultPressure, temperature, scaleX=True) -> MonteCarloAnisotropicBarostat __init__(self, defaultPressure, temperature) -> MonteCarloAnisotropicBarostat __init__(self, other) -> MonteCarloAnisotropicBarostat

Create a MonteCarloAnisotropicBarostat.

Parameters:
defaultPressure(Vec3) The default pressure acting on each axis (in bar)
temperature(double) the 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)

Member Function Documentation

def getDefaultPressure (   self)

getDefaultPressure(self) -> Vec3 const &

Get the default pressure (in bar).

Returns:
(Vec3) the default pressure acting along each axis, measured in bar.
def getFrequency (   self)

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.

def getRandomNumberSeed (   self)

getRandomNumberSeed(self) -> int

Get the random number seed. See setRandomNumberSeed() for details.

def getScaleX (   self)

getScaleX(self) -> bool

Get whether to allow the X dimension of the periodic box to change size.

def getScaleY (   self)

getScaleY(self) -> bool

Get whether to allow the Y dimension of the periodic box to change size.

def getScaleZ (   self)

getScaleZ(self) -> bool

Get whether to allow the Z dimension of the periodic box to change size.

def getTemperature (   self)

getTemperature(self) -> double

Get the temperature at which the system is being maintained, measured in Kelvin.

def PressureX ( )

PressureX() -> std::string const &.

This is the name of the parameter which stores the current pressure acting on the X-axis (in bar).

def PressureY ( )

PressureY() -> std::string const &.

This is the name of the parameter which stores the current pressure acting on the Y-axis (in bar).

def PressureZ ( )

PressureZ() -> std::string const &.

This is the name of the parameter which stores the current pressure acting on the Z-axis (in bar).

def 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.
def 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.

def 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.

def setTemperature (   self,
  temp 
)

Set the temperature at which the system is being maintained.

Parameters:
temp(double) the system temperature, measured in Kelvin.

usesPeriodicBoundaryConditions(self) -> bool

Returns whether or not this force makes use of periodic boundary conditions.

Returns:
(bool) true if force uses PBC and false otherwise

Reimplemented from Force.


Member Data Documentation

tuple PressureX = staticmethod(PressureX) [static]
tuple PressureY = staticmethod(PressureY) [static]
tuple PressureZ = staticmethod(PressureZ) [static]

Reimplemented from Force.


The documentation for this class was generated from the following file:
 All Classes Functions Variables