MAIA bb96820c
Multiphysics at AIA
|
#include <lptbase.h>
Public Types | |
using | BitsetType = maia::lpt::baseProperty::BitsetType |
Public Member Functions | |
virtual | ~LPTBase ()=default |
BitsetType::reference | hasProperty (const LptBaseProperty p) |
Accessor for properties. More... | |
MBool | hasProperty (const LptBaseProperty p) const |
Accessor for properties (const version). More... | |
BitsetType::reference | isWindow () |
MBool | isWindow () const |
BitsetType::reference | reqSend () |
MBool | reqSend () const |
BitsetType::reference | reqBroadcast () |
MBool | reqBroadcast () const |
BitsetType::reference | isInvalid () |
MBool | isInvalid () const |
BitsetType::reference | hasCollided () |
MBool | hasCollided () const |
BitsetType::reference | hadWallColl () |
MBool | hadWallColl () const |
BitsetType::reference | firstStep () |
MBool | firstStep () const |
BitsetType::reference | toBeDeleted () |
MBool | toBeDeleted () const |
BitsetType::reference | wasSend () |
MBool | wasSend () const |
BitsetType::reference | toBeRespawn () |
MBool | toBeRespawn () const |
BitsetType::reference | fullyEvaporated () |
MBool | fullyEvaporated () const |
void | getNghbrList (std::vector< MInt > &, const MInt) |
template<MInt a, MInt b> | |
void | interpolateAndCalcWeights (const MInt cellId, const MFloat *const x, MFloat *const result, std::vector< MFloat > &weight, MFloat *const gradientResult=nullptr) |
virtual void | energyEquation ()=0 |
virtual void | coupling ()=0 |
virtual void | motionEquation ()=0 |
virtual void | advanceParticle ()=0 |
virtual void | resetWeights ()=0 |
virtual void | particleWallCollision () |
particle-wall collision step More... | |
virtual void | wallParticleCollision () |
wall-particle collision step More... | |
void | initProperties () |
void | checkCellChange (const MFloat *oldPosition, const MBool allowHaloNonLeaf=false) |
Checks whether position is within cell with number cellId if not, cellId is updated. More... | |
void | updateProperties (const MBool init=true) |
Update particle properties. More... | |
virtual MFloat | effectiveWallCollisionRadius () const |
Public Attributes | |
std::array< MFloat, nDim > | m_position {} |
std::array< MFloat, nDim > | m_velocity {} |
std::array< MFloat, nDim > | m_accel {} |
std::array< MFloat, nDim > | m_oldPos {} |
particle position of the last time step More... | |
std::array< MFloat, nDim > | m_oldVel {} |
particle velocity of the last time step More... | |
MFloat | m_densityRatio = -2 |
MLong | m_partId = -2 |
MInt | m_cellId = -2 |
MInt | m_oldCellId = -2 |
MFloat | m_creationTime = std::numeric_limits<MFloat>::quiet_NaN() |
creation time modifier More... | |
BitsetType | m_properties |
std::vector< MInt > | m_neighborList |
Static Public Attributes | |
static MInt | s_interpolationOrder = 0 |
static MInt | s_interpolationMethod = 0 |
static MFloat | s_distFactorImp = 0.0 |
static LPT< nDim > * | s_backPtr = nullptr |
static constexpr MInt | s_floatElements = 3 * nDim + 1 |
static constexpr MInt | s_intElements = 5 |
using LPTBase< nDim >::BitsetType = maia::lpt::baseProperty::BitsetType |
Implemented in LPTEllipsoidal< nDim >, and LPTSpherical< nDim >.
void LPTBase< nDim >::checkCellChange | ( | const MFloat * | oldPosition, |
const MBool | allowHaloNonLeaf = false |
||
) |
Definition at line 233 of file lptbase.cpp.
Implemented in LPTEllipsoidal< nDim >, and LPTSpherical< nDim >.
|
inlinevirtual |
Reimplemented in LPTEllipsoidal< nDim >, and LPTSpherical< nDim >.
Definition at line 104 of file lptbase.h.
Implemented in LPTEllipsoidal< nDim >, and LPTSpherical< nDim >.
Definition at line 179 of file lptbase.h.
void LPTBase< nDim >::getNghbrList | ( | std::vector< MInt > & | neighborList, |
const MInt | cellId | ||
) |
Get the neighborlist from the Lagrange particle container object
neighborList | List of the neighboring cells |
cellId | Get neighbors of this cell |
Definition at line 183 of file lptbase.cpp.
LPTBase< nDim >::BitsetType::reference LPTBase< nDim >::hasProperty | ( | const LptBaseProperty | p | ) |
Definition at line 109 of file lptbase.h.
MBool LPTBase< nDim >::hasProperty | ( | const LptBaseProperty | p | ) | const |
template void LPTBase< nDim >::interpolateAndCalcWeights< 0, 7 > | ( | const MInt | cellId, |
const MFloat *const | x, | ||
MFloat *const | result, | ||
std::vector< MFloat > & | weight, | ||
MFloat *const | gradientResult = nullptr |
||
) |
Definition at line 24 of file lptbase.cpp.
Implemented in LPTEllipsoidal< nDim >, and LPTSpherical< nDim >.
Definition at line 319 of file lptbase.cpp.
Implemented in LPTEllipsoidal< nDim >, and LPTSpherical< nDim >.
Definition at line 299 of file lptbase.cpp.
Definition at line 656 of file lptbase.cpp.
BitsetType LPTBase< nDim >::m_properties |