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

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

Common base for bulk dynamics. More...

#include <dynamics.h>

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

List of all members.

Public Member Functions

 BasicBulkDynamics (T omega_)
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 T getOmega () const
 Get local relaxation parameter of the dynamics.
virtual void setOmega (T omega_)
 Set local relaxation parameter of the dynamics.
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.

Detailed Description

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

Common base for bulk dynamics.

In this class, all methods have a default implementation, except for clone(), collide(), computeEquilibrium(), and regularize(), which are explicitly dynamics dependent. In this way, it is easy to inherit from BasicBulkDynamics to define a new Dynamics class. If you don't care about temperature, for example, you don't need to define methods such as computeTemperature(). Computation of density, velocity, and pressure default to their BGK, whereas the higher order moments default to 0. Also, this class stores the value of the "main" relaxation parameter omega, and offers access to this parameter.


Constructor & Destructor Documentation

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

Member Function Documentation

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

Compute the local particle density in lattice units.

Implements plb::Dynamics< T, Descriptor >.

Referenced by plb::BasicBulkDynamics< T, Descriptor >::computePressure().

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

Defaults to zero.

Implements plb::Dynamics< T, Descriptor >.

Reimplemented in plb::IsoThermalBulkDynamics< T, Descriptor >, and plb::ThermalBulkDynamics< T, Descriptor >.

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

Compute the heat flux in lattice units.

Defaults to zero.

Implements plb::Dynamics< T, Descriptor >.

Reimplemented in plb::IsoThermalBulkDynamics< T, Descriptor >, and plb::ThermalBulkDynamics< T, Descriptor >.

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

References PLB_PRECONDITION.

template<typename T , template< typename U > class Descriptor>
T plb::BasicBulkDynamics< T, Descriptor >::computePressure ( Cell< T, Descriptor > const &  cell  )  const [inline, virtual]
template<typename T , template< typename U > class Descriptor>
void plb::BasicBulkDynamics< 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::QuasiIncBGKdynamics< T, Descriptor >, plb::IncBGKdynamics< T, Descriptor >, plb::IncRegularizedBGKdynamics< T, Descriptor >, and plb::IncAsinariDynamics< T, Descriptor >.

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

Get local relaxation parameter of the dynamics.

Implements plb::Dynamics< T, Descriptor >.

Reimplemented in plb::SmagorinskyBGKdynamics< T, Descriptor >, plb::GuoExternalForceSmagorinskyBGKdynamics< T, Descriptor >, plb::IncGuoExternalForceSmagorinskyBGKdynamics< T, Descriptor >, and plb::SmagorinskyRegularizedDynamics< T, Descriptor >.

Referenced by plb::ThermalBGKdynamics< T, Descriptor >::collide(), plb::PrecondBGKdynamics< T, Descriptor >::collide(), plb::ChopardDynamics< T, Descriptor >::collide(), plb::ExternalMomentRegularizedBGKdynamics< T, Descriptor >::collide(), plb::IncRegularizedBGKdynamics< T, Descriptor >::collide(), plb::RegularizedBGKdynamics< T, Descriptor >::collide(), plb::ConstRhoBGKdynamics< T, Descriptor >::collide(), plb::IncBGKdynamics< T, Descriptor >::collide(), plb::ExternalVelocityBGKdynamics< T, Descriptor >::collide(), plb::ExternalMomentBGKdynamics< T, Descriptor >::collide(), plb::StoreRhoBarJBGKdynamics< T, Descriptor >::collide(), plb::BGKdynamics< T, Descriptor >::collide(), plb::IncGuoExternalForceBGKdynamics< T, Descriptor >::collide(), plb::HeExternalForceBGKdynamics< T, Descriptor >::collide(), plb::ShanChenExternalForceBGKdynamics< T, Descriptor >::collide(), plb::GuoExternalForceBGKdynamics< T, Descriptor >::collide(), plb::NaiveExternalForceBGKdynamics< T, Descriptor >::collide(), plb::ForcedEntropicDynamics< T, Descriptor >::collide(), plb::EntropicDynamics< T, Descriptor >::collide(), plb::RegularizedBGKCarreauDynamics< T, Descriptor, N >::collide(), plb::BGKCarreauDynamics< T, Descriptor, N >::collide(), plb::AdvectionDiffusionBGKdynamics< T, Descriptor >::collide(), plb::AdvectionDiffusionWithSourceRLBdynamics< T, Descriptor >::collide(), plb::AdvectionDiffusionRLBdynamics< T, Descriptor >::collide(), plb::SmagorinskyAdvectionDiffusionRLBdynamics< T, Descriptor >::collide(), plb::ChopardDynamics< T, Descriptor >::getParameter(), plb::PrecondBGKdynamics< T, Descriptor >::serialize(), plb::ChopardDynamics< T, Descriptor >::serialize(), plb::ExternalVelocityIncMRTdynamics< T, Descriptor >::swap(), plb::IncMRTdynamics< T, Descriptor >::swap(), plb::ExternalVelocityMRTdynamics< T, Descriptor >::swap(), and plb::MRTdynamics< T, Descriptor >::swap().


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