5#ifndef _MOLECULARDYNAMICS_COUPLING_ZHOUBOUNDARYFORCECONTROLLER_H_
6#define _MOLECULARDYNAMICS_COUPLING_ZHOUBOUNDARYFORCECONTROLLER_H_
8#include "coupling/BoundaryForceController.h"
9#include "coupling/cell-mappings/ZhouBoundaryForce.h"
35 _zhouBoundaryForce(density, temperature, mdSolverInterface->getMoleculeEpsilon(), mdSolverInterface->getMoleculeSigma(), boundary,
36 mdSolverInterface->getGlobalMDDomainOffset(), mdSolverInterface->getGlobalMDDomainSize(), mdSolverInterface) {}
controller for forces acting at open MD boundaries
Definition BoundaryForceController.h:25
BoundaryForceController(coupling::interface::MDSolverInterface< LinkedCell, dim > *const mdSolverInterface)
A simple constructor.
Definition BoundaryForceController.h:29
applies the boundary force from Zhou et al. in boundary cell.
Definition ZhouBoundaryForceController.h:24
virtual ~ZhouBoundaryForceController()
Destructor.
Definition ZhouBoundaryForceController.h:39
const double _density
the mean density
Definition ZhouBoundaryForceController.h:62
virtual tarch::la::Vector< dim, double > getForce(const tarch::la::Vector< dim, double > &position) const
calculates the boundary force for the given particle position
Definition ZhouBoundaryForceController.h:57
virtual double getPotentialEnergy(const tarch::la::Vector< dim, double > &position) const
calculates the potential energy for a given position
Definition ZhouBoundaryForceController.h:52
virtual void applyBoundaryForce(coupling::datastructures::CouplingCellWithLinkedCells< LinkedCell, dim > &cell)
applies the Zhou boundary force on a boundary cell
Definition ZhouBoundaryForceController.h:46
const tarch::la::Vector< 2 *dim, bool > _boundary
indicates at which boundaries to apply the force
Definition ZhouBoundaryForceController.h:69
const double _temperature
the mean temperature
Definition ZhouBoundaryForceController.h:63
coupling::cellmappings::ZhouBoundaryForce< LinkedCell, dim > _zhouBoundaryForce
the cell mapping for the application of the force
Definition ZhouBoundaryForceController.h:70
ZhouBoundaryForceController(const double &density, const double &temperature, const tarch::la::Vector< 2 *dim, bool > &boundary, coupling::interface::MDSolverInterface< LinkedCell, dim > *const mdSolverInterface)
A simple constructor.
Definition ZhouBoundaryForceController.h:32
This class applies the Zhou boundary force to all molecules assuming a cut-off radius r_c=2....
Definition ZhouBoundaryForce.h:40
defines the cell type with cell-averaged quantities. Derived from the class coupling::datastructures:...
Definition CouplingCellWithLinkedCells.h:26
void iterateCells(A &a)
Definition CouplingCellWithLinkedCells.h:74
interface to the MD simulation
Definition MDSolverInterface.h:25
everything necessary for coupling operations, is defined in here
Definition AdditiveMomentumInsertion.h:15