MaMiCo 1.2
|
used to manipulate the momentum/velocity of the molecules contained in a coupling cell. More...
#include <AdditiveMomentumInsertion.h>
Public Member Functions | |
AdditiveMomentumInsertion (coupling::interface::MDSolverInterface< LinkedCell, dim > *const mdSolverInterface, unsigned int numberMDTimestepsPerCouplingCycle) | |
A simple constructor. | |
~AdditiveMomentumInsertion () | |
A simple destructor. | |
unsigned int | getTimeIntervalPerMomentumInsertion () const override |
returns the interval of time steps for momentum insertion | |
void | insertMomentum (coupling::datastructures::CouplingCellWithLinkedCells< LinkedCell, dim > &cell, I02 idx) const override |
inserts momentum to the cell | |
![]() | |
MomentumInsertion (coupling::interface::MDSolverInterface< LinkedCell, dim > *const mdSolverInterface) | |
a simple constructor | |
virtual | ~MomentumInsertion () |
a simple destructor | |
Private Attributes | |
const unsigned int | _numberMDTimestepsPerCouplingCycle |
Additional Inherited Members | |
![]() | |
coupling::interface::MDSolverInterface< LinkedCell, dim > *const | _mdSolverInterface |
used to manipulate the momentum/velocity of the molecules contained in a coupling cell.
This class allows to add momentum to molecules. In each MD timestep, it takes a respective fraction from the momentum buffer of a coupling cell and adds this momentum to the molecules of the coupling cell.
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 | The interface of the molecular dynamics solver in application |
numberMDTimestepsPerCouplingCycle | The number of molecular dynamics timesteps within one coupling cycle |
|
inlineoverridevirtual |
returns the interval of time steps for momentum insertion
returns 1 since momentum shall be inserted in every time step
Implements coupling::MomentumInsertion< LinkedCell, dim >.
|
inlineoverridevirtual |
inserts momentum to the cell
inserts the momentum of the coupling cell and distributes it over all molecules. This method does not conserve the kinetic energy of the respective coupling cell. To conserve the energy as well, see the description of MomentumController on details how to do that.
cell | coupling cell to insert momentum to |
idx | coupling cell index of the cell |
Implements coupling::MomentumInsertion< LinkedCell, dim >.
|
private |
The number of molecular dynamics timesteps within one coupling cycle */