ParM  parm
A molecular dynamics library
Public Member Functions | Protected Attributes | List of all members
LeesEdwardsBox Class Reference

Lees-Edwards boundary conditions, with shear in the x-direction, relative to y. More...

#include <box.hpp>

Inheritance diagram for LeesEdwardsBox:
OriginBox Box

Public Member Functions

 LeesEdwardsBox (Vec size, flt gamma=0.0)
 
 LeesEdwardsBox (flt L, flt gamma=0.0)
 
Vec diff (Vec r1, Vec r2)
 Distance between two points, given boundary conditions. More...
 
virtual Vec diff (Vec r1, Vec r2, boost::array< int, NDIM > boxes)
 
virtual boost::array< int, NDIMbox_round (Vec r1, Vec r2)
 The div function to go with diff. More...
 
flt get_gamma ()
 The current shear amount. More...
 
void shear (flt dgamma)
 Change the shear by dgamma. More...
 
void shear (flt dgamma, AtomGroup &atoms)
 Change the shear by dgamma, and move the atoms as necessary. More...
 
void shear_to (flt gamma)
 Change the shear to gamma. More...
 
void shear_to (flt gamma, AtomGroup &atoms)
 Change the shear to gamma, and move the atoms as necessary. More...
 
Vec non_affine (Vec v)
 
Vec affine (Vec v)
 
- Public Member Functions inherited from OriginBox
 OriginBox (Vec size)
 
 OriginBox (flt L)
 
flt V ()
 Volume. Can return NaN. More...
 
flt L ()
 
 OriginBox (flt L)
 
flt V ()
 Volume. Can return NaN. More...
 
flt L ()
 
flt resize (flt factor)
 Resize by a factor. Does not move atoms. More...
 
flt resize (flt factor, AtomGroup &atoms)
 Resize by a factor, and move atoms in the affine direction. More...
 
flt resize_to (Vec newsize)
 Resize to a specific shape. Does not move atoms. More...
 
flt resize_to (Vec newsize, AtomGroup &atoms)
 Resize to a specific shape, and move atoms in the affine direction. More...
 
flt resize_to_V (flt newV)
 Resize to a specific volume. Does not move atoms. More...
 
flt resize_to_V (flt newV, AtomGroup &atoms)
 Resize to a specific volume, and move atoms in the affine direction. More...
 
flt resize_to_L (flt newL)
 Resize to a specific length. Does not move atoms. More...
 
flt resize_to_L (flt newL, AtomGroup &atoms)
 Resize to a specific length, and move atoms in the affine direction. More...
 
Vec rand_loc ()
 Get a random point in the box. More...
 
Vec box_shape ()
 
void pure_shear_to (flt epsilon)
 Apply a pure shear of epsilon to reshape box. More...
 
void pure_shear_to (flt epsilon, AtomGroup &atoms)
 Apply a pure shear of epsilon, moving atoms. More...
 
- Public Member Functions inherited from Box
virtual ~Box ()
 

Protected Attributes

flt gamma
 
- Protected Attributes inherited from OriginBox
Vec boxsize
 

Detailed Description

Lees-Edwards boundary conditions, with shear in the x-direction, relative to y.

Constructor & Destructor Documentation

LeesEdwardsBox::LeesEdwardsBox ( Vec  size,
flt  gamma = 0.0 
)
inline
LeesEdwardsBox::LeesEdwardsBox ( flt  L,
flt  gamma = 0.0 
)
inline

Member Function Documentation

Vec LeesEdwardsBox::affine ( Vec  v)
inline
boost::array< int, NDIM > LeesEdwardsBox::box_round ( Vec  r1,
Vec  r2 
)
virtual

The div function to go with diff.

Reimplemented from OriginBox.

Vec LeesEdwardsBox::diff ( Vec  r1,
Vec  r2 
)
virtual

Distance between two points, given boundary conditions.

This is the main function that Box exists for.

Reimplemented from OriginBox.

Vec LeesEdwardsBox::diff ( Vec  r1,
Vec  r2,
boost::array< int, NDIM boxes 
)
virtual

Reimplemented from OriginBox.

flt LeesEdwardsBox::get_gamma ( )
inline

The current shear amount.

Vec LeesEdwardsBox::non_affine ( Vec  v)
inline
void LeesEdwardsBox::shear ( flt  dgamma)

Change the shear by dgamma.

void LeesEdwardsBox::shear ( flt  dgamma,
AtomGroup atoms 
)

Change the shear by dgamma, and move the atoms as necessary.

void LeesEdwardsBox::shear_to ( flt  gamma)

Change the shear to gamma.

void LeesEdwardsBox::shear_to ( flt  gamma,
AtomGroup atoms 
)

Change the shear to gamma, and move the atoms as necessary.

Member Data Documentation

flt LeesEdwardsBox::gamma
protected

The documentation for this class was generated from the following files: