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

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

Base class for composite dynamics. More...

#include <dynamics.h>

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

List of all members.

Public Member Functions

 CompositeDynamics (Dynamics< T, Descriptor > *baseDynamics_, bool automaticPrepareCollision_)
 CompositeDynamics (CompositeDynamics< T, Descriptor > const &rhs)
 ~CompositeDynamics ()
CompositeDynamicsoperator= (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.

Detailed Description

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

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.


Constructor & Destructor Documentation

template<typename T , template< typename U > class Descriptor>
plb::CompositeDynamics< T, Descriptor >::CompositeDynamics ( Dynamics< T, Descriptor > *  baseDynamics_,
bool  automaticPrepareCollision_ 
) [inline]
template<typename T , template< typename U > class Descriptor>
plb::CompositeDynamics< T, Descriptor >::CompositeDynamics ( CompositeDynamics< T, Descriptor > const &  rhs  )  [inline]
template<typename T , template< typename U > class Descriptor>
plb::CompositeDynamics< T, Descriptor >::~CompositeDynamics (  )  [inline]

Member Function Documentation

template<typename T, template< typename U > class Descriptor>
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().

template<typename T , template< typename U > class Descriptor>
CompositeDynamics< T, Descriptor > * plb::CompositeDynamics< T, Descriptor >::cloneWithNewBase ( Dynamics< T, Descriptor > *  baseDynamics_  )  const [inline, virtual]
template<typename T , template< typename U > class Descriptor>
void plb::CompositeDynamics< T, Descriptor >::collide ( Cell< T, Descriptor > &  cell,
rhoBar,
Array< T, Descriptor< T >::d > const &  j,
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().

template<typename T , template< typename U > class Descriptor>
void plb::CompositeDynamics< T, Descriptor >::collide ( Cell< T, Descriptor > &  cell,
BlockStatistics statistics 
) [inline, virtual]
template<typename T , template< typename U > class Descriptor>
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().

template<typename T , template< typename U > class Descriptor>
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().

template<typename T , template< typename U > class Descriptor>
T plb::CompositeDynamics< T, Descriptor >::computeEquilibrium ( plint  iPop,
rhoBar,
Array< T, Descriptor< T >::d > const &  j,
jSqr,
thetaBar = T() 
) const [inline, virtual]
template<typename T , template< typename U > class Descriptor>
void plb::CompositeDynamics< 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::CompositeDynamics< 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::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().

template<typename T , template< typename U > class Descriptor>
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]
template<typename T , template< typename U > class Descriptor>
T plb::CompositeDynamics< T, Descriptor >::computeTemperature ( Cell< T, Descriptor > const &  cell  )  const [inline, virtual]
template<typename T , template< typename U > class Descriptor>
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 >.

template<typename T , template< typename U > class Descriptor>
void plb::CompositeDynamics< T, Descriptor >::defineDensity ( Cell< T, Descriptor > &  cell,
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 >.

template<typename T , template< typename U > class 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 >.

template<typename T , template< typename U > class 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 >.

template<typename T , template< typename U > class 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 >.

template<typename T , template< typename U > class Descriptor>
void plb::CompositeDynamics< T, Descriptor >::defineTemperature ( Cell< T, Descriptor > &  cell,
temperature 
) [inline, virtual]

Define temperature, if possible. Does nothing by default.

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

Reimplemented in plb::StoreTemperatureAndVelocityDynamics< T, Descriptor >.

template<typename T , template< typename U > class Descriptor>
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().

template<typename T , template< typename U > class Descriptor>
Dynamics< T, Descriptor > const & plb::CompositeDynamics< T, Descriptor >::getBaseDynamics (  )  const [inline]
template<typename T , template< typename U > class Descriptor>
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().

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

template<typename T , template< typename U > class 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().

template<typename T , template< typename U > class Descriptor>
T plb::CompositeDynamics< T, Descriptor >::getParameter ( plint  whichParameter  )  const [inline, virtual]

Get local value of any generic parameter.

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

template<typename T , template< typename U > class 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 >.

template<typename T , template< typename U > class 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 >.

template<typename T , template< typename U > class 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 >.

template<typename T , template< typename U > class Descriptor>
CompositeDynamics< T, Descriptor > & plb::CompositeDynamics< T, Descriptor >::operator= ( CompositeDynamics< T, Descriptor > const &  rhs  )  [inline]
template<typename T , template< typename U > class Descriptor>
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 >.

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

template<typename T, template< typename U > class Descriptor>
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().

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

Implements plb::Dynamics< T, Descriptor >.

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

template<typename T , template< typename U > class Descriptor>
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().

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

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

template<typename T , template< typename U > class Descriptor>
void plb::CompositeDynamics< T, Descriptor >::setParameter ( plint  whichParameter,
value 
) [inline, virtual]

Set local value of any generic parameter.

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

template<typename T , template< typename U > class 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 >.

template<typename T , template< typename U > class 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().

template<typename T , template< typename U > class Descriptor>
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().


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