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

This is the same as the class coupling::cellmappings::VelocityGradientRelaxationMapping, but relaxes only those molecules which are located in the top boundary strip. More...

#include <VelocityGradientRelaxationMapping.h>

Inheritance diagram for coupling::cellmappings::VelocityGradientRelaxationTopOnlyMapping< LinkedCell, dim >:
Collaboration diagram for coupling::cellmappings::VelocityGradientRelaxationTopOnlyMapping< LinkedCell, dim >:

Public Member Functions

 VelocityGradientRelaxationTopOnlyMapping (const double &velocityRelaxationFactor, const tarch::la::Vector< dim, double > &currentVelocity, const I02 &cellIndex, coupling::interface::MDSolverInterface< LinkedCell, dim > *const mdSolverInterface, const coupling::datastructures::CouplingCellWithLinkedCells< LinkedCell, dim > *const couplingCells)
 
- Public Member Functions inherited from coupling::cellmappings::VelocityGradientRelaxationMapping< LinkedCell, dim >
 VelocityGradientRelaxationMapping (const double &velocityRelaxationFactor, const tarch::la::Vector< dim, double > &currentVelocity, const I02 &cellIndex, coupling::interface::MDSolverInterface< LinkedCell, dim > *const mdSolverInterface, const coupling::datastructures::CouplingCellWithLinkedCells< LinkedCell, dim > *const couplingCells)
 
virtual ~VelocityGradientRelaxationMapping ()
 
void beginCellIteration ()
 
void endCellIteration ()
 
void handleCell (LinkedCell &cell)
 

Protected Member Functions

virtual bool relaxMolecule (const tarch::la::Vector< dim, double > &position) const
 
- Protected Member Functions inherited from coupling::cellmappings::VelocityGradientRelaxationMapping< LinkedCell, dim >
bool ignoreThisCell (const I02 &idx) const
 

Additional Inherited Members

- Protected Attributes inherited from coupling::cellmappings::VelocityGradientRelaxationMapping< LinkedCell, dim >
coupling::interface::MDSolverInterface< LinkedCell, dim > *const _mdSolverInterface
 
const coupling::datastructures::CouplingCellWithLinkedCells< LinkedCell, dim > *const _couplingCells
 
const double _velocityRelaxationFactor
 
const tarch::la::Vector< dim, double > _currentVelocity
 
const tarch::la::Vector< dim, double > _innerLowerLeft
 
const tarch::la::Vector< dim, double > _innerUpperRight
 
const tarch::la::Vector< dim, double > _outerLowerLeft
 
const tarch::la::Vector< dim, double > _outerUpperRight
 
I02 _cellIdx
 
bool _ignoreThisCell
 

Detailed Description

template<class LinkedCell, unsigned int dim>
class coupling::cellmappings::VelocityGradientRelaxationTopOnlyMapping< LinkedCell, dim >

This is the same as the class coupling::cellmappings::VelocityGradientRelaxationMapping, but relaxes only those molecules which are located in the top boundary strip.

This is the same as the class coupling::cellmappings::VelocityGradientRelaxationMapping, but relaxes only those molecules which are located in the top boundary strip. derived from the class coupling::cellmappings::VelocityGradientRelaxationMapping.

Template Parameters
LinkedCellcell type
dimNumber of dimensions; it can be 1, 2 or 3
Author
Philipp Neumann
Note
ONLY SUPPORTS 3D AT THE MOMENT!
Todo
Philipp please take a look on this class

Constructor & Destructor Documentation

◆ VelocityGradientRelaxationTopOnlyMapping()

template<class LinkedCell, unsigned int dim>
coupling::cellmappings::VelocityGradientRelaxationTopOnlyMapping< LinkedCell, dim >::VelocityGradientRelaxationTopOnlyMapping ( const double & velocityRelaxationFactor,
const tarch::la::Vector< dim, double > & currentVelocity,
const I02 & cellIndex,
coupling::interface::MDSolverInterface< LinkedCell, dim > *const mdSolverInterface,
const coupling::datastructures::CouplingCellWithLinkedCells< LinkedCell, dim > *const couplingCells )
inline

obtains relaxation factor and current velocity (the velocity towards which the relaxation shall be done is later obtained from the microscopicmomentum-buffers).

Parameters
velocityRelaxationFactor
currentVelocity
cellIndex
mdSolverInterface
couplingCells
Note
the method ignoreThisCell() of the class coupling::cellmappings::VelocityGradientRelaxationMapping is replaceed. Since this function is called in the constructor of the based class, we cannot overwrite it; hence, we solve it by overwriting the respective variable from within this constructor (called after base object is constructed)

Member Function Documentation

◆ relaxMolecule()

template<class LinkedCell, unsigned int dim>
virtual bool coupling::cellmappings::VelocityGradientRelaxationTopOnlyMapping< LinkedCell, dim >::relaxMolecule ( const tarch::la::Vector< dim, double > & position) const
inlineprotectedvirtual

returns true, if the position 'position' is within the respective boundary strip that is spanned by the two outermost coupling cell midpoints

Parameters
position
Returns
true, if the position 'position' is within the respective boundary strip that is spanned by the two outermost coupling cell midpoints

Reimplemented from coupling::cellmappings::VelocityGradientRelaxationMapping< LinkedCell, dim >.


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