MaMiCo 1.2
Loading...
Searching...
No Matches
coupling::transferstrategies::DirectTransferStrategy< LinkedCell, dim > Class Template Reference

#include <DirectTransferStrategy.h>

Inheritance diagram for coupling::transferstrategies::DirectTransferStrategy< LinkedCell, dim >:
Collaboration diagram for coupling::transferstrategies::DirectTransferStrategy< LinkedCell, dim >:

Public Member Functions

 DirectTransferStrategy (coupling::interface::MDSolverInterface< LinkedCell, dim > *const mdSolverInterface)
 a simple constructor
 
virtual ~DirectTransferStrategy ()
 a dummy destructor
 
void processInnerCouplingCellBeforeReceivingMacroscopicSolverData (coupling::datastructures::CouplingCellWithLinkedCells< LinkedCell, dim > &cell, I02 index) override
 the microscopicMass and -Momentum are set to 0
 
void processOuterCouplingCellBeforeReceivingMacroscopicSolverData (coupling::datastructures::CouplingCellWithLinkedCells< LinkedCell, dim > &cell, I02 index) override
 the microscopicMass and -Momentum are set to 0
 
void processInnerCouplingCellBeforeSendingMDSolverData (coupling::datastructures::CouplingCellWithLinkedCells< LinkedCell, dim > &cell, I02 index) override
 the mass and momentum is evaluated for the cell and written to the macroscopic quantities
 
- Public Member Functions inherited from coupling::transferstrategies::TransferStrategy< LinkedCell, dim >
 TransferStrategy (coupling::interface::MDSolverInterface< LinkedCell, dim > *const mdSolverInterface)
 a simple destructor
 
virtual ~TransferStrategy ()
 a dummy destructor
 
virtual void beginProcessInnerCouplingCellsBeforeReceivingMacroscopicSolverData ()
 the method is called before the cells are processed, e.g. general values might be set here
 
virtual void endProcessInnerCouplingCellsBeforeReceivingMacroscopicSolverData ()
 the method is called after the cells are processed, e.g. some general evaluation might happen like sum/counter
 
virtual void beginProcessOuterCouplingCellsBeforeReceivingMacroscopicSolverData ()
 the method is called before the outer cells are processed, e.g. general values might be set here
 
virtual void endProcessOuterCouplingCellsBeforeReceivingMacroscopicSolverData ()
 the method is called after the outer cells are processed, e.g. general values might be set here
 
virtual void processInnerCouplingCellAfterReceivingMacroscopicSolverData (coupling::datastructures::CouplingCellWithLinkedCells< LinkedCell, dim > &cell, I02 index)
 
virtual void beginProcessInnerCouplingCellsAfterReceivingMacroscopicSolverData ()
 the method is called before the inner cells are processed, e.g. general values might be set here
 
virtual void endProcessInnerCouplingCellsAfterReceivingMacroscopicSolverData ()
 the method is called after the inner cells are processed, e.g. general values might be set here
 
virtual void processOuterCouplingCellAfterReceivingMacroscopicSolverData (coupling::datastructures::CouplingCellWithLinkedCells< LinkedCell, dim > &cell, I02 index)
 is called for every coupling cell after the microscopicMass and -Momentum have been filled in with data from the macroscopic solver.
 
virtual void beginProcessOuterCouplingCellsAfterReceivingMacroscopicSolverData ()
 the method is called before the outer cells are processed, e.g. general values might be set here
 
virtual void endProcessOuterCouplingCellsAfterReceivingMacroscopicSolverData ()
 the method is called after the outer cells are processed, e.g. general values might be set here
 
virtual void beginProcessInnerCouplingCellsBeforeSendingMDSolverData ()
 the method is called before the inner cell data is send, e.g. general values might be set here
 
virtual void endProcessInnerCouplingCellsBeforeSendingMDSolverData ()
 the method is called after the inner cell data is send, e.g. general values might be set here
 
virtual void processOuterCouplingCellBeforeSendingMDSolverData (coupling::datastructures::CouplingCellWithLinkedCells< LinkedCell, dim > &cell, I02 index)
 is called for outer coupling cell before sending the macroscopicMass and -Momentum data to the macroscopic solver and before noise reduction invocation.
 
virtual void beginProcessOuterCouplingCellsBeforeSendingMDSolverData ()
 the method is called before the outer cells are processed, e.g. general values might be set here
 
virtual void endProcessOuterCouplingCellsBeforeSendingMDSolverData ()
 the method is called after the outer cells are processed, e.g. general values might be set here
 
virtual void processInnerCouplingCellAfterMDTimestep (coupling::datastructures::CouplingCellWithLinkedCells< LinkedCell, dim > &cell, I02 index)
 
virtual void beginProcessInnerCouplingCellsAfterMDTimestep ()
 the method is called before the inner cell data is send, e.g. general values might be set here
 
virtual void endProcessInnerCouplingCellsAfterMDTimestep ()
 the method is called after the inner cell data is send, e.g. general values might be set here
 

Private Attributes

coupling::cellmappings::ComputeMassMapping< LinkedCell, dim > _massMapping
 
coupling::cellmappings::ComputeMomentumMapping< LinkedCell, dim > _momentumMapping
 

Additional Inherited Members

- Protected Attributes inherited from coupling::transferstrategies::TransferStrategy< LinkedCell, dim >
coupling::interface::MDSolverInterface< LinkedCell, dim > *const _mdSolverInterface
 

Detailed Description

template<class LinkedCell, unsigned int dim>
class coupling::transferstrategies::DirectTransferStrategy< LinkedCell, dim >

transfers and introduces mass and momentum directly into MD and to macroscopic solver. So, for example, if mass M is coming from the macroscopic solver, M is to be inserted into MD.

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

◆ DirectTransferStrategy()

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

a simple constructor

Parameters
mdSolverInterfaceinterface for the md solver

Member Function Documentation

◆ processInnerCouplingCellBeforeReceivingMacroscopicSolverData()

template<class LinkedCell, unsigned int dim>
void coupling::transferstrategies::DirectTransferStrategy< LinkedCell, dim >::processInnerCouplingCellBeforeReceivingMacroscopicSolverData ( coupling::datastructures::CouplingCellWithLinkedCells< LinkedCell, dim > & cell,
I02 index )
inlineoverridevirtual

the microscopicMass and -Momentum are set to 0

Parameters
cellcoupling cell to process
indexindex of the coupling cell

Reimplemented from coupling::transferstrategies::TransferStrategy< LinkedCell, dim >.

◆ processInnerCouplingCellBeforeSendingMDSolverData()

template<class LinkedCell, unsigned int dim>
void coupling::transferstrategies::DirectTransferStrategy< LinkedCell, dim >::processInnerCouplingCellBeforeSendingMDSolverData ( coupling::datastructures::CouplingCellWithLinkedCells< LinkedCell, dim > & cell,
I02 index )
inlineoverridevirtual

the mass and momentum is evaluated for the cell and written to the macroscopic quantities

Parameters
cellcoupling cell to process
indexindex of the coupling cell

Reimplemented from coupling::transferstrategies::TransferStrategy< LinkedCell, dim >.

◆ processOuterCouplingCellBeforeReceivingMacroscopicSolverData()

template<class LinkedCell, unsigned int dim>
void coupling::transferstrategies::DirectTransferStrategy< LinkedCell, dim >::processOuterCouplingCellBeforeReceivingMacroscopicSolverData ( coupling::datastructures::CouplingCellWithLinkedCells< LinkedCell, dim > & cell,
I02 index )
inlineoverridevirtual

the microscopicMass and -Momentum are set to 0

Parameters
cellcoupling cell to process
indexindex of the coupling cell

Reimplemented from coupling::transferstrategies::TransferStrategy< LinkedCell, dim >.

Member Data Documentation

◆ _massMapping

template<class LinkedCell, unsigned int dim>
coupling::cellmappings::ComputeMassMapping<LinkedCell, dim> coupling::transferstrategies::DirectTransferStrategy< LinkedCell, dim >::_massMapping
private

necessary to compute the mass in every single cell

◆ _momentumMapping

template<class LinkedCell, unsigned int dim>
coupling::cellmappings::ComputeMomentumMapping<LinkedCell, dim> coupling::transferstrategies::DirectTransferStrategy< LinkedCell, dim >::_momentumMapping
private

necessary to compute the momentum in every single cell


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