MaMiCo 1.2
Loading...
Searching...
No Matches
coupling::MomentumInsertion< LinkedCell, dim > Class Template Referenceabstract

used to manipulate the momentum/ velocity of the molecules contained in a coupling cell. More...

#include <MomentumInsertion.h>

Inheritance diagram for coupling::MomentumInsertion< LinkedCell, dim >:

Public Member Functions

 MomentumInsertion (coupling::interface::MDSolverInterface< LinkedCell, dim > *const mdSolverInterface)
 a simple constructor
 
virtual ~MomentumInsertion ()
 a simple destructor
 
virtual unsigned int getTimeIntervalPerMomentumInsertion () const =0
 returns the number of MD steps between subsequent momentum insertions
 
virtual void insertMomentum (coupling::datastructures::CouplingCellWithLinkedCells< LinkedCell, dim > &cell, I02 idx) const =0
 inserts a fraction from the momentum of the coupling cell and distributes is over all molecules.
 

Protected Attributes

coupling::interface::MDSolverInterface< LinkedCell, dim > *const _mdSolverInterface
 

Detailed Description

template<class LinkedCell, unsigned int dim>
class coupling::MomentumInsertion< LinkedCell, dim >

used to manipulate the momentum/ velocity of the molecules contained in a coupling cell.

Author
Philipp Neumann
Template Parameters
LinkedCellthe LinkedCell class is given by the implementation of linked cells in the molecular dynamics simulation
dimrefers to the spacial dimension of the simulation, can be 1, 2, or 3

Constructor & Destructor Documentation

◆ MomentumInsertion()

template<class LinkedCell, unsigned int dim>
coupling::MomentumInsertion< LinkedCell, dim >::MomentumInsertion ( coupling::interface::MDSolverInterface< LinkedCell, dim > *const mdSolverInterface)
inline

a simple constructor

Parameters
mdSolverInterfaceinterface to the md solver

Member Function Documentation

◆ getTimeIntervalPerMomentumInsertion()

template<class LinkedCell, unsigned int dim>
virtual unsigned int coupling::MomentumInsertion< LinkedCell, dim >::getTimeIntervalPerMomentumInsertion ( ) const
pure virtual

◆ insertMomentum()

template<class LinkedCell, unsigned int dim>
virtual void coupling::MomentumInsertion< LinkedCell, dim >::insertMomentum ( coupling::datastructures::CouplingCellWithLinkedCells< LinkedCell, dim > & cell,
I02 idx ) const
pure virtual

inserts a fraction from the momentum of the coupling cell and distributes is 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.

Parameters
cellthe coupling cell to insert the momentum
fractionthe fraction of momentum to use

Implemented in coupling::AdditiveMomentumInsertion< LinkedCell, dim >, coupling::NieVelocityImposition< LinkedCell, dim >, coupling::NoMomentumInsertion< LinkedCell, dim >, coupling::SetGivenVelocity4MomentumInsertion< LinkedCell, dim >, coupling::VelocityGradientRelaxation< LinkedCell, dim >, and coupling::VelocityGradientRelaxationTopOnly< LinkedCell, dim >.

Member Data Documentation

◆ _mdSolverInterface

template<class LinkedCell, unsigned int dim>
coupling::interface::MDSolverInterface<LinkedCell, dim>* const coupling::MomentumInsertion< LinkedCell, dim >::_mdSolverInterface
protected

interface to the md solver


The documentation for this class was generated from the following file: