MaMiCo 1.2
|
controller for forces acting at open MD boundaries More...
#include <BoundaryForceController.h>
Public Member Functions | |
BoundaryForceController (coupling::interface::MDSolverInterface< LinkedCell, dim > *const mdSolverInterface) | |
A simple constructor. | |
virtual | ~BoundaryForceController () |
A simple destructor. | |
virtual void | applyBoundaryForce (coupling::datastructures::CouplingCellWithLinkedCells< LinkedCell, dim > &cell)=0 |
applies the boundary force on a boundary cell | |
virtual double | getPotentialEnergy (const tarch::la::Vector< dim, double > &position) const |
calculates the potential energy for a given position | |
virtual tarch::la::Vector< dim, double > | getForce (const tarch::la::Vector< dim, double > &position) const |
calculates the boundary force for the given particle position | |
Protected Attributes | |
coupling::interface::MDSolverInterface< LinkedCell, dim > *const | _mdSolverInterface |
interface of the molecular dynamics solver | |
controller for forces acting at open MD boundaries
There is an interface method applyBoundaryForce which triggers potential boundary forcing in each coupling cell that is located at the very outer MD boundary (first layer of non-ghost coupling cells).
LinkedCell | the LinkedCell class is given by the implementation of linked cells in the molecular dynamics simulation |
dim | the integer dim refers to the spacial dimension of the simulation, can be 1, 2, or 3 |
|
inline |
A simple constructor.
mdSolverInterface | interface to the molecular dynamics solver |
|
pure virtual |
applies the boundary force on a boundary cell
iterates over all linked cells of the given coupling cell and applies the cellmapping for the boundary force
cell | the boundary coupling cell to apply the boundary force |
Implemented in coupling::NoBoundaryForce< LinkedCell, dim >, and coupling::ZhouBoundaryForceController< LinkedCell, dim >.
|
inlinevirtual |
calculates the boundary force for the given particle position
position | particle position for the force calculation |
Reimplemented in coupling::ZhouBoundaryForceController< LinkedCell, dim >.
|
inlinevirtual |
calculates the potential energy for a given position
position | the position for which the potential energy will be calculated |
Reimplemented in coupling::ZhouBoundaryForceController< LinkedCell, dim >.