$treeview $search $mathjax
|
Palabos
Version 1.1
$projectbrief
|
$projectbrief
|
$searchbox |
Base class for composite dynamics. More...
#include <dynamics.h>


Public Member Functions | |
| CompositeDynamics (Dynamics< T, Descriptor > *baseDynamics_, bool automaticPrepareCollision_) | |
| CompositeDynamics (CompositeDynamics< T, Descriptor > const &rhs) | |
| ~CompositeDynamics () | |
| CompositeDynamics & | operator= (CompositeDynamics< T, Descriptor > const &rhs) |
| virtual CompositeDynamics< T, Descriptor > * | clone () const =0 |
| Clone the object, based on its dynamic type. | |
| virtual CompositeDynamics< T, Descriptor > * | cloneWithNewBase (Dynamics< T, Descriptor > *baseDynamics_) const |
| Clone the object with new BaseDynamics. | |
| virtual bool | isComposite () const |
| virtual void | serialize (HierarchicSerializer &serializer) const |
| Serialize the dynamics object. | |
| virtual void | unserialize (HierarchicUnserializer &unserializer) |
| Un-Serialize the dynamics object. | |
| virtual void | replaceBaseDynamics (Dynamics< T, Descriptor > *newBaseDynamics) |
| Dynamics< T, Descriptor > & | getBaseDynamics () |
| Dynamics< T, Descriptor > const & | getBaseDynamics () const |
| virtual void | prepareCollision (Cell< T, Descriptor > &cell)=0 |
| Do something before execution of main collision step. | |
| virtual void | collide (Cell< T, Descriptor > &cell, BlockStatistics &statistics) |
| 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 |
| Compute equilibrium distribution function. | |
| 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 |
| Re-compute particle populations from the leading moments. | |
| virtual bool | velIsJ () const |
| virtual T | computeDensity (Cell< T, Descriptor > const &cell) const |
| Compute the local particle density in lattice units. | |
| virtual T | computePressure (Cell< T, Descriptor > const &cell) const |
| Compute the local pressure in lattice units. | |
| virtual void | computeVelocity (Cell< T, Descriptor > const &cell, Array< T, Descriptor< T >::d > &u) const |
| Compute the local fluid velocity in lattice units. | |
| virtual T | computeTemperature (Cell< T, Descriptor > const &cell) const |
| Compute the temperature in lattice units. | |
| virtual void | computeDeviatoricStress (Cell< T, Descriptor > const &cell, Array< T, SymmetricTensor< T, Descriptor >::n > &PiNeq) const |
| 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 |
| Compute the heat flux in lattice units. | |
| virtual void | computeMoment (Cell< T, Descriptor > const &cell, plint momentId, T *moment) const |
| Compute additional user-defined moments. | |
| virtual plint | numDecomposedVariables (plint order) const |
| 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 |
| Decompose from population representation into moment representation. | |
| virtual void | recompose (Cell< T, Descriptor > &cell, std::vector< T > const &rawData, plint order) const |
| Recompose from moment representation to population representation. | |
| virtual void | rescale (std::vector< T > &rawData, T xDxInv, T xDt, plint order) const |
| 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 T | computeRhoBar (Cell< T, Descriptor > const &cell) const |
| Compute order-0 moment rho-bar. | |
| virtual void | computeRhoBarJ (Cell< T, Descriptor > const &cell, T &rhoBar, Array< T, Descriptor< T >::d > &j) const |
| Compute order-0 moment rho-bar and order-1 moment j. | |
| virtual void | computeRhoBarJPiNeq (Cell< T, Descriptor > const &cell, T &rhoBar, Array< T, Descriptor< T >::d > &j, Array< T, SymmetricTensor< T, Descriptor >::n > &PiNeq) const |
| virtual T | computeEbar (Cell< T, Descriptor > const &cell) const |
| Compute e-bar, which is related to the internal energy. | |
| virtual T | getOmega () const |
| Get local relaxation parameter of the dynamics. | |
| virtual void | setOmega (T omega_) |
| 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 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. | |
| bool | doesAutomaticPrepareCollision () const |
| Returns flag on whether prepareCollision() is invoked before collision or not. | |
| void | toggleAutomaticPrepareCollision (bool flag) |
| Toggle flag on whether prepareCollision() is invoked before collision or not. | |
Base class for composite dynamics.
During the collision of a composite dynamics, a preparation step is invoked primary to collision. Then, another dynamics is called to fullfill collision.
| plb::CompositeDynamics< T, Descriptor >::CompositeDynamics | ( | Dynamics< T, Descriptor > * | baseDynamics_, | |
| bool | automaticPrepareCollision_ | |||
| ) | [inline] |
| plb::CompositeDynamics< T, Descriptor >::CompositeDynamics | ( | CompositeDynamics< T, Descriptor > const & | rhs | ) | [inline] |
| plb::CompositeDynamics< T, Descriptor >::~CompositeDynamics | ( | ) | [inline] |
| virtual CompositeDynamics<T,Descriptor>* plb::CompositeDynamics< T, Descriptor >::clone | ( | ) | const [pure virtual] |
Clone the object, based on its dynamic type.
Implements plb::Dynamics< T, Descriptor >.
Implemented in plb::RLBdynamics< 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::CarreauDynamics< T, Descriptor, N >, plb::ExternalOmegaDynamics< T, Descriptor >, plb::SmagorinskyDynamics< T, Descriptor >, plb::PreparePopulationsDynamics< 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::CompositeDynamics< T, Descriptor >::cloneWithNewBase().
| CompositeDynamics< T, Descriptor > * plb::CompositeDynamics< T, Descriptor >::cloneWithNewBase | ( | Dynamics< T, Descriptor > * | baseDynamics_ | ) | const [inline, virtual] |
Clone the object with new BaseDynamics.
References plb::CompositeDynamics< T, Descriptor >::clone(), and plb::CompositeDynamics< T, Descriptor >::replaceBaseDynamics().
Referenced by plb::cloneAndInsertAtTopDynamics().
| void plb::CompositeDynamics< 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 from plb::Dynamics< T, Descriptor >.
References plb::CompositeDynamics< T, Descriptor >::collide(), and plb::CompositeDynamics< T, Descriptor >::prepareCollision().
| void plb::CompositeDynamics< T, Descriptor >::collide | ( | Cell< T, Descriptor > & | cell, | |
| BlockStatistics & | statistics | |||
| ) | [inline, virtual] |
Implementation of the collision step.
Implements plb::Dynamics< T, Descriptor >.
References plb::CompositeDynamics< T, Descriptor >::prepareCollision().
Referenced by plb::CompositeDynamics< T, Descriptor >::collide().
| T plb::CompositeDynamics< T, Descriptor >::computeDensity | ( | Cell< T, Descriptor > const & | cell | ) | const [inline, virtual] |
Compute the local particle density in lattice units.
Implements plb::Dynamics< T, Descriptor >.
Reimplemented in 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 >, and plb::RegularizedVelocityInnerCornerDynamics3D< T, Descriptor, normalX, normalY, normalZ >.
References plb::CompositeDynamics< T, Descriptor >::getBaseDynamics().
| void plb::CompositeDynamics< T, Descriptor >::computeDeviatoricStress | ( | Cell< T, Descriptor > const & | cell, | |
| Array< T, SymmetricTensor< T, Descriptor >::n > & | PiNeq | |||
| ) | const [inline, virtual] |
Compute the deviatoric stress tensor ("off-equilibrium part of Pi").
Implements plb::Dynamics< T, Descriptor >.
Reimplemented in plb::BoundaryCompositeDynamics< T, Descriptor >.
References plb::CompositeDynamics< T, Descriptor >::getBaseDynamics().
| T plb::CompositeDynamics< T, Descriptor >::computeEbar | ( | Cell< T, Descriptor > const & | cell | ) | const [inline, virtual] |
Compute e-bar, which is related to the internal energy.
Implements plb::Dynamics< T, Descriptor >.
Reimplemented in plb::BoundaryCompositeDynamics< T, Descriptor >.
References plb::CompositeDynamics< T, Descriptor >::getBaseDynamics().
| T plb::CompositeDynamics< T, Descriptor >::computeEquilibrium | ( | plint | iPop, | |
| T | rhoBar, | |||
| Array< T, Descriptor< T >::d > const & | j, | |||
| T | jSqr, | |||
| T | thetaBar = T() | |||
| ) | const [inline, virtual] |
Compute equilibrium distribution function.
Implements plb::Dynamics< T, Descriptor >.
Referenced by plb::RegularizedVelocityInnerCornerDynamics3D< T, Descriptor, normalX, normalY, normalZ >::completePopulations(), plb::RegularizedVelocityInnerEdgeDynamics3D< T, Descriptor, plane, normal1, normal2 >::completePopulations(), plb::RegularizedVelocityInnerCornerDynamics2D< T, Descriptor, normalX, normalY >::completePopulations(), and plb::RLBdynamics< T, Descriptor >::completePopulations().
| void plb::CompositeDynamics< T, Descriptor >::computeHeatFlux | ( | Cell< T, Descriptor > const & | cell, | |
| Array< T, Descriptor< T >::d > & | q | |||
| ) | const [inline, virtual] |
Compute the heat flux in lattice units.
Implements plb::Dynamics< T, Descriptor >.
Reimplemented in plb::BoundaryCompositeDynamics< T, Descriptor >.
References plb::CompositeDynamics< T, Descriptor >::getBaseDynamics().
| void plb::CompositeDynamics< T, Descriptor >::computeMoment | ( | Cell< T, Descriptor > const & | cell, | |
| plint | momentId, | |||
| T * | moment | |||
| ) | const [inline, virtual] |
Compute additional user-defined moments.
Implements plb::Dynamics< T, Descriptor >.
Reimplemented in plb::BoundaryCompositeDynamics< T, Descriptor >.
References plb::CompositeDynamics< T, Descriptor >::getBaseDynamics().
| T plb::CompositeDynamics< T, Descriptor >::computePressure | ( | Cell< T, Descriptor > const & | cell | ) | const [inline, virtual] |
Compute the local pressure in lattice units.
Implements plb::Dynamics< T, Descriptor >.
Reimplemented in plb::BoundaryCompositeDynamics< T, Descriptor >.
References plb::CompositeDynamics< T, Descriptor >::getBaseDynamics().
| T plb::CompositeDynamics< T, Descriptor >::computeRhoBar | ( | Cell< T, Descriptor > const & | cell | ) | const [inline, virtual] |
Compute order-0 moment rho-bar.
Implements plb::Dynamics< T, Descriptor >.
Reimplemented in 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 >, and plb::RegularizedVelocityInnerCornerDynamics3D< T, Descriptor, normalX, normalY, normalZ >.
References plb::CompositeDynamics< T, Descriptor >::getBaseDynamics().
| void plb::CompositeDynamics< T, Descriptor >::computeRhoBarJ | ( | Cell< T, Descriptor > const & | cell, | |
| T & | rhoBar, | |||
| Array< T, Descriptor< T >::d > & | j | |||
| ) | const [inline, virtual] |
Compute order-0 moment rho-bar and order-1 moment j.
Implements plb::Dynamics< T, Descriptor >.
Reimplemented in 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 >, and plb::RegularizedVelocityInnerCornerDynamics3D< T, Descriptor, normalX, normalY, normalZ >.
References plb::CompositeDynamics< T, Descriptor >::getBaseDynamics().
| void plb::CompositeDynamics< T, Descriptor >::computeRhoBarJPiNeq | ( | Cell< T, Descriptor > const & | cell, | |
| T & | rhoBar, | |||
| Array< T, Descriptor< T >::d > & | j, | |||
| Array< T, SymmetricTensor< T, Descriptor >::n > & | PiNeq | |||
| ) | const [inline, virtual] |
Compute order-0 moment rho-bar, order-1 moment j, and order-2 off-equilibrium moment PiNeq.
Implements plb::Dynamics< T, Descriptor >.
Reimplemented in plb::BoundaryCompositeDynamics< T, Descriptor >, plb::RegularizedVelocityInnerCornerDynamics2D< T, Descriptor, normalX, normalY >, plb::RegularizedVelocityInnerEdgeDynamics3D< T, Descriptor, plane, normal1, normal2 >, and plb::RegularizedVelocityInnerCornerDynamics3D< T, Descriptor, normalX, normalY, normalZ >.
References plb::CompositeDynamics< T, Descriptor >::getBaseDynamics().
| T plb::CompositeDynamics< T, Descriptor >::computeTemperature | ( | Cell< T, Descriptor > const & | cell | ) | const [inline, virtual] |
Compute the temperature in lattice units.
Implements plb::Dynamics< T, Descriptor >.
Reimplemented in plb::BoundaryCompositeDynamics< T, Descriptor >, and plb::StoreTemperatureAndVelocityDynamics< T, Descriptor >.
References plb::CompositeDynamics< T, Descriptor >::getBaseDynamics().
| void plb::CompositeDynamics< T, Descriptor >::computeVelocity | ( | Cell< T, Descriptor > const & | cell, | |
| Array< T, Descriptor< T >::d > & | u | |||
| ) | const [inline, virtual] |
Compute the local fluid velocity in lattice units.
Implements plb::Dynamics< T, Descriptor >.
Reimplemented in 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 >, and plb::RegularizedVelocityInnerCornerDynamics3D< T, Descriptor, normalX, normalY, normalZ >.
References plb::CompositeDynamics< T, Descriptor >::getBaseDynamics().
| void plb::CompositeDynamics< T, Descriptor >::decompose | ( | Cell< T, Descriptor > const & | cell, | |
| std::vector< T > & | rawData, | |||
| plint | order | |||
| ) | const [inline, virtual] |
Decompose from population representation into moment representation.
Implements plb::Dynamics< T, Descriptor >.
| void plb::CompositeDynamics< T, Descriptor >::defineDensity | ( | Cell< T, Descriptor > & | cell, | |
| T | density | |||
| ) | [inline, virtual] |
Define density, if possible. Does nothing by default.
Reimplemented from plb::Dynamics< T, Descriptor >.
Reimplemented in plb::StoreDensityDynamics< T, Descriptor >, and plb::StoreDensityAndVelocityDynamics< T, Descriptor >.
| void plb::CompositeDynamics< 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.
Reimplemented from plb::Dynamics< T, Descriptor >.
| void plb::CompositeDynamics< 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.
Reimplemented from plb::Dynamics< T, Descriptor >.
| void plb::CompositeDynamics< T, Descriptor >::defineMoment | ( | Cell< T, Descriptor > & | cell, | |
| plint | momentId, | |||
| T const * | value | |||
| ) | [inline, virtual] |
Define user define moment, if possible. Does nothing by default.
Reimplemented from plb::Dynamics< T, Descriptor >.
| void plb::CompositeDynamics< T, Descriptor >::defineTemperature | ( | Cell< T, Descriptor > & | cell, | |
| T | temperature | |||
| ) | [inline, virtual] |
Define temperature, if possible. Does nothing by default.
Reimplemented from plb::Dynamics< T, Descriptor >.
Reimplemented in plb::StoreTemperatureAndVelocityDynamics< T, Descriptor >.
| void plb::CompositeDynamics< T, Descriptor >::defineVelocity | ( | Cell< T, Descriptor > & | cell, | |
| Array< T, Descriptor< T >::d > const & | u | |||
| ) | [inline, virtual] |
Define velocity, if possible. Does nothing by default.
Reimplemented from plb::Dynamics< T, Descriptor >.
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 >, and plb::RegularizedVelocityInnerCornerDynamics3D< T, Descriptor, normalX, normalY, normalZ >.
| bool plb::CompositeDynamics< T, Descriptor >::doesAutomaticPrepareCollision | ( | ) | const [inline] |
Returns flag on whether prepareCollision() is invoked before collision or not.
Referenced by plb::CompositeDynamics< T, Descriptor >::serialize().
| Dynamics< T, Descriptor > const & plb::CompositeDynamics< T, Descriptor >::getBaseDynamics | ( | ) | const [inline] |
| Dynamics< T, Descriptor > & plb::CompositeDynamics< T, Descriptor >::getBaseDynamics | ( | ) | [inline] |
Referenced by plb::cloneAndInsertAtTopDynamics(), plb::RegularizedVelocityInnerCornerDynamics3D< T, Descriptor, normalX, normalY, normalZ >::completePopulations(), plb::RegularizedVelocityInnerEdgeDynamics3D< T, Descriptor, plane, normal1, normal2 >::completePopulations(), plb::RegularizedVelocityInnerCornerDynamics2D< T, Descriptor, normalX, normalY >::completePopulations(), plb::RegularizedDensityBoundaryDynamics< T, Descriptor, direction, orientation >::completePopulations(), plb::RegularizedVelocityBoundaryDynamics< T, Descriptor, direction, orientation >::completePopulations(), plb::EquilibriumDensityAndVelocityBoundaryDynamics< T, Descriptor >::completePopulations(), plb::EquilibriumDensityBoundaryDynamics< T, Descriptor, direction, orientation >::completePopulations(), plb::EquilibriumVelocityBoundaryDynamics< T, Descriptor, direction, orientation >::completePopulations(), plb::CompositeDynamics< T, Descriptor >::computeDensity(), plb::BoundaryCompositeDynamics< T, Descriptor >::computeDensity(), plb::CompositeDynamics< T, Descriptor >::computeDeviatoricStress(), plb::BoundaryCompositeDynamics< T, Descriptor >::computeDeviatoricStress(), plb::CompositeDynamics< T, Descriptor >::computeEbar(), plb::BoundaryCompositeDynamics< T, Descriptor >::computeEbar(), plb::CompositeDynamics< T, Descriptor >::computeHeatFlux(), plb::BoundaryCompositeDynamics< T, Descriptor >::computeHeatFlux(), plb::CompositeDynamics< T, Descriptor >::computeMoment(), plb::BoundaryCompositeDynamics< T, Descriptor >::computeMoment(), plb::CompositeDynamics< T, Descriptor >::computePressure(), plb::BoundaryCompositeDynamics< T, Descriptor >::computePressure(), plb::CompositeDynamics< T, Descriptor >::computeRhoBar(), plb::BoundaryCompositeDynamics< T, Descriptor >::computeRhoBar(), plb::CompositeDynamics< T, Descriptor >::computeRhoBarJ(), plb::BoundaryCompositeDynamics< T, Descriptor >::computeRhoBarJ(), plb::CompositeDynamics< T, Descriptor >::computeRhoBarJPiNeq(), plb::BoundaryCompositeDynamics< T, Descriptor >::computeRhoBarJPiNeq(), plb::CompositeDynamics< T, Descriptor >::computeTemperature(), plb::BoundaryCompositeDynamics< T, Descriptor >::computeTemperature(), plb::CompositeDynamics< T, Descriptor >::computeVelocity(), plb::BoundaryCompositeDynamics< T, Descriptor >::computeVelocity(), plb::NLD_VelocityNeumannBoundaryDynamics3D< T, Descriptor >::planeBoundaryCompletion(), plb::NLD_VelocityBoundaryDynamics3D< T, Descriptor >::planeBoundaryCompletion(), plb::VariableOmegaDynamics< T, Descriptor >::prepareCollision(), plb::removeBoundaryComponents(), plb::CompositeDynamics< T, Descriptor >::serialize(), plb::SmagorinskyDynamics< T, Descriptor >::setOmega(), plb::CompositeDynamics< T, Descriptor >::unserialize(), and plb::CompositeDynamics< T, Descriptor >::velIsJ().
| void plb::CompositeDynamics< T, Descriptor >::getExternalField | ( | Cell< T, Descriptor > const & | cell, | |
| plint | pos, | |||
| plint | size, | |||
| T * | ext | |||
| ) | const [inline, virtual] |
Access external fields through the dynamics object.
Reimplemented from plb::Dynamics< T, Descriptor >.
| T plb::CompositeDynamics< T, Descriptor >::getOmega | ( | ) | const [inline, virtual] |
Get local relaxation parameter of the dynamics.
Implements plb::Dynamics< T, Descriptor >.
Reimplemented in plb::SmagorinskyDynamics< T, Descriptor >.
Referenced by plb::CarreauDynamics< T, Descriptor, N >::getOmegaFromPiAndRhoBar().
| T plb::CompositeDynamics< T, Descriptor >::getParameter | ( | plint | whichParameter | ) | const [inline, virtual] |
Get local value of any generic parameter.
Reimplemented from plb::Dynamics< T, Descriptor >.
| void plb::CompositeDynamics< T, Descriptor >::getPopulations | ( | Cell< T, Descriptor > const & | cell, | |
| Array< T, Descriptor< T >::q > & | f | |||
| ) | const [inline, virtual] |
Access particle populations through the dynamics object.
Reimplemented from plb::Dynamics< T, Descriptor >.
| bool plb::CompositeDynamics< 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 from plb::Dynamics< T, Descriptor >.
| plint plb::CompositeDynamics< T, Descriptor >::numDecomposedVariables | ( | plint | order | ) | const [inline, virtual] |
Number of variables required to decompose a population representation into moments.
Implements plb::Dynamics< T, Descriptor >.
| CompositeDynamics< T, Descriptor > & plb::CompositeDynamics< T, Descriptor >::operator= | ( | CompositeDynamics< T, Descriptor > const & | rhs | ) | [inline] |
| virtual void plb::CompositeDynamics< T, Descriptor >::prepareCollision | ( | Cell< T, Descriptor > & | cell | ) | [pure virtual] |
Do something before execution of main collision step.
Implemented in plb::NLD_VelocityBoundaryDynamics3D< T, Descriptor >, plb::NLD_VelocityNeumannBoundaryDynamics3D< T, Descriptor >, plb::ExternalOmegaDynamics< T, Descriptor >, plb::VariableOmegaDynamics< T, Descriptor >, plb::PreparePopulationsDynamics< T, Descriptor >, plb::NonLocalDynamics2D< T, Descriptor >, and plb::NonLocalDynamics3D< T, Descriptor >.
Referenced by plb::CompositeDynamics< T, Descriptor >::collide().
| void plb::CompositeDynamics< T, Descriptor >::recompose | ( | Cell< T, Descriptor > & | cell, | |
| std::vector< T > const & | rawData, | |||
| plint | order | |||
| ) | const [inline, virtual] |
Recompose from moment representation to population representation.
Implements plb::Dynamics< T, Descriptor >.
| void plb::CompositeDynamics< 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 [inline, virtual] |
Re-compute particle populations from the leading moments.
Implements plb::Dynamics< T, Descriptor >.
| void plb::CompositeDynamics< T, Descriptor >::replaceBaseDynamics | ( | Dynamics< T, Descriptor > * | newBaseDynamics | ) | [inline, virtual] |
Reimplemented in plb::RegularizedVelocityInnerCornerDynamics2D< T, Descriptor, normalX, normalY >, plb::RegularizedVelocityInnerEdgeDynamics3D< T, Descriptor, plane, normal1, normal2 >, and plb::RegularizedVelocityInnerCornerDynamics3D< T, Descriptor, normalX, normalY, normalZ >.
Referenced by plb::cloneAndInsertAtTopDynamics(), plb::CompositeDynamics< T, Descriptor >::cloneWithNewBase(), plb::RegularizedVelocityInnerCornerDynamics3D< T, Descriptor, normalX, normalY, normalZ >::replaceBaseDynamics(), plb::RegularizedVelocityInnerEdgeDynamics3D< T, Descriptor, plane, normal1, normal2 >::replaceBaseDynamics(), and plb::RegularizedVelocityInnerCornerDynamics2D< T, Descriptor, normalX, normalY >::replaceBaseDynamics().
| virtual void plb::CompositeDynamics< 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 from plb::Dynamics< T, Descriptor >.
References plb::CompositeDynamics< T, Descriptor >::rescale().
| void plb::CompositeDynamics< T, Descriptor >::rescale | ( | std::vector< T > & | rawData, | |
| T | xDxInv, | |||
| T | xDt, | |||
| plint | order | |||
| ) | const [inline, virtual] |
Change the space and time scales of the variables in moment representation.
Implements plb::Dynamics< T, Descriptor >.
Referenced by plb::CompositeDynamics< T, Descriptor >::rescale().
| void plb::CompositeDynamics< T, Descriptor >::serialize | ( | HierarchicSerializer & | serializer | ) | const [inline, virtual] |
Serialize the dynamics object.
Reimplemented from plb::Dynamics< T, Descriptor >.
Reimplemented in 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::SmagorinskyDynamics< T, Descriptor >, plb::VariableOmegaDynamics< T, Descriptor >, plb::OmegaFromPiDynamics< T, Descriptor >, plb::PreparePopulationsDynamics< T, Descriptor >, plb::BulkCompositeDynamics< 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(), plb::CompositeDynamics< T, Descriptor >::doesAutomaticPrepareCollision(), plb::CompositeDynamics< T, Descriptor >::getBaseDynamics(), plb::Dynamics< T, Descriptor >::getId(), and plb::HierarchicSerializer::nextDynamics().
| void plb::CompositeDynamics< T, Descriptor >::setExternalField | ( | Cell< T, Descriptor > & | cell, | |
| plint | pos, | |||
| plint | size, | |||
| const T * | ext | |||
| ) | [inline, virtual] |
Define external fields through the dynamics object.
Reimplemented from plb::Dynamics< T, Descriptor >.
| void plb::CompositeDynamics< T, Descriptor >::setOmega | ( | T | omega_ | ) | [inline, virtual] |
Set local relaxation parameter of the dynamics.
Implements plb::Dynamics< T, Descriptor >.
Reimplemented in plb::SmagorinskyDynamics< T, Descriptor >.
Referenced by plb::ExternalOmegaDynamics< T, Descriptor >::prepareCollision().
| void plb::CompositeDynamics< T, Descriptor >::setParameter | ( | plint | whichParameter, | |
| T | value | |||
| ) | [inline, virtual] |
Set local value of any generic parameter.
Reimplemented from plb::Dynamics< T, Descriptor >.
| void plb::CompositeDynamics< T, Descriptor >::setPopulations | ( | Cell< T, Descriptor > & | cell, | |
| Array< T, Descriptor< T >::q > const & | f | |||
| ) | [inline, virtual] |
Define particle populations through the dynamics object.
Reimplemented from plb::Dynamics< T, Descriptor >.
| void plb::CompositeDynamics< T, Descriptor >::toggleAutomaticPrepareCollision | ( | bool | flag | ) | [inline] |
Toggle flag on whether prepareCollision() is invoked before collision or not.
Referenced by plb::CompositeDynamics< T, Descriptor >::unserialize().
| void plb::CompositeDynamics< T, Descriptor >::unserialize | ( | HierarchicUnserializer & | unserializer | ) | [inline, virtual] |
Un-Serialize the dynamics object.
Reimplemented from plb::Dynamics< T, Descriptor >.
Reimplemented in 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::SmagorinskyDynamics< T, Descriptor >, plb::VariableOmegaDynamics< T, Descriptor >, plb::OmegaFromPiDynamics< T, Descriptor >, plb::PreparePopulationsDynamics< T, Descriptor >, plb::BulkCompositeDynamics< 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::CompositeDynamics< T, Descriptor >::getBaseDynamics(), plb::Dynamics< T, Descriptor >::getId(), plb::HierarchicUnserializer::getId(), PLB_PRECONDITION, plb::HierarchicUnserializer::readValue(), and plb::CompositeDynamics< T, Descriptor >::toggleAutomaticPrepareCollision().
Referenced by plb::NLD_VelocityNeumannBoundaryDynamics3D< T, Descriptor >::NLD_VelocityNeumannBoundaryDynamics3D().
| bool plb::CompositeDynamics< 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".
Reimplemented from plb::Dynamics< T, Descriptor >.
References plb::CompositeDynamics< T, Descriptor >::getBaseDynamics().
Referenced by plb::VelocityDirichletBoundaryDynamics< T, Descriptor, direction, orientation >::computeRhoBar(), plb::RegularizedVelocityInnerCornerDynamics3D< T, Descriptor, normalX, normalY, normalZ >::computeRhoBarJ(), plb::RegularizedVelocityInnerEdgeDynamics3D< T, Descriptor, plane, normal1, normal2 >::computeRhoBarJ(), plb::RegularizedVelocityInnerCornerDynamics2D< T, Descriptor, normalX, normalY >::computeRhoBarJ(), plb::VelocityDirichletBoundaryDynamics< T, Descriptor, direction, orientation >::computeRhoBarJ(), plb::DensityDirichletBoundaryDynamics< T, Descriptor, direction, orientation >::computeVelocity(), and plb::StoreDensityAndVelocityDynamics< T, Descriptor >::computeVelocity().
1.6.3
1.6.3