OpenMM
MonteCarloMembraneBarostat Class Reference

This is a Monte Carlo barostat designed specifically for membrane simulations. More...

+ Inheritance diagram for MonteCarloMembraneBarostat:

List of all members.

Public Member Functions

def Pressure
 Pressure() -> std::string const &.
def SurfaceTension
 SurfaceTension() -> std::string const &.
def getDefaultPressure
 getDefaultPressure(self) -> double
def setDefaultPressure
 Set the default pressure acting on the system.
def getDefaultSurfaceTension
 getDefaultSurfaceTension(self) -> double
def setDefaultSurfaceTension
 Set the default surface tension acting on the system.
def getFrequency
 getFrequency(self) -> int
def setFrequency
 Set the frequency (in time steps) at which Monte Carlo volume changes should be attempted.
def getTemperature
 getTemperature(self) -> double
def setTemperature
 Set the temperature at which the system is being maintained.
def getXYMode
 getXYMode(self) -> OpenMM::MonteCarloMembraneBarostat::XYMode
def setXYMode
 Set the mode specifying the behavior of the X and Y axes.
def getZMode
 getZMode(self) -> OpenMM::MonteCarloMembraneBarostat::ZMode
def setZMode
 Set the mode specifying the behavior of the Z axis.
def getRandomNumberSeed
 getRandomNumberSeed(self) -> int
def setRandomNumberSeed
 Set the random number seed.
def usesPeriodicBoundaryConditions
 usesPeriodicBoundaryConditions(self) -> bool
def __init__
 __init__(self, defaultPressure, defaultSurfaceTension, temperature, xymode, zmode, frequency=25) -> MonteCarloMembraneBarostat __init__(self, defaultPressure, defaultSurfaceTension, temperature, xymode, zmode) -> MonteCarloMembraneBarostat __init__(self, other) -> MonteCarloMembraneBarostat

Public Attributes

 this

Static Public Attributes

 XYIsotropic = _openmm.MonteCarloMembraneBarostat_XYIsotropic
 XYAnisotropic = _openmm.MonteCarloMembraneBarostat_XYAnisotropic
 ZFree = _openmm.MonteCarloMembraneBarostat_ZFree
 ZFixed = _openmm.MonteCarloMembraneBarostat_ZFixed
 ConstantVolume = _openmm.MonteCarloMembraneBarostat_ConstantVolume
tuple Pressure = staticmethod(Pressure)
tuple SurfaceTension = staticmethod(SurfaceTension)

Detailed Description

This is a Monte Carlo barostat designed specifically for membrane simulations.

It assumes the membrane lies in the XY plane. The Monte Carlo acceptance criterion includes a term to model isotropic pressure, which depends on the volume of the periodic box, and a second term to model surface tension, which depends on the cross sectional area of the box in the XY plane. Note that pressure and surface tension are defined with opposite senses: a larger pressure tends to make the box smaller, but a larger surface tension tends to make the box larger.

There are options for configuring exactly how the various box dimensions are allowed to change:

  • The X and Y axes may be treated isotropically, in which case they always scale by the same amount and remain in proportion to each other; or they may be treated anisotropically, in which case they can vary independently of each other.
  • The Z axis can be allowed to vary independently of the other axes; or held fixed; or constrained to vary in inverse proportion to the other two axes, so that the total box volume remains fixed.

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, defaultSurfaceTension, temperature, xymode, zmode, frequency=25) -> MonteCarloMembraneBarostat __init__(self, defaultPressure, defaultSurfaceTension, temperature, xymode, zmode) -> MonteCarloMembraneBarostat __init__(self, other) -> MonteCarloMembraneBarostat

Create a MonteCarloMembraneBarostat.

Parameters:
defaultPressure(double) the default pressure acting on the system (in bar)
defaultSurfaceTension(double) the default surface tension acting on the system (in bar*nm)
temperature(double) the temperature at which the system is being maintained (in Kelvin)
xymode(XYMode) the mode specifying the behavior of the X and Y axes
zmode(ZMode) the mode specifying the behavior of the Z axis
frequency(int) the frequency at which Monte Carlo volume changes should be attempted (in time steps)

Member Function Documentation

def getDefaultPressure (   self)

getDefaultPressure(self) -> double

Get the default pressure acting on the system (in bar).

Returns:
(double) the default pressure acting on the system, measured in bar.
def getDefaultSurfaceTension (   self)

getDefaultSurfaceTension(self) -> double

Get the default surface tension acting on the system (in bar*nm).

Returns:
(double) the default surface tension acting on the system, measured in bar*nm.
def getFrequency (   self)

getFrequency(self) -> int

Get the frequency (in time steps) at which Monte Carlo volume 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 getTemperature (   self)

getTemperature(self) -> double

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

def getXYMode (   self)

getXYMode(self) -> OpenMM::MonteCarloMembraneBarostat::XYMode

Get the mode specifying the behavior of the X and Y axes.

def getZMode (   self)

getZMode(self) -> OpenMM::MonteCarloMembraneBarostat::ZMode

Get the mode specifying the behavior of the Z axis.

def Pressure ( )

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

This is the name of the parameter which stores the current pressure acting on the system (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(double) the default pressure acting on the system, measured in bar.
def setDefaultSurfaceTension (   self,
  surfaceTension 
)

Set the default surface tension acting on the system.

This will affect any new Contexts you create, but not ones that already exist.

Parameters:
surfaceTension(double) the default surface tension acting on the system, measured in bar.
def setFrequency (   self,
  freq 
)

Set the frequency (in time steps) at which Monte Carlo volume 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.
def setXYMode (   self,
  mode 
)

Set the mode specifying the behavior of the X and Y axes.

def setZMode (   self,
  mode 
)

Set the mode specifying the behavior of the Z axis.

def SurfaceTension ( )

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

This is the name of the parameter which stores the current surface tension acting on the system (in bar*nm).

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

ConstantVolume = _openmm.MonteCarloMembraneBarostat_ConstantVolume [static]
tuple Pressure = staticmethod(Pressure) [static]
tuple SurfaceTension = staticmethod(SurfaceTension) [static]

Reimplemented from Force.

XYAnisotropic = _openmm.MonteCarloMembraneBarostat_XYAnisotropic [static]
XYIsotropic = _openmm.MonteCarloMembraneBarostat_XYIsotropic [static]
ZFixed = _openmm.MonteCarloMembraneBarostat_ZFixed [static]
ZFree = _openmm.MonteCarloMembraneBarostat_ZFree [static]

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