35#ifndef ENTROPIC_LB_DYNAMICS_H
36#define ENTROPIC_LB_DYNAMICS_H
44template<
typename T,
typename DESCRIPTOR,
typename MOMENTA=momenta::BulkTuple>
53 T
computeEquilibrium(
int iPop, T rho,
const T u[DESCRIPTOR::d], T uSqr)
const override;
65template<
typename T,
typename DESCRIPTOR,
typename MOMENTA=momenta::BulkTuple>
87template<
typename T,
typename DESCRIPTOR,
typename MOMENTA=momenta::BulkTuple>
96 T
computeEquilibrium(
int iPop, T rho,
const T u[DESCRIPTOR::d], T uSqr)
const override;
105 T computeEntropy(
const T f[]);
107 T computeEntropyGrowth(
const T f[],
const T fNeq[],
const T &alpha);
110 T computeEntropyGrowthDerivative(
const T f[],
const T fNeq[],
const T &alpha);
112 bool getAlpha(T &alpha,
const T f[],
const T fNeq[]);
118template<
typename T,
typename DESCRIPTOR,
typename MOMENTA=momenta::BulkTuple>
127 virtual T
computeEquilibrium(
int iPop, T rho,
const T u[DESCRIPTOR::d], T uSqr)
const;
136 T computeEntropy(
const T f[]);
138 T computeEntropyGrowth(
const T f[],
const T fNeq[],
const T &alpha);
141 T computeEntropyGrowthDerivative(
const T f[],
const T fNeq[],
const T &alpha);
143 bool getAlpha(T &alpha,
const T f[],
const T fNeq[]);
Highest-level interface to Cell data.
Implementation of the entropic collision step.
T computeEquilibrium(int iPop, T rho, const T u[DESCRIPTOR::d], T uSqr) const override
Compute equilibrium distribution function.
CellStatistic< T > collide(Cell< T, DESCRIPTOR > &cell) override
Collision step.
void setOmega(T omega_)
Set local relaxation parameter of the dynamics.
T getOmega() const
Get local relaxation parameter of the dynamics.
EntropicDynamics(T omega_)
Constructor.
Implementation of the entropic collision step.
EntropicEqDynamics(T omega_)
Constructor.
T computeEquilibrium(int iPop, T rho, const T u[DESCRIPTOR::d], T uSqr) const override
Compute equilibrium distribution function.
CellStatistic< T > collide(Cell< T, DESCRIPTOR > &cell) override
Collision step.
void setOmega(T omega_)
Set local relaxation parameter of the dynamics.
T getOmega() const
Get local relaxation parameter of the dynamics.
Implementation of the forced entropic collision step.
virtual void setOmega(T omega_)
Set local relaxation parameter of the dynamics.
ForcedEntropicDynamics(T omega_)
Constructor.
virtual T getOmega() const
Get local relaxation parameter of the dynamics.
virtual CellStatistic< T > collide(Cell< T, DESCRIPTOR > &cell)
Collision step.
virtual T computeEquilibrium(int iPop, T rho, const T u[DESCRIPTOR::d], T uSqr) const
Compute equilibrium distribution function.
Implementation of the forced entropic collision step.
virtual T computeEquilibrium(int iPop, T rho, const T u[DESCRIPTOR::d], T uSqr) const
Compute equilibrium distribution function.
virtual void setOmega(T omega_)
Set local relaxation parameter of the dynamics.
virtual CellStatistic< T > collide(Cell< T, DESCRIPTOR > &cell)
Collision step.
virtual T getOmega() const
Get local relaxation parameter of the dynamics.
ForcedEntropicEqDynamics(T omega_)
Constructor.
Top level namespace for all of OpenLB.
Return value of any collision.