$treeview $search $mathjax
Palabos  Version 1.1
$projectbrief
$projectbrief
$searchbox

plb::IsoThermalBulkDynamics< T, Descriptor > Class Template Reference

Common base iso-thermal (or athermal) bulk dynamics. More...

#include <isoThermalDynamics.h>

Inheritance diagram for plb::IsoThermalBulkDynamics< T, Descriptor >:
Collaboration diagram for plb::IsoThermalBulkDynamics< T, Descriptor >:

List of all members.

Public Member Functions

 IsoThermalBulkDynamics (T omega_)
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 T computeTemperature (Cell< T, Descriptor > const &cell) const
 Returns 1, as a default value for isothermal flow.
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
 Returns 0, as a default value for isothermal flow.
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 computeEbar (Cell< T, Descriptor > const &cell) const
 Returns 0, as a default value for isothermal flow.

Detailed Description

template<typename T, template< typename U > class Descriptor>
class plb::IsoThermalBulkDynamics< T, Descriptor >

Common base iso-thermal (or athermal) bulk dynamics.


Constructor & Destructor Documentation

template<typename T , template< typename U > class Descriptor>
plb::IsoThermalBulkDynamics< T, Descriptor >::IsoThermalBulkDynamics ( omega_  )  [inline]

Member Function Documentation

template<typename T , template< typename U > class Descriptor>
void plb::IsoThermalBulkDynamics< 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").

Reimplemented from plb::BasicBulkDynamics< T, Descriptor >.

References plb::flatWall::compute_PiNeq().

template<typename T , template< typename U > class Descriptor>
T plb::IsoThermalBulkDynamics< T, Descriptor >::computeEbar ( Cell< T, Descriptor > const &  cell  )  const [inline, virtual]

Returns 0, as a default value for isothermal flow.

Reimplemented from plb::BasicBulkDynamics< T, Descriptor >.

template<typename T , template< typename U > class Descriptor>
void plb::IsoThermalBulkDynamics< T, Descriptor >::computeHeatFlux ( Cell< T, Descriptor > const &  cell,
Array< T, Descriptor< T >::d > &  q 
) const [inline, virtual]

Returns 0, as a default value for isothermal flow.

Reimplemented from plb::BasicBulkDynamics< T, Descriptor >.

template<typename T , template< typename U > class Descriptor>
T plb::IsoThermalBulkDynamics< T, Descriptor >::computeTemperature ( Cell< T, Descriptor > const &  cell  )  const [inline, virtual]

Returns 1, as a default value for isothermal flow.

Reimplemented from plb::BasicBulkDynamics< T, Descriptor >.

template<typename T , template< typename U > class Descriptor>
void plb::IsoThermalBulkDynamics< T, Descriptor >::decompose ( Cell< T, Descriptor > const &  cell,
std::vector< T > &  rawData,
plint  order 
) const [inline, virtual]

Decompose from population representation into moment representation.

See also:
numDecomposedVariables()

Implements plb::Dynamics< T, Descriptor >.

References plb::IsoThermalBulkDynamics< T, Descriptor >::numDecomposedVariables().

template<typename T , template< typename U > class Descriptor>
plint plb::IsoThermalBulkDynamics< T, Descriptor >::numDecomposedVariables ( plint  order  )  const [inline, virtual]

Number of variables required to decompose a population representation into moments.

In the present implementation, the decomposition is carried out up to order-1 in the Chapman-Enskog expansion. Example: Take the D2Q9 lattice. A decomposition means:

  • At order 0: Decompose into rho, u, and fNeq (1+2+9=12 variables)
  • At order 1: Decompose into rho, u, and PiNeq (1+2+3=6 variables)
  • At higher order: Decompose according to order 1.

Implements plb::Dynamics< T, Descriptor >.

Referenced by plb::IsoThermalBulkDynamics< T, Descriptor >::decompose(), plb::IsoThermalBulkDynamics< T, Descriptor >::recompose(), and plb::IsoThermalBulkDynamics< T, Descriptor >::rescale().

template<typename T , template< typename U > class Descriptor>
void plb::IsoThermalBulkDynamics< T, Descriptor >::recompose ( Cell< T, Descriptor > &  cell,
std::vector< T > const &  rawData,
plint  order 
) const [inline, virtual]

Recompose from moment representation to population representation.

See also:
numDecomposedVariables() This process is also known as "regularization step", and this function is therefore equivalent to regularize(), although one or the other function may be more useful in a specific context, due to the form of the parameters.

Implements plb::Dynamics< T, Descriptor >.

References plb::IsoThermalBulkDynamics< T, Descriptor >::numDecomposedVariables(), and PLB_PRECONDITION.

template<typename T , template< typename U > class Descriptor>
void plb::IsoThermalBulkDynamics< T, Descriptor >::regularize ( Cell< T, Descriptor > &  cell,
rhoBar,
Array< T, Descriptor< T >::d > const &  j,
jSqr,
Array< T, SymmetricTensor< T, Descriptor >::n > const &  PiNeq,
thetaBar = T() 
) const [inline, virtual]

Re-compute particle populations from the leading moments.

Implements plb::Dynamics< T, Descriptor >.

References plb::Dynamics< T, Descriptor >::computeEquilibrium().

template<typename T , template< typename U > class Descriptor>
virtual void plb::IsoThermalBulkDynamics< 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::IsoThermalBulkDynamics< T, Descriptor >::rescale().

template<typename T , template< typename U > class Descriptor>
void plb::IsoThermalBulkDynamics< T, Descriptor >::rescale ( std::vector< T > &  rawData,
xDxInv,
xDt,
plint  order 
) const [inline, virtual]

Change the space and time scales of the variables in moment representation.

See also:
numDecomposedVariables()
Parameters:
xDxInv Inverse of the factor by which space scale is multiplied.
xDt Factor by which time scale is multiplied.

Implements plb::Dynamics< T, Descriptor >.

References plb::IsoThermalBulkDynamics< T, Descriptor >::numDecomposedVariables(), and PLB_PRECONDITION.

Referenced by plb::IsoThermalBulkDynamics< T, Descriptor >::rescale().


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