$treeview $search $mathjax
|
Palabos
Version 1.1
$projectbrief
|
$projectbrief
|
$searchbox |
Implementation of "full-way bounce-back" dynamics. More...
#include <dynamics.h>


Public Member Functions | |
| BounceBack (T rho_=T()) | |
| You may fix a fictitious density value on bounce-back nodes via the constructor. | |
| virtual BounceBack< T, Descriptor > * | clone () const |
| Clone the object on its dynamic type. | |
| virtual int | getId () const |
| Return a unique ID for this class. | |
| 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_) |
| Implementation of the collision step. | |
| virtual T | computeEquilibrium (plint iPop, T rhoBar, Array< T, Descriptor< T >::d > const &j, T jSqr, T thetaBar=T()) const |
| Yields 0. | |
| 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 |
| Does nothing. | |
| virtual T | computeDensity (Cell< T, Descriptor > const &cell) const |
| Yields fictitious density. | |
| virtual T | computePressure (Cell< T, Descriptor > const &cell) const |
| Yields 0. | |
| virtual void | computeVelocity (Cell< T, Descriptor > const &cell, Array< T, Descriptor< T >::d > &u) const |
| Yields 0. | |
| virtual T | computeTemperature (Cell< T, Descriptor > const &cell) const |
| Yields 0. | |
| virtual void | computeDeviatoricStress (Cell< T, Descriptor > const &cell, Array< T, SymmetricTensor< T, Descriptor >::n > &PiNeq) const |
| Yields 0. | |
| virtual void | computeHeatFlux (Cell< T, Descriptor > const &cell, Array< T, Descriptor< T >::d > &q) const |
| Yields 0. | |
| virtual void | computeMoment (Cell< T, Descriptor > const &cell, plint momentId, T *moment) const |
| Does nothing. | |
| virtual T | getOmega () const |
| Yields 0. | |
| virtual void | setOmega (T omega_) |
| Does nothing. | |
| virtual plint | numDecomposedVariables (plint order) const |
| Yields Descriptor<T>::q + Descriptor<T>::ExternalField::numScalars. | |
| virtual void | decompose (Cell< T, Descriptor > const &cell, std::vector< T > &rawData, plint order) const |
| Decomposed data is identical with original cell data. | |
| virtual void | recompose (Cell< T, Descriptor > &cell, std::vector< T > const &rawData, plint order) const |
| Decomposed data is identical with original cell data. | |
| virtual void | rescale (std::vector< T > &rawData, T xDxInv, T xDt, plint order) const |
| Nothing happens here. | |
| virtual void | rescale (int dxScale, int dtScale) |
| Adapt internal variables to a new grid level. | |
| virtual bool | isBoundary () const |
| BounceBack is a boundary. | |
| virtual T | computeRhoBar (Cell< T, Descriptor > const &cell) const |
| Yields fictitious density. | |
| virtual void | computeRhoBarJ (Cell< T, Descriptor > const &cell, T &rhoBar, Array< T, Descriptor< T >::d > &j) const |
| Yields fictitious density and 0. | |
| 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 |
| Yields 0. | |
Implementation of "full-way bounce-back" dynamics.
This is a very popular way to implement no-slip boundary conditions, because the dynamics are independent of the orientation of the boundary. It is a special case, because it implements no usual LB dynamics. For that reason, it derives directly from the class Dynamics.
The code works for both 2D and 3D lattices.
| plb::BounceBack< T, Descriptor >::BounceBack | ( | T | rho_ = T() |
) | [inline] |
You may fix a fictitious density value on bounce-back nodes via the constructor.
| BounceBack< T, Descriptor > * plb::BounceBack< T, Descriptor >::clone | ( | ) | const [inline, virtual] |
Clone the object on its dynamic type.
Implements plb::Dynamics< T, Descriptor >.
| void plb::BounceBack< T, Descriptor >::collide | ( | Cell< T, Descriptor > & | cell, | |
| BlockStatistics & | statistics_ | |||
| ) | [inline, virtual] |
Implementation of the collision step.
Implements plb::Dynamics< T, Descriptor >.
| T plb::BounceBack< T, Descriptor >::computeDensity | ( | Cell< T, Descriptor > const & | cell | ) | const [inline, virtual] |
Yields fictitious density.
Implements plb::Dynamics< T, Descriptor >.
| void plb::BounceBack< T, Descriptor >::computeDeviatoricStress | ( | Cell< T, Descriptor > const & | cell, | |
| Array< T, SymmetricTensor< T, Descriptor >::n > & | PiNeq | |||
| ) | const [inline, virtual] |
Yields 0.
Implements plb::Dynamics< T, Descriptor >.
| T plb::BounceBack< T, Descriptor >::computeEbar | ( | Cell< T, Descriptor > const & | cell | ) | const [inline, virtual] |
Yields 0.
Implements plb::Dynamics< T, Descriptor >.
| T plb::BounceBack< T, Descriptor >::computeEquilibrium | ( | plint | iPop, | |
| T | rhoBar, | |||
| Array< T, Descriptor< T >::d > const & | j, | |||
| T | jSqr, | |||
| T | thetaBar = T() | |||
| ) | const [inline, virtual] |
Yields 0.
Implements plb::Dynamics< T, Descriptor >.
| void plb::BounceBack< T, Descriptor >::computeHeatFlux | ( | Cell< T, Descriptor > const & | cell, | |
| Array< T, Descriptor< T >::d > & | q | |||
| ) | const [inline, virtual] |
Yields 0.
Implements plb::Dynamics< T, Descriptor >.
| void plb::BounceBack< T, Descriptor >::computeMoment | ( | Cell< T, Descriptor > const & | cell, | |
| plint | momentId, | |||
| T * | moment | |||
| ) | const [inline, virtual] |
Does nothing.
Implements plb::Dynamics< T, Descriptor >.
| T plb::BounceBack< T, Descriptor >::computePressure | ( | Cell< T, Descriptor > const & | cell | ) | const [inline, virtual] |
Yields 0.
Implements plb::Dynamics< T, Descriptor >.
| T plb::BounceBack< T, Descriptor >::computeRhoBar | ( | Cell< T, Descriptor > const & | cell | ) | const [inline, virtual] |
Yields fictitious density.
Implements plb::Dynamics< T, Descriptor >.
| void plb::BounceBack< T, Descriptor >::computeRhoBarJ | ( | Cell< T, Descriptor > const & | cell, | |
| T & | rhoBar, | |||
| Array< T, Descriptor< T >::d > & | j | |||
| ) | const [inline, virtual] |
Yields fictitious density and 0.
Implements plb::Dynamics< T, Descriptor >.
| void plb::BounceBack< 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 >.
| T plb::BounceBack< T, Descriptor >::computeTemperature | ( | Cell< T, Descriptor > const & | cell | ) | const [inline, virtual] |
Yields 0.
Implements plb::Dynamics< T, Descriptor >.
| void plb::BounceBack< T, Descriptor >::computeVelocity | ( | Cell< T, Descriptor > const & | cell, | |
| Array< T, Descriptor< T >::d > & | u | |||
| ) | const [inline, virtual] |
Yields 0.
Implements plb::Dynamics< T, Descriptor >.
| void plb::BounceBack< T, Descriptor >::decompose | ( | Cell< T, Descriptor > const & | cell, | |
| std::vector< T > & | rawData, | |||
| plint | order | |||
| ) | const [inline, virtual] |
Decomposed data is identical with original cell data.
Implements plb::Dynamics< T, Descriptor >.
References plb::BounceBack< T, Descriptor >::numDecomposedVariables().
| int plb::BounceBack< T, Descriptor >::getId | ( | ) | const [inline, virtual] |
Return a unique ID for this class.
Reimplemented from plb::Dynamics< T, Descriptor >.
Referenced by plb::FS_AverageHeightFunctional3D< T, Descriptor >::processGenericBlocks(), plb::FS_AverageMomentumFunctional3D< T, Descriptor >::processGenericBlocks(), plb::FS_AverageVolumeFractionFunctional3D< T, Descriptor >::processGenericBlocks(), plb::FS_AverageDensityFunctional3D< T, Descriptor >::processGenericBlocks(), and plb::BounceBack< T, Descriptor >::unserialize().
| T plb::BounceBack< T, Descriptor >::getOmega | ( | ) | const [inline, virtual] |
Yields 0.
Implements plb::Dynamics< T, Descriptor >.
| bool plb::BounceBack< T, Descriptor >::isBoundary | ( | ) | const [inline, virtual] |
BounceBack is a boundary.
Reimplemented from plb::Dynamics< T, Descriptor >.
| plint plb::BounceBack< T, Descriptor >::numDecomposedVariables | ( | plint | order | ) | const [inline, virtual] |
Yields Descriptor<T>::q + Descriptor<T>::ExternalField::numScalars.
Implements plb::Dynamics< T, Descriptor >.
Referenced by plb::BounceBack< T, Descriptor >::decompose().
| void plb::BounceBack< T, Descriptor >::recompose | ( | Cell< T, Descriptor > & | cell, | |
| std::vector< T > const & | rawData, | |||
| plint | order | |||
| ) | const [inline, virtual] |
Decomposed data is identical with original cell data.
Implements plb::Dynamics< T, Descriptor >.
| void plb::BounceBack< 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] |
Does nothing.
Implements plb::Dynamics< T, Descriptor >.
| virtual void plb::BounceBack< 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::BounceBack< T, Descriptor >::rescale().
| void plb::BounceBack< T, Descriptor >::rescale | ( | std::vector< T > & | rawData, | |
| T | xDxInv, | |||
| T | xDt, | |||
| plint | order | |||
| ) | const [inline, virtual] |
Nothing happens here.
Implements plb::Dynamics< T, Descriptor >.
Referenced by plb::BounceBack< T, Descriptor >::rescale().
| void plb::BounceBack< T, Descriptor >::serialize | ( | HierarchicSerializer & | serializer | ) | const [inline, virtual] |
Serialize the dynamics object.
Reimplemented from plb::Dynamics< T, Descriptor >.
References plb::HierarchicSerializer::addValue().
| void plb::BounceBack< T, Descriptor >::setOmega | ( | T | omega_ | ) | [inline, virtual] |
Does nothing.
Implements plb::Dynamics< T, Descriptor >.
| void plb::BounceBack< T, Descriptor >::unserialize | ( | HierarchicUnserializer & | unserializer | ) | [inline, virtual] |
Un-Serialize the dynamics object.
Reimplemented from plb::Dynamics< T, Descriptor >.
References plb::BounceBack< T, Descriptor >::getId(), plb::HierarchicUnserializer::getId(), PLB_PRECONDITION, and plb::HierarchicUnserializer::readValue().
1.6.3
1.6.3