$treeview $search $mathjax
|
Palabos
Version 1.1
$projectbrief
|
$projectbrief
|
$searchbox |
Interface for the dynamics classes. More...
#include <dynamics.h>

Public Member Functions | |
| virtual | ~Dynamics () |
| Destructor: virtual to enable inheritance. | |
| virtual Dynamics< T, Descriptor > * | clone () const =0 |
| Clone the object, based on its dynamic type. | |
| virtual int | getId () const |
| Get an ID for the class which is unique for a given choice of T and Descriptor. | |
| virtual bool | velIsJ () const |
| virtual bool | isComposite () const |
| virtual bool | isComposeable () const |
| Say if this class can be used as a base for a composite dynamics. | |
| virtual bool | isBoundary () const |
| Say if the dynamics represents a boundary condition. | |
| virtual bool | isNonLocal () const |
| virtual void | serialize (HierarchicSerializer &serializer) const |
| Serialize the dynamics object. | |
| virtual void | unserialize (HierarchicUnserializer &unserializer) |
| Un-Serialize the dynamics object. | |
| virtual void | collide (Cell< T, Descriptor > &cell, BlockStatistics &statistics_)=0 |
| Implementation of the collision step. | |
| virtual void | collide (Cell< T, Descriptor > &cell, T rhoBar, Array< T, Descriptor< T >::d > const &j, T thetaBar, BlockStatistics &stat) |
| Implementation of the collision step, with imposed macroscopic variables. | |
| virtual T | computeEquilibrium (plint iPop, T rhoBar, Array< T, Descriptor< T >::d > const &j, T jSqr, T thetaBar=T()) const =0 |
| Compute equilibrium distribution function. | |
| virtual void | computeEquilibria (Array< T, Descriptor< T >::q > &fEq, T rhoBar, Array< T, Descriptor< T >::d > const &j, T jSqr, T thetaBar=T()) const |
| virtual void | regularize (Cell< T, Descriptor > &cell, T rhoBar, Array< T, Descriptor< T >::d > const &j, T jSqr, Array< T, SymmetricTensor< T, Descriptor >::n > const &PiNeq, T thetaBar=T()) const =0 |
| Re-compute particle populations from the leading moments. | |
| virtual T | computeDensity (Cell< T, Descriptor > const &cell) const =0 |
| Compute the local particle density in lattice units. | |
| virtual T | computePressure (Cell< T, Descriptor > const &cell) const =0 |
| Compute the local pressure in lattice units. | |
| virtual void | computeVelocity (Cell< T, Descriptor > const &cell, Array< T, Descriptor< T >::d > &u) const =0 |
| Compute the local fluid velocity in lattice units. | |
| virtual T | computeTemperature (Cell< T, Descriptor > const &cell) const =0 |
| Compute the temperature in lattice units. | |
| virtual void | computeDeviatoricStress (Cell< T, Descriptor > const &cell, Array< T, SymmetricTensor< T, Descriptor >::n > &PiNeq) const =0 |
| Compute the deviatoric stress tensor ("off-equilibrium part of Pi"). | |
| virtual void | computeHeatFlux (Cell< T, Descriptor > const &cell, Array< T, Descriptor< T >::d > &q) const =0 |
| Compute the heat flux in lattice units. | |
| virtual void | computeMoment (Cell< T, Descriptor > const &cell, plint momentId, T *moment) const =0 |
| Compute additional user-defined moments. | |
| virtual T | getOmega () const =0 |
| Get local relaxation parameter of the dynamics. | |
| virtual void | setOmega (T omega_)=0 |
| Set local relaxation parameter of the dynamics. | |
| virtual T | getParameter (plint whichParameter) const |
| Get local value of any generic parameter. | |
| virtual void | setParameter (plint whichParameter, T value) |
| Set local value of any generic parameter. | |
| virtual plint | numDecomposedVariables (plint order) const =0 |
| Number of variables required to decompose a population representation into moments. | |
| virtual void | decompose (Cell< T, Descriptor > const &cell, std::vector< T > &rawData, plint order) const =0 |
| Decompose from population representation into moment representation. | |
| virtual void | recompose (Cell< T, Descriptor > &cell, std::vector< T > const &rawData, plint order) const =0 |
| Recompose from moment representation to population representation. | |
| virtual void | rescale (std::vector< T > &rawData, T xDxInv, T xDt, plint order) const =0 |
| Change the space and time scales of the variables in moment representation. | |
| virtual void | rescale (int dxScale, int dtScale) |
| Adapt internal variables to a new grid level. | |
| virtual void | getPopulations (Cell< T, Descriptor > const &cell, Array< T, Descriptor< T >::q > &f) const |
| Access particle populations through the dynamics object. | |
| virtual void | getExternalField (Cell< T, Descriptor > const &cell, plint pos, plint size, T *ext) const |
| Access external fields through the dynamics object. | |
| virtual void | setPopulations (Cell< T, Descriptor > &cell, Array< T, Descriptor< T >::q > const &f) |
| Define particle populations through the dynamics object. | |
| virtual void | setExternalField (Cell< T, Descriptor > &cell, plint pos, plint size, const T *ext) |
| Define external fields through the dynamics object. | |
| virtual void | defineDensity (Cell< T, Descriptor > &cell, T density) |
| Define density, if possible. Does nothing by default. | |
| virtual void | defineVelocity (Cell< T, Descriptor > &cell, Array< T, Descriptor< T >::d > const &u) |
| Define velocity, if possible. Does nothing by default. | |
| virtual void | defineTemperature (Cell< T, Descriptor > &cell, T temperature) |
| Define temperature, if possible. Does nothing by default. | |
| virtual void | defineHeatFlux (Cell< T, Descriptor > &cell, Array< T, Descriptor< T >::d > const &q) |
| Define heat flux, if possible. Does nothing by default. | |
| virtual void | defineDeviatoricStress (Cell< T, Descriptor > &cell, Array< T, SymmetricTensor< T, Descriptor >::n > const &PiNeq) |
| Define deviatoric stress, if possible. Does nothing by default. | |
| virtual void | defineMoment (Cell< T, Descriptor > &cell, plint momentId, T const *value) |
| Define user define moment, if possible. Does nothing by default. | |
| virtual T | computeRhoBar (Cell< T, Descriptor > const &cell) const =0 |
| Compute order-0 moment rho-bar. | |
| virtual void | computeRhoBarJ (Cell< T, Descriptor > const &cell, T &rhoBar, Array< T, Descriptor< T >::d > &j) const =0 |
| Compute order-0 moment rho-bar and order-1 moment j. | |
| virtual T | computeEbar (Cell< T, Descriptor > const &cell) const =0 |
| Compute e-bar, which is related to the internal energy. | |
| virtual void | computeRhoBarJPiNeq (Cell< T, Descriptor > const &cell, T &rhoBar, Array< T, Descriptor< T >::d > &j, Array< T, SymmetricTensor< T, Descriptor >::n > &PiNeq) const =0 |
Interface for the dynamics classes.
| virtual plb::Dynamics< T, Descriptor >::~Dynamics | ( | ) | [inline, virtual] |
Destructor: virtual to enable inheritance.
| virtual Dynamics<T,Descriptor>* plb::Dynamics< T, Descriptor >::clone | ( | ) | const [pure virtual] |
Clone the object, based on its dynamic type.
Implemented in plb::NaiveExternalForceBGKdynamics< T, Descriptor >, plb::GuoExternalForceBGKdynamics< T, Descriptor >, plb::ShanChenExternalForceBGKdynamics< T, Descriptor >, plb::HeExternalForceBGKdynamics< T, Descriptor >, plb::IncGuoExternalForceBGKdynamics< T, Descriptor >, plb::BGKdynamics< T, Descriptor >, plb::StoreRhoBarJBGKdynamics< T, Descriptor >, plb::ExternalMomentBGKdynamics< T, Descriptor >, plb::ExternalVelocityBGKdynamics< T, Descriptor >, plb::QuasiIncBGKdynamics< T, Descriptor >, plb::IncBGKdynamics< T, Descriptor >, plb::ConstRhoBGKdynamics< T, Descriptor >, plb::RLBdynamics< T, Descriptor >, plb::RegularizedBGKdynamics< T, Descriptor >, plb::IncRegularizedBGKdynamics< T, Descriptor >, plb::ExternalMomentRegularizedBGKdynamics< T, Descriptor >, plb::ChopardDynamics< T, Descriptor >, plb::PrecondBGKdynamics< T, Descriptor >, plb::ThermalBGKdynamics< T, Descriptor >, plb::MomentumExchangeBounceBack< T, Descriptor >, plb::BoundaryCompositeDynamics< T, Descriptor >, plb::StoreDensityDynamics< T, Descriptor >, plb::StoreVelocityDynamics< T, Descriptor >, plb::StoreDensityAndVelocityDynamics< T, Descriptor >, plb::StoreTemperatureAndVelocityDynamics< T, Descriptor >, plb::VelocityDirichletBoundaryDynamics< T, Descriptor, direction, orientation >, plb::DensityDirichletBoundaryDynamics< T, Descriptor, direction, orientation >, plb::EquilibriumVelocityBoundaryDynamics< T, Descriptor, direction, orientation >, plb::EquilibriumDensityBoundaryDynamics< T, Descriptor, direction, orientation >, plb::EquilibriumDensityAndVelocityBoundaryDynamics< T, Descriptor >, plb::GeneralizedVelocityBoundaryDynamics< T, Descriptor >, plb::GeneralizedMassConservingVelocityBoundaryDynamics< T, Descriptor >, plb::GeneralizedDensityBoundaryDynamics< T, Descriptor, direction, orientation >, plb::GeneralizedVelocityTemperatureBoundaryDynamics< T, Descriptor >, plb::GeneralizedNextToBoundaryDynamics< T, Descriptor >, plb::InamuroAnalyticalVelocityDynamics< T, Descriptor, direction, orientation >, plb::InamuroAnalyticalPressureDynamics< T, Descriptor, direction, orientation >, plb::NLD_VelocityBoundaryDynamics3D< T, Descriptor >, plb::NLD_VelocityNeumannBoundaryDynamics3D< T, Descriptor >, plb::RegularizedVelocityBoundaryDynamics< T, Descriptor, direction, orientation >, plb::RegularizedDensityBoundaryDynamics< T, Descriptor, direction, orientation >, plb::RegularizedVelocityInnerCornerDynamics2D< T, Descriptor, normalX, normalY >, plb::RegularizedVelocityInnerEdgeDynamics3D< T, Descriptor, plane, normal1, normal2 >, plb::RegularizedVelocityInnerCornerDynamics3D< T, Descriptor, normalX, normalY, normalZ >, plb::ZouHeVelocityDynamics< T, Descriptor, direction, orientation >, plb::ZouHePressureDynamics< T, Descriptor, direction, orientation >, plb::AdvectionDiffusionBoundaryDynamics< T, Descriptor, direction, orientation >, plb::RegularizedAdvectionDiffusionBoundaryDynamics< T, Descriptor, direction, orientation >, plb::AdvectionDiffusionCornerDynamics2D< T, Descriptor, xNormal, yNormal >, plb::AdvectionDiffusionEdgeDynamics3D< T, Descriptor, plane, normal1, normal2 >, plb::AdvectionDiffusionCornerDynamics3D< T, Descriptor, xNormal, yNormal, zNormal >, plb::AdvectionDiffusionRLBdynamics< T, Descriptor >, plb::AdvectionDiffusionWithSourceRLBdynamics< T, Descriptor >, plb::SmagorinskyAdvectionDiffusionRLBdynamics< T, Descriptor >, plb::AdvectionDiffusionBGKdynamics< T, Descriptor >, plb::AsinariDynamics< T, Descriptor >, plb::IncAsinariDynamics< T, Descriptor >, plb::CarreauDynamics< T, Descriptor, N >, plb::BGKCarreauDynamics< T, Descriptor, N >, plb::RegularizedBGKCarreauDynamics< T, Descriptor, N >, plb::ExternalOmegaDynamics< T, Descriptor >, plb::EntropicDynamics< T, Descriptor >, plb::ForcedEntropicDynamics< T, Descriptor >, plb::GuoExternalForceMRTdynamics< T, Descriptor >, plb::MRTdynamics< T, Descriptor >, plb::ExternalVelocityMRTdynamics< T, Descriptor >, plb::IncMRTdynamics< T, Descriptor >, plb::ExternalVelocityIncMRTdynamics< T, Descriptor >, plb::SmagorinskyDynamics< T, Descriptor >, plb::SmagorinskyBGKdynamics< T, Descriptor >, plb::GuoExternalForceSmagorinskyBGKdynamics< T, Descriptor >, plb::IncGuoExternalForceSmagorinskyBGKdynamics< T, Descriptor >, plb::SmagorinskyRegularizedDynamics< T, Descriptor >, plb::CompositeDynamics< T, Descriptor >, plb::PreparePopulationsDynamics< T, Descriptor >, plb::BounceBack< T, Descriptor >, plb::NoDynamics< T, Descriptor >, plb::FineGridBoundaryDynamics< T, Descriptor >, plb::RegularizedVelocityBoundaryDynamics< T, Descriptor, 0, normalX >, plb::RegularizedVelocityBoundaryDynamics< T, Descriptor, 1, normalY >, plb::RegularizedVelocityBoundaryDynamics< T, Descriptor, 2, normalZ >, plb::RegularizedVelocityBoundaryDynamics< T, Descriptor, direction2, normal2 >, and plb::RegularizedVelocityBoundaryDynamics< T, Descriptor, direction1, normal1 >.
Referenced by plb::cloneAndInsertAtTopDynamics(), plb::cloneAndReplaceBottomDynamics(), plb::coarsen(), plb::FreeSurfaceFields3D< T, Descriptor >::freeSurfaceDataProcessors(), plb::MultiGridLattice2D< T, Descriptor >::MultiGridLattice2D(), plb::MultiGridLattice3D< T, Descriptor >::MultiGridLattice3D(), plb::refine(), plb::removeBoundaryComponents(), plb::RegularizedVelocityInnerCornerDynamics3D< T, Descriptor, normalX, normalY, normalZ >::replaceBaseDynamics(), plb::RegularizedVelocityInnerEdgeDynamics3D< T, Descriptor, plane, normal1, normal2 >::replaceBaseDynamics(), plb::RegularizedVelocityInnerCornerDynamics2D< T, Descriptor, normalX, normalY >::replaceBaseDynamics(), and plb::setOuterNLDboundaryDynamics().
| void plb::Dynamics< T, Descriptor >::collide | ( | Cell< T, Descriptor > & | cell, | |
| T | rhoBar, | |||
| Array< T, Descriptor< T >::d > const & | j, | |||
| T | thetaBar, | |||
| BlockStatistics & | stat | |||
| ) | [inline, virtual] |
Implementation of the collision step, with imposed macroscopic variables.
Reimplemented in plb::BGKdynamics< T, Descriptor >, plb::StoreRhoBarJBGKdynamics< T, Descriptor >, plb::ExternalMomentBGKdynamics< T, Descriptor >, plb::IncBGKdynamics< T, Descriptor >, plb::RegularizedBGKdynamics< T, Descriptor >, plb::IncRegularizedBGKdynamics< T, Descriptor >, plb::ExternalMomentRegularizedBGKdynamics< T, Descriptor >, plb::ChopardDynamics< T, Descriptor >, plb::PrecondBGKdynamics< T, Descriptor >, plb::AsinariDynamics< T, Descriptor >, plb::IncAsinariDynamics< T, Descriptor >, and plb::CompositeDynamics< T, Descriptor >.
References plb::Dynamics< T, Descriptor >::collide(), plb::Dynamics< T, Descriptor >::computeEquilibrium(), plb::Dynamics< T, Descriptor >::computeRhoBarJ(), and plb::normSqr().
| virtual void plb::Dynamics< T, Descriptor >::collide | ( | Cell< T, Descriptor > & | cell, | |
| BlockStatistics & | statistics_ | |||
| ) | [pure virtual] |
Implementation of the collision step.
Implemented in plb::NaiveExternalForceBGKdynamics< T, Descriptor >, plb::GuoExternalForceBGKdynamics< T, Descriptor >, plb::ShanChenExternalForceBGKdynamics< T, Descriptor >, plb::HeExternalForceBGKdynamics< T, Descriptor >, plb::IncGuoExternalForceBGKdynamics< T, Descriptor >, plb::BGKdynamics< T, Descriptor >, plb::StoreRhoBarJBGKdynamics< T, Descriptor >, plb::ExternalMomentBGKdynamics< T, Descriptor >, plb::ExternalVelocityBGKdynamics< T, Descriptor >, plb::IncBGKdynamics< T, Descriptor >, plb::ConstRhoBGKdynamics< T, Descriptor >, plb::RegularizedBGKdynamics< T, Descriptor >, plb::IncRegularizedBGKdynamics< T, Descriptor >, plb::ExternalMomentRegularizedBGKdynamics< T, Descriptor >, plb::ChopardDynamics< T, Descriptor >, plb::PrecondBGKdynamics< T, Descriptor >, plb::ThermalBGKdynamics< T, Descriptor >, plb::MomentumExchangeBounceBack< T, Descriptor >, plb::AdvectionDiffusionRLBdynamics< T, Descriptor >, plb::AdvectionDiffusionWithSourceRLBdynamics< T, Descriptor >, plb::SmagorinskyAdvectionDiffusionRLBdynamics< T, Descriptor >, plb::AdvectionDiffusionBGKdynamics< T, Descriptor >, plb::AsinariDynamics< T, Descriptor >, plb::IncAsinariDynamics< T, Descriptor >, plb::BGKCarreauDynamics< T, Descriptor, N >, plb::RegularizedBGKCarreauDynamics< T, Descriptor, N >, plb::EntropicDynamics< T, Descriptor >, plb::ForcedEntropicDynamics< T, Descriptor >, plb::GuoExternalForceMRTdynamics< T, Descriptor >, plb::MRTdynamics< T, Descriptor >, plb::ExternalVelocityMRTdynamics< T, Descriptor >, plb::IncMRTdynamics< T, Descriptor >, plb::ExternalVelocityIncMRTdynamics< T, Descriptor >, plb::SmagorinskyBGKdynamics< T, Descriptor >, plb::GuoExternalForceSmagorinskyBGKdynamics< T, Descriptor >, plb::IncGuoExternalForceSmagorinskyBGKdynamics< T, Descriptor >, plb::SmagorinskyRegularizedDynamics< T, Descriptor >, plb::CompositeDynamics< T, Descriptor >, plb::BounceBack< T, Descriptor >, and plb::NoDynamics< T, Descriptor >.
Referenced by plb::Dynamics< T, Descriptor >::collide().
| virtual T plb::Dynamics< T, Descriptor >::computeDensity | ( | Cell< T, Descriptor > const & | cell | ) | const [pure virtual] |
Compute the local particle density in lattice units.
Implemented in plb::MomentumExchangeBounceBack< T, Descriptor >, plb::BoundaryCompositeDynamics< T, Descriptor >, plb::StoreDensityDynamics< T, Descriptor >, plb::StoreDensityAndVelocityDynamics< T, Descriptor >, plb::VelocityDirichletBoundaryDynamics< T, Descriptor, direction, orientation >, plb::RegularizedVelocityInnerCornerDynamics2D< T, Descriptor, normalX, normalY >, plb::RegularizedVelocityInnerEdgeDynamics3D< T, Descriptor, plane, normal1, normal2 >, plb::RegularizedVelocityInnerCornerDynamics3D< T, Descriptor, normalX, normalY, normalZ >, plb::BasicBulkDynamics< T, Descriptor >, plb::CompositeDynamics< T, Descriptor >, plb::BounceBack< T, Descriptor >, and plb::NoDynamics< T, Descriptor >.
Referenced by plb::DensityClosure(), and plb::InamuroAnalyticalClosure().
| virtual void plb::Dynamics< T, Descriptor >::computeDeviatoricStress | ( | Cell< T, Descriptor > const & | cell, | |
| Array< T, SymmetricTensor< T, Descriptor >::n > & | PiNeq | |||
| ) | const [pure virtual] |
Compute the deviatoric stress tensor ("off-equilibrium part of Pi").
Implemented in plb::IsoThermalBulkDynamics< T, Descriptor >, plb::ThermalBulkDynamics< T, Descriptor >, plb::MomentumExchangeBounceBack< T, Descriptor >, plb::BoundaryCompositeDynamics< T, Descriptor >, plb::BasicBulkDynamics< T, Descriptor >, plb::CompositeDynamics< T, Descriptor >, plb::BounceBack< T, Descriptor >, and plb::NoDynamics< T, Descriptor >.
| virtual T plb::Dynamics< T, Descriptor >::computeEbar | ( | Cell< T, Descriptor > const & | cell | ) | const [pure virtual] |
Compute e-bar, which is related to the internal energy.
Implemented in plb::IsoThermalBulkDynamics< T, Descriptor >, plb::ThermalBulkDynamics< T, Descriptor >, plb::MomentumExchangeBounceBack< T, Descriptor >, plb::BoundaryCompositeDynamics< T, Descriptor >, plb::AdvectionDiffusionDynamics< T, Descriptor >, plb::BasicBulkDynamics< T, Descriptor >, plb::CompositeDynamics< T, Descriptor >, plb::BounceBack< T, Descriptor >, and plb::NoDynamics< T, Descriptor >.
| void plb::Dynamics< T, Descriptor >::computeEquilibria | ( | Array< T, Descriptor< T >::q > & | fEq, | |
| T | rhoBar, | |||
| Array< T, Descriptor< T >::d > const & | j, | |||
| T | jSqr, | |||
| T | thetaBar = T() | |||
| ) | const [inline, virtual] |
| virtual T plb::Dynamics< T, Descriptor >::computeEquilibrium | ( | plint | iPop, | |
| T | rhoBar, | |||
| Array< T, Descriptor< T >::d > const & | j, | |||
| T | jSqr, | |||
| T | thetaBar = T() | |||
| ) | const [pure virtual] |
Compute equilibrium distribution function.
Implemented in plb::NaiveExternalForceBGKdynamics< T, Descriptor >, plb::GuoExternalForceBGKdynamics< T, Descriptor >, plb::ShanChenExternalForceBGKdynamics< T, Descriptor >, plb::HeExternalForceBGKdynamics< T, Descriptor >, plb::IncGuoExternalForceBGKdynamics< T, Descriptor >, plb::BGKdynamics< T, Descriptor >, plb::StoreRhoBarJBGKdynamics< T, Descriptor >, plb::ExternalMomentBGKdynamics< T, Descriptor >, plb::ExternalVelocityBGKdynamics< T, Descriptor >, plb::IncBGKdynamics< T, Descriptor >, plb::ConstRhoBGKdynamics< T, Descriptor >, plb::RegularizedBGKdynamics< T, Descriptor >, plb::IncRegularizedBGKdynamics< T, Descriptor >, plb::ExternalMomentRegularizedBGKdynamics< T, Descriptor >, plb::ChopardDynamics< T, Descriptor >, plb::PrecondBGKdynamics< T, Descriptor >, plb::ThermalBGKdynamics< T, Descriptor >, plb::MomentumExchangeBounceBack< T, Descriptor >, plb::AdvectionDiffusionRLBdynamics< T, Descriptor >, plb::AdvectionDiffusionWithSourceRLBdynamics< T, Descriptor >, plb::SmagorinskyAdvectionDiffusionRLBdynamics< T, Descriptor >, plb::AdvectionDiffusionBGKdynamics< T, Descriptor >, plb::AsinariDynamics< T, Descriptor >, plb::IncAsinariDynamics< T, Descriptor >, plb::BGKCarreauDynamics< T, Descriptor, N >, plb::RegularizedBGKCarreauDynamics< T, Descriptor, N >, plb::EntropicDynamics< T, Descriptor >, plb::ForcedEntropicDynamics< T, Descriptor >, plb::GuoExternalForceMRTdynamics< T, Descriptor >, plb::MRTdynamics< T, Descriptor >, plb::ExternalVelocityMRTdynamics< T, Descriptor >, plb::IncMRTdynamics< T, Descriptor >, plb::ExternalVelocityIncMRTdynamics< T, Descriptor >, plb::SmagorinskyBGKdynamics< T, Descriptor >, plb::GuoExternalForceSmagorinskyBGKdynamics< T, Descriptor >, plb::IncGuoExternalForceSmagorinskyBGKdynamics< T, Descriptor >, plb::SmagorinskyRegularizedDynamics< T, Descriptor >, plb::CompositeDynamics< T, Descriptor >, plb::BounceBack< T, Descriptor >, and plb::NoDynamics< T, Descriptor >.
Referenced by plb::Dynamics< T, Descriptor >::collide(), plb::flatWall::compute_PiNeq(), plb::boundaryTemplates< T, Descriptor, direction, orientation >::compute_PiNeq(), plb::Dynamics< T, Descriptor >::computeEquilibria(), plb::InamuroAnalyticalClosure(), plb::OuterVelocityCornerFunctional3D< T, Descriptor, xNormal, yNormal, zNormal >::processCell(), plb::OuterVelocityEdgeFunctional3D< T, Descriptor, plane, normal1, normal2 >::processCell(), plb::PlaneFdBoundaryFunctional3D< T, Descriptor, direction, orientation >::processCell(), plb::OuterVelocityCornerFunctional2D< T, Descriptor, xNormal, yNormal >::processCell(), plb::StraightFdBoundaryFunctional2D< T, Descriptor, direction, orientation >::processCell(), plb::ThermalBulkDynamics< T, Descriptor >::regularize(), plb::IsoThermalBulkDynamics< T, Descriptor >::regularize(), and plb::ZouHeClosure().
| virtual void plb::Dynamics< T, Descriptor >::computeHeatFlux | ( | Cell< T, Descriptor > const & | cell, | |
| Array< T, Descriptor< T >::d > & | q | |||
| ) | const [pure virtual] |
Compute the heat flux in lattice units.
Implemented in plb::IsoThermalBulkDynamics< T, Descriptor >, plb::ThermalBulkDynamics< T, Descriptor >, plb::MomentumExchangeBounceBack< T, Descriptor >, plb::BoundaryCompositeDynamics< T, Descriptor >, plb::BasicBulkDynamics< T, Descriptor >, plb::CompositeDynamics< T, Descriptor >, plb::BounceBack< T, Descriptor >, and plb::NoDynamics< T, Descriptor >.
| virtual void plb::Dynamics< T, Descriptor >::computeMoment | ( | Cell< T, Descriptor > const & | cell, | |
| plint | momentId, | |||
| T * | moment | |||
| ) | const [pure virtual] |
Compute additional user-defined moments.
Implemented in plb::MomentumExchangeBounceBack< T, Descriptor >, plb::BoundaryCompositeDynamics< T, Descriptor >, plb::BasicBulkDynamics< T, Descriptor >, plb::CompositeDynamics< T, Descriptor >, plb::BounceBack< T, Descriptor >, and plb::NoDynamics< T, Descriptor >.
| virtual T plb::Dynamics< T, Descriptor >::computePressure | ( | Cell< T, Descriptor > const & | cell | ) | const [pure virtual] |
Compute the local pressure in lattice units.
Implemented in plb::MomentumExchangeBounceBack< T, Descriptor >, plb::BoundaryCompositeDynamics< T, Descriptor >, plb::BasicBulkDynamics< T, Descriptor >, plb::CompositeDynamics< T, Descriptor >, plb::BounceBack< T, Descriptor >, and plb::NoDynamics< T, Descriptor >.
| virtual T plb::Dynamics< T, Descriptor >::computeRhoBar | ( | Cell< T, Descriptor > const & | cell | ) | const [pure virtual] |
Compute order-0 moment rho-bar.
Implemented in plb::ExternalMomentBGKdynamics< T, Descriptor >, plb::ExternalVelocityBGKdynamics< T, Descriptor >, plb::ExternalMomentRegularizedBGKdynamics< T, Descriptor >, plb::MomentumExchangeBounceBack< T, Descriptor >, plb::BoundaryCompositeDynamics< T, Descriptor >, plb::StoreDensityDynamics< T, Descriptor >, plb::StoreVelocityDynamics< T, Descriptor >, plb::StoreDensityAndVelocityDynamics< T, Descriptor >, plb::StoreTemperatureAndVelocityDynamics< T, Descriptor >, plb::VelocityDirichletBoundaryDynamics< T, Descriptor, direction, orientation >, plb::RegularizedVelocityInnerCornerDynamics2D< T, Descriptor, normalX, normalY >, plb::RegularizedVelocityInnerEdgeDynamics3D< T, Descriptor, plane, normal1, normal2 >, plb::RegularizedVelocityInnerCornerDynamics3D< T, Descriptor, normalX, normalY, normalZ >, plb::ExternalVelocityMRTdynamics< T, Descriptor >, plb::ExternalVelocityIncMRTdynamics< T, Descriptor >, plb::BasicBulkDynamics< T, Descriptor >, plb::CompositeDynamics< T, Descriptor >, plb::BounceBack< T, Descriptor >, and plb::NoDynamics< T, Descriptor >.
Referenced by plb::RhoBarJAccess< T, Descriptor, ExternalField >::getRhoBar(), and plb::RegularizedClosure().
| virtual void plb::Dynamics< T, Descriptor >::computeRhoBarJ | ( | Cell< T, Descriptor > const & | cell, | |
| T & | rhoBar, | |||
| Array< T, Descriptor< T >::d > & | j | |||
| ) | const [pure virtual] |
Compute order-0 moment rho-bar and order-1 moment j.
Implemented in plb::ExternalMomentBGKdynamics< T, Descriptor >, plb::ExternalVelocityBGKdynamics< T, Descriptor >, plb::ExternalMomentRegularizedBGKdynamics< T, Descriptor >, plb::MomentumExchangeBounceBack< T, Descriptor >, plb::BoundaryCompositeDynamics< T, Descriptor >, plb::StoreDensityDynamics< T, Descriptor >, plb::StoreVelocityDynamics< T, Descriptor >, plb::StoreDensityAndVelocityDynamics< T, Descriptor >, plb::StoreTemperatureAndVelocityDynamics< T, Descriptor >, plb::VelocityDirichletBoundaryDynamics< T, Descriptor, direction, orientation >, plb::DensityDirichletBoundaryDynamics< T, Descriptor, direction, orientation >, plb::RegularizedVelocityInnerCornerDynamics2D< T, Descriptor, normalX, normalY >, plb::RegularizedVelocityInnerEdgeDynamics3D< T, Descriptor, plane, normal1, normal2 >, plb::RegularizedVelocityInnerCornerDynamics3D< T, Descriptor, normalX, normalY, normalZ >, plb::ExternalVelocityMRTdynamics< T, Descriptor >, plb::ExternalVelocityIncMRTdynamics< T, Descriptor >, plb::BasicBulkDynamics< T, Descriptor >, plb::CompositeDynamics< T, Descriptor >, plb::BounceBack< T, Descriptor >, and plb::NoDynamics< T, Descriptor >.
Referenced by plb::Dynamics< T, Descriptor >::collide(), plb::RhoBarJAccess< T, Descriptor, ExternalField >::getJ(), plb::RhoBarJAccess< T, Descriptor, ExternalField >::getRhoBarJ(), and plb::ZouHeClosure().
| virtual void plb::Dynamics< T, Descriptor >::computeRhoBarJPiNeq | ( | Cell< T, Descriptor > const & | cell, | |
| T & | rhoBar, | |||
| Array< T, Descriptor< T >::d > & | j, | |||
| Array< T, SymmetricTensor< T, Descriptor >::n > & | PiNeq | |||
| ) | const [pure virtual] |
Compute order-0 moment rho-bar, order-1 moment j, and order-2 off-equilibrium moment PiNeq.
Implemented in plb::QuasiIncBGKdynamics< T, Descriptor >, plb::IncBGKdynamics< T, Descriptor >, plb::IncRegularizedBGKdynamics< T, Descriptor >, plb::MomentumExchangeBounceBack< T, Descriptor >, plb::BoundaryCompositeDynamics< T, Descriptor >, plb::RegularizedVelocityInnerCornerDynamics2D< T, Descriptor, normalX, normalY >, plb::RegularizedVelocityInnerEdgeDynamics3D< T, Descriptor, plane, normal1, normal2 >, plb::RegularizedVelocityInnerCornerDynamics3D< T, Descriptor, normalX, normalY, normalZ >, plb::IncAsinariDynamics< T, Descriptor >, plb::BasicBulkDynamics< T, Descriptor >, plb::CompositeDynamics< T, Descriptor >, plb::BounceBack< T, Descriptor >, and plb::NoDynamics< T, Descriptor >.
Referenced by plb::OmegaFromPiDynamics< T, Descriptor >::getOmegaFromCell().
| virtual T plb::Dynamics< T, Descriptor >::computeTemperature | ( | Cell< T, Descriptor > const & | cell | ) | const [pure virtual] |
Compute the temperature in lattice units.
Implemented in plb::IsoThermalBulkDynamics< T, Descriptor >, plb::ThermalBulkDynamics< T, Descriptor >, plb::MomentumExchangeBounceBack< T, Descriptor >, plb::BoundaryCompositeDynamics< T, Descriptor >, plb::StoreTemperatureAndVelocityDynamics< T, Descriptor >, plb::BasicBulkDynamics< T, Descriptor >, plb::CompositeDynamics< T, Descriptor >, plb::BounceBack< T, Descriptor >, and plb::NoDynamics< T, Descriptor >.
| virtual void plb::Dynamics< T, Descriptor >::computeVelocity | ( | Cell< T, Descriptor > const & | cell, | |
| Array< T, Descriptor< T >::d > & | u | |||
| ) | const [pure virtual] |
Compute the local fluid velocity in lattice units.
Implemented in plb::ExternalForceDynamics< T, Descriptor >, plb::ExternalMomentBGKdynamics< T, Descriptor >, plb::ExternalVelocityBGKdynamics< T, Descriptor >, plb::QuasiIncBGKdynamics< T, Descriptor >, plb::IncBGKdynamics< T, Descriptor >, plb::IncRegularizedBGKdynamics< T, Descriptor >, plb::ExternalMomentRegularizedBGKdynamics< T, Descriptor >, plb::MomentumExchangeBounceBack< T, Descriptor >, plb::BoundaryCompositeDynamics< T, Descriptor >, plb::StoreVelocityDynamics< T, Descriptor >, plb::StoreDensityAndVelocityDynamics< T, Descriptor >, plb::StoreTemperatureAndVelocityDynamics< T, Descriptor >, plb::DensityDirichletBoundaryDynamics< T, Descriptor, direction, orientation >, plb::NLD_VelocityBoundaryDynamics3D< T, Descriptor >, plb::RegularizedVelocityInnerCornerDynamics2D< T, Descriptor, normalX, normalY >, plb::RegularizedVelocityInnerEdgeDynamics3D< T, Descriptor, plane, normal1, normal2 >, plb::RegularizedVelocityInnerCornerDynamics3D< T, Descriptor, normalX, normalY, normalZ >, plb::IncAsinariDynamics< T, Descriptor >, plb::ExternalVelocityMRTdynamics< T, Descriptor >, plb::IncMRTdynamics< T, Descriptor >, plb::ExternalVelocityIncMRTdynamics< T, Descriptor >, plb::GuoExternalForceSmagorinskyBGKdynamics< T, Descriptor >, plb::IncGuoExternalForceSmagorinskyBGKdynamics< T, Descriptor >, plb::BasicBulkDynamics< T, Descriptor >, plb::CompositeDynamics< T, Descriptor >, plb::BounceBack< T, Descriptor >, and plb::NoDynamics< T, Descriptor >.
Referenced by plb::InamuroAnalyticalClosure().
| virtual void plb::Dynamics< T, Descriptor >::decompose | ( | Cell< T, Descriptor > const & | cell, | |
| std::vector< T > & | rawData, | |||
| plint | order | |||
| ) | const [pure virtual] |
Decompose from population representation into moment representation.
| rawData | This vector will be resized automatically inside decomponse(), if it doesn't already have the right size. This convention should be respected by classes inheriting from Dynamics. |
Implemented in plb::IsoThermalBulkDynamics< T, Descriptor >, plb::ThermalBulkDynamics< T, Descriptor >, plb::MomentumExchangeBounceBack< T, Descriptor >, plb::AdvectionDiffusionDynamics< T, Descriptor >, plb::AdvectionDiffusionBGKdynamics< T, Descriptor >, plb::CompositeDynamics< T, Descriptor >, plb::BounceBack< T, Descriptor >, and plb::NoDynamics< T, Descriptor >.
Referenced by plb::StripeOffDensityOffsetFunctional3D< T, Descriptor >::process(), and plb::StripeOffDensityOffsetFunctional2D< T, Descriptor >::process().
| void plb::Dynamics< T, Descriptor >::defineDensity | ( | Cell< T, Descriptor > & | cell, | |
| T | density | |||
| ) | [inline, virtual] |
Define density, if possible. Does nothing by default.
This method does nothing by default, unless overloaded in a deriving class. This is OK, because it's the behavior users will expect: if they use "defineSomething" on a cell, they want it to define the boundary condition on boundary nodes, but nothing to happen in bulk nodes. In this way, they can be lazy and loop over the whole domain instead of tracking boundary nodes explicitly.
Reimplemented in plb::StoreDensityDynamics< T, Descriptor >, plb::StoreDensityAndVelocityDynamics< T, Descriptor >, and plb::CompositeDynamics< T, Descriptor >.
| void plb::Dynamics< T, Descriptor >::defineDeviatoricStress | ( | Cell< T, Descriptor > & | cell, | |
| Array< T, SymmetricTensor< T, Descriptor >::n > const & | PiNeq | |||
| ) | [inline, virtual] |
Define deviatoric stress, if possible. Does nothing by default.
This method does nothing by default, unless overloaded in a deriving class. This is OK, because it's the behavior users will expect: if they use "defineSomething" on a cell, they want it to define the boundary condition on boundary nodes, but nothing to happen in bulk nodes. In this way, they can be lazy and loop over the whole domain instead of tracking boundary nodes explicitly.
Reimplemented in plb::CompositeDynamics< T, Descriptor >.
| void plb::Dynamics< T, Descriptor >::defineHeatFlux | ( | Cell< T, Descriptor > & | cell, | |
| Array< T, Descriptor< T >::d > const & | q | |||
| ) | [inline, virtual] |
Define heat flux, if possible. Does nothing by default.
This method does nothing by default, unless overloaded in a deriving class. This is OK, because it's the behavior users will expect: if they use "defineSomething" on a cell, they want it to define the boundary condition on boundary nodes, but nothing to happen in bulk nodes. In this way, they can be lazy and loop over the whole domain instead of tracking boundary nodes explicitly.
Reimplemented in plb::CompositeDynamics< T, Descriptor >.
| void plb::Dynamics< T, Descriptor >::defineMoment | ( | Cell< T, Descriptor > & | cell, | |
| plint | momentId, | |||
| T const * | value | |||
| ) | [inline, virtual] |
Define user define moment, if possible. Does nothing by default.
This method does nothing by default, unless overloaded in a deriving class. This is OK, because it's the behavior users will expect: if they use "defineSomething" on a cell, they want it to define the boundary condition on boundary nodes, but nothing to happen in bulk nodes. In this way, they can be lazy and loop over the whole domain instead of tracking boundary nodes explicitly.
Reimplemented in plb::CompositeDynamics< T, Descriptor >.
| void plb::Dynamics< T, Descriptor >::defineTemperature | ( | Cell< T, Descriptor > & | cell, | |
| T | temperature | |||
| ) | [inline, virtual] |
Define temperature, if possible. Does nothing by default.
This method does nothing by default, unless overloaded in a deriving class. This is OK, because it's the behavior users will expect: if they use "defineSomething" on a cell, they want it to define the boundary condition on boundary nodes, but nothing to happen in bulk nodes. In this way, they can be lazy and loop over the whole domain instead of tracking boundary nodes explicitly.
Reimplemented in plb::StoreTemperatureAndVelocityDynamics< T, Descriptor >, and plb::CompositeDynamics< T, Descriptor >.
| void plb::Dynamics< T, Descriptor >::defineVelocity | ( | Cell< T, Descriptor > & | cell, | |
| Array< T, Descriptor< T >::d > const & | u | |||
| ) | [inline, virtual] |
Define velocity, if possible. Does nothing by default.
This method does nothing by default, unless overloaded in a deriving class. This is OK, because it's the behavior users will expect: if they use "defineSomething" on a cell, they want it to define the boundary condition on boundary nodes, but nothing to happen in bulk nodes. In this way, they can be lazy and loop over the whole domain instead of tracking boundary nodes explicitly.
Reimplemented in plb::StoreVelocityDynamics< T, Descriptor >, plb::StoreDensityAndVelocityDynamics< T, Descriptor >, plb::StoreTemperatureAndVelocityDynamics< T, Descriptor >, plb::NLD_VelocityBoundaryDynamics3D< T, Descriptor >, plb::RegularizedVelocityInnerCornerDynamics2D< T, Descriptor, normalX, normalY >, plb::RegularizedVelocityInnerEdgeDynamics3D< T, Descriptor, plane, normal1, normal2 >, plb::RegularizedVelocityInnerCornerDynamics3D< T, Descriptor, normalX, normalY, normalZ >, and plb::CompositeDynamics< T, Descriptor >.
| void plb::Dynamics< T, Descriptor >::getExternalField | ( | Cell< T, Descriptor > const & | cell, | |
| plint | pos, | |||
| plint | size, | |||
| T * | ext | |||
| ) | const [inline, virtual] |
Access external fields through the dynamics object.
Default implementation: access cell directly.
Reimplemented in plb::CompositeDynamics< T, Descriptor >.
References plb::Cell< T, Descriptor >::getExternal(), and PLB_PRECONDITION.
| int plb::Dynamics< T, Descriptor >::getId | ( | ) | const [inline, virtual] |
Get an ID for the class which is unique for a given choice of T and Descriptor.
By default, this method returns 0 ("undefined").
Reimplemented in plb::NaiveExternalForceBGKdynamics< T, Descriptor >, plb::GuoExternalForceBGKdynamics< T, Descriptor >, plb::ShanChenExternalForceBGKdynamics< T, Descriptor >, plb::HeExternalForceBGKdynamics< T, Descriptor >, plb::IncGuoExternalForceBGKdynamics< T, Descriptor >, plb::BGKdynamics< T, Descriptor >, plb::StoreRhoBarJBGKdynamics< T, Descriptor >, plb::ExternalMomentBGKdynamics< T, Descriptor >, plb::ExternalVelocityBGKdynamics< T, Descriptor >, plb::QuasiIncBGKdynamics< T, Descriptor >, plb::IncBGKdynamics< T, Descriptor >, plb::ConstRhoBGKdynamics< T, Descriptor >, plb::RLBdynamics< T, Descriptor >, plb::RegularizedBGKdynamics< T, Descriptor >, plb::IncRegularizedBGKdynamics< T, Descriptor >, plb::ExternalMomentRegularizedBGKdynamics< T, Descriptor >, plb::ChopardDynamics< T, Descriptor >, plb::PrecondBGKdynamics< T, Descriptor >, plb::ThermalBGKdynamics< T, Descriptor >, plb::MomentumExchangeBounceBack< T, Descriptor >, plb::BoundaryCompositeDynamics< T, Descriptor >, plb::StoreDensityDynamics< T, Descriptor >, plb::StoreVelocityDynamics< T, Descriptor >, plb::StoreDensityAndVelocityDynamics< T, Descriptor >, plb::StoreTemperatureAndVelocityDynamics< T, Descriptor >, plb::VelocityDirichletBoundaryDynamics< T, Descriptor, direction, orientation >, plb::DensityDirichletBoundaryDynamics< T, Descriptor, direction, orientation >, plb::EquilibriumVelocityBoundaryDynamics< T, Descriptor, direction, orientation >, plb::EquilibriumDensityBoundaryDynamics< T, Descriptor, direction, orientation >, plb::EquilibriumDensityAndVelocityBoundaryDynamics< T, Descriptor >, plb::GeneralizedVelocityBoundaryDynamics< T, Descriptor >, plb::GeneralizedMassConservingVelocityBoundaryDynamics< T, Descriptor >, plb::GeneralizedDensityBoundaryDynamics< T, Descriptor, direction, orientation >, plb::GeneralizedVelocityTemperatureBoundaryDynamics< T, Descriptor >, plb::GeneralizedNextToBoundaryDynamics< T, Descriptor >, plb::InamuroAnalyticalVelocityDynamics< T, Descriptor, direction, orientation >, plb::InamuroAnalyticalPressureDynamics< T, Descriptor, direction, orientation >, plb::NLD_VelocityBoundaryDynamics3D< T, Descriptor >, plb::NLD_VelocityNeumannBoundaryDynamics3D< T, Descriptor >, plb::RegularizedVelocityBoundaryDynamics< T, Descriptor, direction, orientation >, plb::RegularizedDensityBoundaryDynamics< T, Descriptor, direction, orientation >, plb::ZouHeVelocityDynamics< T, Descriptor, direction, orientation >, plb::ZouHePressureDynamics< T, Descriptor, direction, orientation >, plb::AdvectionDiffusionBoundaryDynamics< T, Descriptor, direction, orientation >, plb::RegularizedAdvectionDiffusionBoundaryDynamics< T, Descriptor, direction, orientation >, plb::AdvectionDiffusionCornerDynamics2D< T, Descriptor, xNormal, yNormal >, plb::AdvectionDiffusionEdgeDynamics3D< T, Descriptor, plane, normal1, normal2 >, plb::AdvectionDiffusionCornerDynamics3D< T, Descriptor, xNormal, yNormal, zNormal >, plb::AdvectionDiffusionRLBdynamics< T, Descriptor >, plb::AdvectionDiffusionWithSourceRLBdynamics< T, Descriptor >, plb::SmagorinskyAdvectionDiffusionRLBdynamics< T, Descriptor >, plb::AdvectionDiffusionBGKdynamics< T, Descriptor >, plb::AsinariDynamics< T, Descriptor >, plb::IncAsinariDynamics< T, Descriptor >, plb::CarreauDynamics< T, Descriptor, N >, plb::BGKCarreauDynamics< T, Descriptor, N >, plb::RegularizedBGKCarreauDynamics< T, Descriptor, N >, plb::EntropicDynamics< T, Descriptor >, plb::ForcedEntropicDynamics< T, Descriptor >, plb::GuoExternalForceMRTdynamics< T, Descriptor >, plb::MRTdynamics< T, Descriptor >, plb::ExternalVelocityMRTdynamics< T, Descriptor >, plb::IncMRTdynamics< T, Descriptor >, plb::ExternalVelocityIncMRTdynamics< T, Descriptor >, plb::SmagorinskyDynamics< T, Descriptor >, plb::SmagorinskyBGKdynamics< T, Descriptor >, plb::GuoExternalForceSmagorinskyBGKdynamics< T, Descriptor >, plb::IncGuoExternalForceSmagorinskyBGKdynamics< T, Descriptor >, plb::SmagorinskyRegularizedDynamics< T, Descriptor >, plb::BounceBack< T, Descriptor >, plb::NoDynamics< T, Descriptor >, plb::FineGridBoundaryDynamics< T, Descriptor >, plb::RegularizedVelocityBoundaryDynamics< T, Descriptor, 0, normalX >, plb::RegularizedVelocityBoundaryDynamics< T, Descriptor, 1, normalY >, plb::RegularizedVelocityBoundaryDynamics< T, Descriptor, 2, normalZ >, plb::RegularizedVelocityBoundaryDynamics< T, Descriptor, direction2, normal2 >, and plb::RegularizedVelocityBoundaryDynamics< T, Descriptor, direction1, normal1 >.
Referenced by plb::constructIdChain(), plb::IdentifyPureDynamics3D< T, Descriptor >::processGenericBlocks(), plb::serialize(), plb::CompositeDynamics< T, Descriptor >::serialize(), and plb::CompositeDynamics< T, Descriptor >::unserialize().
| virtual T plb::Dynamics< T, Descriptor >::getOmega | ( | ) | const [pure virtual] |
Get local relaxation parameter of the dynamics.
Implemented in plb::MomentumExchangeBounceBack< T, Descriptor >, plb::SmagorinskyDynamics< T, Descriptor >, plb::SmagorinskyBGKdynamics< T, Descriptor >, plb::GuoExternalForceSmagorinskyBGKdynamics< T, Descriptor >, plb::IncGuoExternalForceSmagorinskyBGKdynamics< T, Descriptor >, plb::SmagorinskyRegularizedDynamics< T, Descriptor >, plb::BasicBulkDynamics< T, Descriptor >, plb::CompositeDynamics< T, Descriptor >, plb::BounceBack< T, Descriptor >, and plb::NoDynamics< T, Descriptor >.
Referenced by plb::Dynamics< T, Descriptor >::getParameter(), plb::OuterVelocityCornerFunctional3D< T, Descriptor, xNormal, yNormal, zNormal >::processCell(), plb::OuterVelocityEdgeFunctional3D< T, Descriptor, plane, normal1, normal2 >::processCell(), plb::OuterVelocityCornerFunctional2D< T, Descriptor, xNormal, yNormal >::processCell(), plb::IdentifyPureDynamics3D< T, Descriptor >::processGenericBlocks(), plb::Dynamics< T, Descriptor >::rescale(), and plb::Dynamics< T, Descriptor >::serialize().
| T plb::Dynamics< T, Descriptor >::getParameter | ( | plint | whichParameter | ) | const [inline, virtual] |
Get local value of any generic parameter.
Reimplemented in plb::ChopardDynamics< T, Descriptor >, plb::AsinariDynamics< T, Descriptor >, plb::IncAsinariDynamics< T, Descriptor >, and plb::CompositeDynamics< T, Descriptor >.
References plb::Dynamics< T, Descriptor >::getOmega(), and plb::dynamicParams::omega_shear.
| void plb::Dynamics< T, Descriptor >::getPopulations | ( | Cell< T, Descriptor > const & | cell, | |
| Array< T, Descriptor< T >::q > & | f | |||
| ) | const [inline, virtual] |
Access particle populations through the dynamics object.
Default implementation: access cell directly.
Reimplemented in plb::CompositeDynamics< T, Descriptor >.
References plb::Cell< T, Descriptor >::getRawPopulations().
| bool plb::Dynamics< T, Descriptor >::isBoundary | ( | ) | const [inline, virtual] |
Say if the dynamics represents a boundary condition.
By default, this method yields false.
Reimplemented in plb::BoundaryCompositeDynamics< T, Descriptor >, plb::NonLocalBoundaryDynamics3D< T, Descriptor >, plb::BounceBack< T, Descriptor >, and plb::NonLocalBoundaryDynamics2D< T, Descriptor >.
Referenced by plb::removeBoundaryComponents().
| bool plb::Dynamics< T, Descriptor >::isComposeable | ( | ) | const [inline, virtual] |
Say if this class can be used as a base for a composite dynamics.
By default, this method yields true.
Reimplemented in plb::FineGridBoundaryDynamics< T, Descriptor >.
Referenced by plb::cloneAndInsertAtTopDynamics().
| bool plb::Dynamics< T, Descriptor >::isComposite | ( | ) | const [inline, virtual] |
Say if this dynamics is based on another dynamics class (and is convertible to a CompositeDynamics).
By default, dynamics classes are non-composite.
Reimplemented in plb::CompositeDynamics< T, Descriptor >.
Referenced by plb::cloneAndInsertAtTopDynamics(), plb::cloneAndReplaceBottomDynamics(), plb::constructIdChain(), plb::getBottomMostDynamics(), plb::WrappedLocalBoundaryFunctional3D< T, Descriptor >::process(), plb::WrappedLocalBoundaryFunctional2D< T, Descriptor >::process(), and plb::removeBoundaryComponents().
| bool plb::Dynamics< T, Descriptor >::isNonLocal | ( | ) | const [inline, virtual] |
By default, this method yields false.
Reimplemented in plb::NonLocalBoundaryDynamics3D< T, Descriptor >, plb::NonLocalDynamics2D< T, Descriptor >, and plb::NonLocalDynamics3D< T, Descriptor >.
Referenced by plb::ExecuteNonLocalDynamics3D< T, Descriptor >::process().
| virtual plint plb::Dynamics< T, Descriptor >::numDecomposedVariables | ( | plint | order | ) | const [pure virtual] |
Number of variables required to decompose a population representation into moments.
Example: Take the BGK dynamics on a D2Q9 lattice. The dynamics is physically significant up to order-1 in the Chapman-Enskog expansion. Therefore, a decomposition means:
Implemented in plb::IsoThermalBulkDynamics< T, Descriptor >, plb::ThermalBulkDynamics< T, Descriptor >, plb::MomentumExchangeBounceBack< T, Descriptor >, plb::AdvectionDiffusionDynamics< T, Descriptor >, plb::AdvectionDiffusionBGKdynamics< T, Descriptor >, plb::CompositeDynamics< T, Descriptor >, plb::BounceBack< T, Descriptor >, and plb::NoDynamics< T, Descriptor >.
| virtual void plb::Dynamics< T, Descriptor >::recompose | ( | Cell< T, Descriptor > & | cell, | |
| std::vector< T > const & | rawData, | |||
| plint | order | |||
| ) | const [pure virtual] |
Recompose from moment representation to population representation.
Implemented in plb::IsoThermalBulkDynamics< T, Descriptor >, plb::ThermalBulkDynamics< T, Descriptor >, plb::MomentumExchangeBounceBack< T, Descriptor >, plb::AdvectionDiffusionDynamics< T, Descriptor >, plb::AdvectionDiffusionBGKdynamics< T, Descriptor >, plb::CompositeDynamics< T, Descriptor >, plb::BounceBack< T, Descriptor >, and plb::NoDynamics< T, Descriptor >.
Referenced by plb::StripeOffDensityOffsetFunctional3D< T, Descriptor >::process(), and plb::StripeOffDensityOffsetFunctional2D< T, Descriptor >::process().
| virtual void plb::Dynamics< T, Descriptor >::regularize | ( | Cell< T, Descriptor > & | cell, | |
| T | rhoBar, | |||
| Array< T, Descriptor< T >::d > const & | j, | |||
| T | jSqr, | |||
| Array< T, SymmetricTensor< T, Descriptor >::n > const & | PiNeq, | |||
| T | thetaBar = T() | |||
| ) | const [pure virtual] |
Re-compute particle populations from the leading moments.
Implemented in plb::IsoThermalBulkDynamics< T, Descriptor >, plb::ThermalBulkDynamics< T, Descriptor >, plb::MomentumExchangeBounceBack< T, Descriptor >, plb::AdvectionDiffusionDynamics< T, Descriptor >, plb::CompositeDynamics< T, Descriptor >, plb::BounceBack< T, Descriptor >, and plb::NoDynamics< T, Descriptor >.
Referenced by plb::DirichletDensityBoundarySolver< T, Descriptor, dir >::regularizePopulations(), plb::DirichletMassConservingVelocityBoundarySolver< T, Descriptor >::regularizePopulations(), and plb::DirichletVelocityBoundarySolver< T, Descriptor >::regularizePopulations().
| void plb::Dynamics< T, Descriptor >::rescale | ( | int | dxScale, | |
| int | dtScale | |||
| ) | [inline, virtual] |
Adapt internal variables to a new grid level.
In the default implementation, only omega is rescaled.
Reimplemented in plb::IsoThermalBulkDynamics< T, Descriptor >, plb::CompositeDynamics< T, Descriptor >, plb::BounceBack< T, Descriptor >, and plb::NoDynamics< T, Descriptor >.
References plb::Dynamics< T, Descriptor >::getOmega(), plb::scaleFromReference(), and plb::Dynamics< T, Descriptor >::setOmega().
| virtual void plb::Dynamics< T, Descriptor >::rescale | ( | std::vector< T > & | rawData, | |
| T | xDxInv, | |||
| T | xDt, | |||
| plint | order | |||
| ) | const [pure virtual] |
Change the space and time scales of the variables in moment representation.
| xDxInv | Factor by which space scale is multiplied. | |
| xDt | Factor by which time scale is multiplied. |
Implemented in plb::IsoThermalBulkDynamics< T, Descriptor >, plb::ThermalBulkDynamics< T, Descriptor >, plb::MomentumExchangeBounceBack< T, Descriptor >, plb::AdvectionDiffusionDynamics< T, Descriptor >, plb::AdvectionDiffusionBGKdynamics< T, Descriptor >, plb::CompositeDynamics< T, Descriptor >, plb::BounceBack< T, Descriptor >, and plb::NoDynamics< T, Descriptor >.
Referenced by plb::MultiGridLattice2D< T, Descriptor >::MultiGridLattice2D(), and plb::MultiGridLattice3D< T, Descriptor >::MultiGridLattice3D().
| void plb::Dynamics< T, Descriptor >::serialize | ( | HierarchicSerializer & | serializer | ) | const [inline, virtual] |
Serialize the dynamics object.
Reimplemented in plb::ChopardDynamics< T, Descriptor >, plb::PrecondBGKdynamics< T, Descriptor >, plb::MomentumExchangeBounceBack< T, Descriptor >, plb::BoundaryCompositeDynamics< T, Descriptor >, plb::StoreDensityDynamics< T, Descriptor >, plb::StoreVelocityDynamics< T, Descriptor >, plb::StoreDensityAndVelocityDynamics< T, Descriptor >, plb::StoreTemperatureAndVelocityDynamics< T, Descriptor >, plb::VelocityDirichletBoundaryDynamics< T, Descriptor, direction, orientation >, plb::DensityDirichletBoundaryDynamics< T, Descriptor, direction, orientation >, plb::GeneralizedVelocityBoundaryDynamics< T, Descriptor >, plb::GeneralizedMassConservingVelocityBoundaryDynamics< T, Descriptor >, plb::GeneralizedDensityBoundaryDynamics< T, Descriptor, direction, orientation >, plb::GeneralizedVelocityTemperatureBoundaryDynamics< T, Descriptor >, plb::GeneralizedNextToBoundaryDynamics< T, Descriptor >, plb::NLD_VelocityBoundaryDynamics3D< T, Descriptor >, plb::RegularizedVelocityBoundaryDynamics< T, Descriptor, direction, orientation >, plb::RegularizedDensityBoundaryDynamics< T, Descriptor, direction, orientation >, plb::ZouHeVelocityDynamics< T, Descriptor, direction, orientation >, plb::ZouHePressureDynamics< T, Descriptor, direction, orientation >, plb::AdvectionDiffusionBoundaryDynamics< T, Descriptor, direction, orientation >, plb::RegularizedAdvectionDiffusionBoundaryDynamics< T, Descriptor, direction, orientation >, plb::AdvectionDiffusionCornerDynamics2D< T, Descriptor, xNormal, yNormal >, plb::AdvectionDiffusionEdgeDynamics3D< T, Descriptor, plane, normal1, normal2 >, plb::AdvectionDiffusionCornerDynamics3D< T, Descriptor, xNormal, yNormal, zNormal >, plb::GuoExternalForceMRTdynamics< T, Descriptor >, plb::MRTdynamics< T, Descriptor >, plb::ExternalVelocityMRTdynamics< T, Descriptor >, plb::IncMRTdynamics< T, Descriptor >, plb::ExternalVelocityIncMRTdynamics< T, Descriptor >, plb::SmagorinskyDynamics< T, Descriptor >, plb::SmagorinskyBGKdynamics< T, Descriptor >, plb::GuoExternalForceSmagorinskyBGKdynamics< T, Descriptor >, plb::IncGuoExternalForceSmagorinskyBGKdynamics< T, Descriptor >, plb::SmagorinskyRegularizedDynamics< T, Descriptor >, plb::VariableOmegaDynamics< T, Descriptor >, plb::OmegaFromPiDynamics< T, Descriptor >, plb::CompositeDynamics< T, Descriptor >, plb::PreparePopulationsDynamics< T, Descriptor >, plb::BulkCompositeDynamics< T, Descriptor >, plb::BounceBack< T, Descriptor >, plb::NoDynamics< T, Descriptor >, plb::FineGridBoundaryDynamics< T, Descriptor >, plb::RegularizedVelocityBoundaryDynamics< T, Descriptor, 0, normalX >, plb::RegularizedVelocityBoundaryDynamics< T, Descriptor, 1, normalY >, plb::RegularizedVelocityBoundaryDynamics< T, Descriptor, 2, normalZ >, plb::RegularizedVelocityBoundaryDynamics< T, Descriptor, direction2, normal2 >, and plb::RegularizedVelocityBoundaryDynamics< T, Descriptor, direction1, normal1 >.
References plb::HierarchicSerializer::addValue(), and plb::Dynamics< T, Descriptor >::getOmega().
Referenced by plb::serialize().
| void plb::Dynamics< T, Descriptor >::setExternalField | ( | Cell< T, Descriptor > & | cell, | |
| plint | pos, | |||
| plint | size, | |||
| const T * | ext | |||
| ) | [inline, virtual] |
Define external fields through the dynamics object.
Default implementation: access cell directly.
Reimplemented in plb::CompositeDynamics< T, Descriptor >.
References plb::Cell< T, Descriptor >::getExternal(), and PLB_PRECONDITION.
| virtual void plb::Dynamics< T, Descriptor >::setOmega | ( | T | omega_ | ) | [pure virtual] |
Set local relaxation parameter of the dynamics.
Implemented in plb::MomentumExchangeBounceBack< T, Descriptor >, plb::AsinariDynamics< T, Descriptor >, plb::IncAsinariDynamics< T, Descriptor >, plb::SmagorinskyDynamics< T, Descriptor >, plb::SmagorinskyBGKdynamics< T, Descriptor >, plb::GuoExternalForceSmagorinskyBGKdynamics< T, Descriptor >, plb::IncGuoExternalForceSmagorinskyBGKdynamics< T, Descriptor >, plb::SmagorinskyRegularizedDynamics< T, Descriptor >, plb::BasicBulkDynamics< T, Descriptor >, plb::CompositeDynamics< T, Descriptor >, plb::BounceBack< T, Descriptor >, and plb::NoDynamics< T, Descriptor >.
Referenced by plb::Dynamics< T, Descriptor >::rescale(), plb::Dynamics< T, Descriptor >::setParameter(), and plb::Dynamics< T, Descriptor >::unserialize().
| void plb::Dynamics< T, Descriptor >::setParameter | ( | plint | whichParameter, | |
| T | value | |||
| ) | [inline, virtual] |
Set local value of any generic parameter.
Reimplemented in plb::ChopardDynamics< T, Descriptor >, and plb::CompositeDynamics< T, Descriptor >.
References plb::dynamicParams::omega_shear, and plb::Dynamics< T, Descriptor >::setOmega().
| void plb::Dynamics< T, Descriptor >::setPopulations | ( | Cell< T, Descriptor > & | cell, | |
| Array< T, Descriptor< T >::q > const & | f | |||
| ) | [inline, virtual] |
Define particle populations through the dynamics object.
Default implementation: access cell directly.
Reimplemented in plb::CompositeDynamics< T, Descriptor >.
References plb::Cell< T, Descriptor >::getRawPopulations().
| void plb::Dynamics< T, Descriptor >::unserialize | ( | HierarchicUnserializer & | unserializer | ) | [inline, virtual] |
Un-Serialize the dynamics object.
Reimplemented in plb::ChopardDynamics< T, Descriptor >, plb::PrecondBGKdynamics< T, Descriptor >, plb::MomentumExchangeBounceBack< T, Descriptor >, plb::BoundaryCompositeDynamics< T, Descriptor >, plb::StoreDensityDynamics< T, Descriptor >, plb::StoreVelocityDynamics< T, Descriptor >, plb::StoreDensityAndVelocityDynamics< T, Descriptor >, plb::StoreTemperatureAndVelocityDynamics< T, Descriptor >, plb::VelocityDirichletBoundaryDynamics< T, Descriptor, direction, orientation >, plb::DensityDirichletBoundaryDynamics< T, Descriptor, direction, orientation >, plb::GeneralizedVelocityBoundaryDynamics< T, Descriptor >, plb::GeneralizedMassConservingVelocityBoundaryDynamics< T, Descriptor >, plb::GeneralizedDensityBoundaryDynamics< T, Descriptor, direction, orientation >, plb::GeneralizedVelocityTemperatureBoundaryDynamics< T, Descriptor >, plb::GeneralizedNextToBoundaryDynamics< T, Descriptor >, plb::NLD_VelocityBoundaryDynamics3D< T, Descriptor >, plb::RegularizedVelocityBoundaryDynamics< T, Descriptor, direction, orientation >, plb::RegularizedDensityBoundaryDynamics< T, Descriptor, direction, orientation >, plb::ZouHeVelocityDynamics< T, Descriptor, direction, orientation >, plb::ZouHePressureDynamics< T, Descriptor, direction, orientation >, plb::AdvectionDiffusionBoundaryDynamics< T, Descriptor, direction, orientation >, plb::RegularizedAdvectionDiffusionBoundaryDynamics< T, Descriptor, direction, orientation >, plb::AdvectionDiffusionCornerDynamics2D< T, Descriptor, xNormal, yNormal >, plb::AdvectionDiffusionEdgeDynamics3D< T, Descriptor, plane, normal1, normal2 >, plb::AdvectionDiffusionCornerDynamics3D< T, Descriptor, xNormal, yNormal, zNormal >, plb::GuoExternalForceMRTdynamics< T, Descriptor >, plb::MRTdynamics< T, Descriptor >, plb::ExternalVelocityMRTdynamics< T, Descriptor >, plb::IncMRTdynamics< T, Descriptor >, plb::ExternalVelocityIncMRTdynamics< T, Descriptor >, plb::SmagorinskyDynamics< T, Descriptor >, plb::SmagorinskyBGKdynamics< T, Descriptor >, plb::GuoExternalForceSmagorinskyBGKdynamics< T, Descriptor >, plb::IncGuoExternalForceSmagorinskyBGKdynamics< T, Descriptor >, plb::SmagorinskyRegularizedDynamics< T, Descriptor >, plb::VariableOmegaDynamics< T, Descriptor >, plb::OmegaFromPiDynamics< T, Descriptor >, plb::CompositeDynamics< T, Descriptor >, plb::PreparePopulationsDynamics< T, Descriptor >, plb::BulkCompositeDynamics< T, Descriptor >, plb::BounceBack< T, Descriptor >, plb::NoDynamics< T, Descriptor >, plb::FineGridBoundaryDynamics< T, Descriptor >, plb::RegularizedVelocityBoundaryDynamics< T, Descriptor, 0, normalX >, plb::RegularizedVelocityBoundaryDynamics< T, Descriptor, 1, normalY >, plb::RegularizedVelocityBoundaryDynamics< T, Descriptor, 2, normalZ >, plb::RegularizedVelocityBoundaryDynamics< T, Descriptor, direction2, normal2 >, and plb::RegularizedVelocityBoundaryDynamics< T, Descriptor, direction1, normal1 >.
References plb::HierarchicUnserializer::readValue(), and plb::Dynamics< T, Descriptor >::setOmega().
Referenced by plb::unserialize().
| bool plb::Dynamics< T, Descriptor >::velIsJ | ( | ) | const [inline, virtual] |
Say if velocity in this dynamics is computed as "j" (the order-1 moment of the populations) or as "j/rho".
By default, this method returns false, as velocity is j/rho.
Reimplemented in plb::IncGuoExternalForceBGKdynamics< T, Descriptor >, plb::QuasiIncBGKdynamics< T, Descriptor >, plb::IncBGKdynamics< T, Descriptor >, plb::IncRegularizedBGKdynamics< T, Descriptor >, plb::IncAsinariDynamics< T, Descriptor >, plb::IncMRTdynamics< T, Descriptor >, plb::ExternalVelocityIncMRTdynamics< T, Descriptor >, plb::IncGuoExternalForceSmagorinskyBGKdynamics< T, Descriptor >, and plb::CompositeDynamics< T, Descriptor >.
1.6.3
1.6.3