votca 2024.2-dev
|
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.