Class keeps track of how the boundaries of the system are handled. More...
#include <boundarycondition.h>

Public Types | |
| enum | eBoxtype { typeAuto = 0 , typeTriclinic , typeOrthorhombic , typeOpen } |
Public Member Functions | |
| virtual | ~BoundaryCondition ()=default |
| virtual std::unique_ptr< BoundaryCondition > | Clone () const =0 |
| Safe way to allow child classes to be copied. | |
| void | setBox (const Eigen::Matrix3d &box) noexcept |
| const Eigen::Matrix3d & | getBox () const noexcept |
| double | getShortestBoxDimension () const |
| Self explanatory gets the shortest dimension of the boundary conditions. | |
| virtual double | BoxVolume () const noexcept |
| virtual Eigen::Vector3d | BCShortestConnection (const Eigen::Vector3d &r_i, const Eigen::Vector3d &r_j) const =0 |
| virtual eBoxtype | getBoxType () const noexcept=0 |
Protected Attributes | |
| Eigen::Matrix3d | box_ |
Class keeps track of how the boundaries of the system are handled.
There are a total of 3 different boundaries: open - no boundaries orthorhombic - orthorombic boundaries triclinic - triclinic boundaries
This class enables the correct treatement of distances beteween topology objects, such that distances accound for the periodic boundaries.
Definition at line 41 of file boundarycondition.h.
| Enumerator | |
|---|---|
| typeAuto | |
| typeTriclinic | |
| typeOrthorhombic | |
| typeOpen | |
Definition at line 89 of file boundarycondition.h.
|
virtualdefault |
|
pure virtual |
get shortest connection vector between r_i and r_j with respect to the (periodic) box
Implemented in votca::csg::OpenBox, votca::csg::OrthorhombicBox, and votca::csg::TriclinicBox.
|
virtualnoexcept |
get the volume of the box
Definition at line 28 of file boundarycondition.cc.
|
pure virtual |
Safe way to allow child classes to be copied.
The child classes must use the same method and override it with their type for this to work.
Implemented in votca::csg::OpenBox, votca::csg::OrthorhombicBox, and votca::csg::TriclinicBox.
|
inlinenoexcept |
get the simulation box
Definition at line 66 of file boundarycondition.h.
|
pure virtualnoexcept |
Implemented in votca::csg::OpenBox, votca::csg::OrthorhombicBox, and votca::csg::TriclinicBox.
| double votca::csg::BoundaryCondition::getShortestBoxDimension | ( | ) | const |
Self explanatory gets the shortest dimension of the boundary conditions.
Definition at line 32 of file boundarycondition.cc.
|
inlinenoexcept |
set the simulation box
| box | triclinic box matrix |
Definition at line 60 of file boundarycondition.h.
|
protected |
Definition at line 93 of file boundarycondition.h.