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

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

Computation of the macroscopic variables is obtained after invoking completion scheme. More...

#include <boundaryDynamics.h>

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

List of all members.

Public Member Functions

 BoundaryCompositeDynamics (Dynamics< T, Descriptor > *baseDynamics_, bool automaticPrepareCollision_=true)
virtual
BoundaryCompositeDynamics< T,
Descriptor > * 
clone () const
 Clone the object, based on its dynamic type.
virtual int getId () const
 Return a unique ID for this class.
virtual bool isBoundary () const
 Say if the dynamics represents a boundary condition.
virtual void serialize (HierarchicSerializer &serializer) const
 Serialize the dynamics object.
virtual void unserialize (HierarchicUnserializer &unserializer)
 Un-Serialize the dynamics object.
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 > &velocity) 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 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 void completePopulations (Cell< T, Descriptor > &cell) const
 Default completion scheme, does nothing.

Detailed Description

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

Computation of the macroscopic variables is obtained after invoking completion scheme.

You can instantiate this non-abstract class. This is not interesting, though, as it is semantically identical with the base dynamics. Classes which inherit from this one are more interesting, as they customize some aspects. Examples: computation of the velocity on a velocity boundary, or, completion scheme for a boundary node with missing particle populations (and no data processor to complete them by non-local means).


Constructor & Destructor Documentation

template<typename T , template< typename U > class Descriptor>
plb::BoundaryCompositeDynamics< T, Descriptor >::BoundaryCompositeDynamics ( Dynamics< T, Descriptor > *  baseDynamics_,
bool  automaticPrepareCollision_ = true 
) [inline]

Member Function Documentation

template<typename T , template< typename U > class Descriptor>
BoundaryCompositeDynamics< T, Descriptor > * plb::BoundaryCompositeDynamics< T, Descriptor >::clone (  )  const [inline, virtual]

Clone the object, based on its dynamic type.

Implements plb::PreparePopulationsDynamics< T, Descriptor >.

Reimplemented in 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::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::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 >.

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

Default completion scheme, does nothing.

Do nothing inside this functions. This defaults to a behavior where the dynamics of BoundaryCompositeDynamics is identical to baseDynamics. More interesting behavior is achieved in derived classes which overload method completePopulations().

Implements plb::PreparePopulationsDynamics< T, Descriptor >.

Reimplemented in 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::InamuroAnalyticalVelocityDynamics< T, Descriptor, direction, orientation >, plb::InamuroAnalyticalPressureDynamics< T, Descriptor, direction, orientation >, 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::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::BoundaryCompositeDynamics< T, Descriptor >::computeDensity(), plb::BoundaryCompositeDynamics< T, Descriptor >::computeDeviatoricStress(), plb::BoundaryCompositeDynamics< T, Descriptor >::computeEbar(), plb::BoundaryCompositeDynamics< T, Descriptor >::computeHeatFlux(), plb::BoundaryCompositeDynamics< T, Descriptor >::computeMoment(), plb::BoundaryCompositeDynamics< T, Descriptor >::computePressure(), plb::BoundaryCompositeDynamics< T, Descriptor >::computeRhoBar(), plb::BoundaryCompositeDynamics< T, Descriptor >::computeRhoBarJ(), plb::BoundaryCompositeDynamics< T, Descriptor >::computeRhoBarJPiNeq(), plb::BoundaryCompositeDynamics< T, Descriptor >::computeTemperature(), and plb::BoundaryCompositeDynamics< T, Descriptor >::computeVelocity().

template<typename T , template< typename U > class Descriptor>
void plb::BoundaryCompositeDynamics< T, Descriptor >::computeDeviatoricStress ( Cell< T, Descriptor > const &  cell,
Array< T, SymmetricTensor< T, Descriptor >::n > &  PiNeq 
) const [inline, virtual]
template<typename T , template< typename U > class Descriptor>
T plb::BoundaryCompositeDynamics< T, Descriptor >::computeEbar ( Cell< T, Descriptor > const &  cell  )  const [inline, virtual]
template<typename T , template< typename U > class Descriptor>
void plb::BoundaryCompositeDynamics< T, Descriptor >::computeHeatFlux ( Cell< T, Descriptor > const &  cell,
Array< T, Descriptor< T >::d > &  q 
) const [inline, virtual]
template<typename T , template< typename U > class Descriptor>
void plb::BoundaryCompositeDynamics< T, Descriptor >::computeMoment ( Cell< T, Descriptor > const &  cell,
plint  momentId,
T *  moment 
) const [inline, virtual]
template<typename T , template< typename U > class Descriptor>
T plb::BoundaryCompositeDynamics< T, Descriptor >::computePressure ( Cell< T, Descriptor > const &  cell  )  const [inline, virtual]
template<typename T , template< typename U > class Descriptor>
T plb::BoundaryCompositeDynamics< T, Descriptor >::computeTemperature ( Cell< T, Descriptor > const &  cell  )  const [inline, virtual]
template<typename T , template< typename U > class Descriptor>
int plb::BoundaryCompositeDynamics< T, Descriptor >::getId (  )  const [inline, virtual]

Return a unique ID for this class.

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

Reimplemented in 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::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::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 >.

template<typename T , template< typename U > class Descriptor>
bool plb::BoundaryCompositeDynamics< T, Descriptor >::isBoundary (  )  const [inline, virtual]

Say if the dynamics represents a boundary condition.

By default, this method yields false.

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

template<typename T , template< typename U > class Descriptor>
void plb::BoundaryCompositeDynamics< T, Descriptor >::serialize ( HierarchicSerializer serializer  )  const [inline, virtual]

Serialize the dynamics object.

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

Reimplemented in 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::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::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 >.

template<typename T , template< typename U > class Descriptor>
void plb::BoundaryCompositeDynamics< T, Descriptor >::unserialize ( HierarchicUnserializer unserializer  )  [inline, virtual]

Un-Serialize the dynamics object.

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

Reimplemented in 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::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::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 >.


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