Public Member Functions | List of all members
CentroidMotion Class Reference

Correction to point velocities that keeps cells round. More...

#include <CentroidMotion.hpp>

Inheritance diagram for CentroidMotion:
Inheritance graph
[legend]
Collaboration diagram for CentroidMotion:
Collaboration graph
[legend]

Public Member Functions

 CentroidMotion (PointMotion const &bpm, double reduction_factor, EquationOfState const &eos, size_t niter=2, vector< string > toignore=vector< string >())
 Class constructor. More...
 
vector< Vector2Doperator() (const Tessellation &tess, const vector< ComputationalCell > &cells, double time, TracerStickerNames const &tracerstickernames) const
 Calculates the velocity of all mesh points. More...
 
vector< Vector2DApplyFix (Tessellation const &tess, vector< ComputationalCell > const &cells, double time, double dt, vector< Vector2D > const &velocities, TracerStickerNames const &tracerstickernames) const
 Applies a small fix to the velocity of all mesh points once the time step is known. More...
 
- Public Member Functions inherited from PointMotion
virtual ~PointMotion (void)
 Virtual destructor.
 

Detailed Description

Correction to point velocities that keeps cells round.

Based on Philip Mocz method

Todo:
Make work with MPI

Definition at line 18 of file CentroidMotion.hpp.

Constructor & Destructor Documentation

◆ CentroidMotion()

CentroidMotion::CentroidMotion ( PointMotion const &  bpm,
double  reduction_factor,
EquationOfState const &  eos,
size_t  niter = 2,
vector< string >  toignore = vector<string>() 
)

Class constructor.

Parameters
bpmclass of point motion on which to apply the fix
reduction_factorThe factor to reduce the correction velocity (1/reduction_factor is the number of iterations to fix)
niterThe number of correction iterations to apply
eosThe equation of state
toignoreList of sticker names not to apply correction for

Definition at line 255 of file CentroidMotion.cpp.

Member Function Documentation

◆ ApplyFix()

vector< Vector2D > CentroidMotion::ApplyFix ( Tessellation const &  tess,
vector< ComputationalCell > const &  cells,
double  time,
double  dt,
vector< Vector2D > const &  velocities,
TracerStickerNames const &  tracerstickernames 
) const
virtual

Applies a small fix to the velocity of all mesh points once the time step is known.

Parameters
tessThe tessellation
cellsHydrodynamics cells
timeThe simulation time
velocitiesVelocities of the points
dtThe time step
tracerstickernamesThe names of the tracers and stickers
Returns
The new velocities

Reimplemented from PointMotion.

Definition at line 266 of file CentroidMotion.cpp.

◆ operator()()

vector< Vector2D > CentroidMotion::operator() ( const Tessellation tess,
const vector< ComputationalCell > &  cells,
double  time,
TracerStickerNames const &  tracerstickernames 
) const
virtual

Calculates the velocity of all mesh points.

Parameters
tessThe tessellation
cellsHydrodynamics cells
timeThe simulation time
tracerstickernamesThe names of the tracers and stickers
Returns
Velocities of the points

Implements PointMotion.

Definition at line 259 of file CentroidMotion.cpp.


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