waLBerla 7.2
Loading...
Searching...
No Matches
walberla::lbm::force_model::GuoConstant Class Reference

Detailed Description

For the incompressible LBM, in lattice units, the body force is equal to the acceleration, since bodyForceDensity_lattice = density_lattice * acceleration_lattice and density_lattice is implicitly set to 1.

[guo2002discrete], [schiller2008thermal]

#include <ForceModel.h>

Public Types

using tag = Guo_tag
 
using DirectionIndependentTerms_T = Matrix3<real_t>
 

Public Member Functions

 GuoConstant (const Vector3< real_t > &bodyForceDensity, const uint_t level=uint_t(0))
 
 GuoConstant (const real_t vx, const real_t vy, const real_t vz, const uint_t level=uint_t(0))
 
void pack (mpi::SendBuffer &buffer) const
 
void unpack (mpi::RecvBuffer &buffer)
 
void configure (IBlock &block, StructuredBlockStorage &sbs)
 
void reset (const Vector3< real_t > &bodyForceDensity, const uint_t forceDensity_level=uint_t(0))
 "forceDensity_level" is the level that corresponds to "bodyForceDensity"
 
const Vector3< real_t > & forceDensity () const
 
const Vector3< real_t > & forceDensity (const cell_idx_t, const cell_idx_t, const cell_idx_t) const
 
template<typename LatticeModel_T >
DirectionIndependentTerms_T directionIndependentTerms (const cell_idx_t, const cell_idx_t, const cell_idx_t, const Vector3< real_t > &velocity, const real_t, const real_t omega, const real_t omega_bulk, const real_t) const
 
template<typename LatticeModel_T >
real_t forceTerm (const cell_idx_t, const cell_idx_t, const cell_idx_t, const Vector3< real_t > &velocity, const real_t, const DirectionIndependentTerms_T &commonTerms, const real_t w, const real_t cx, const real_t cy, const real_t cz, const real_t omega, const real_t, const real_t omega_odd) const
 
bool setConstantBodyForceIfPossible (const Vector3< real_t > &bodyForceDensity, const uint_t forceDensity_level=uint_t(0))
 "forceDensity_level" is the level that corresponds to "bodyForceDensity"
 

Static Public Attributes

static const bool shiftMacVel = true
 
static const bool shiftEquVel = true
 
static const bool constant = true
 

Private Attributes

Vector3< real_tbodyForceDensity_
 
uint_t level_
 

Member Typedef Documentation

◆ DirectionIndependentTerms_T

◆ tag

Constructor & Destructor Documentation

◆ GuoConstant() [1/2]

walberla::lbm::force_model::GuoConstant::GuoConstant ( const Vector3< real_t > & bodyForceDensity,
const uint_t level = uint_t(0) )
inline

◆ GuoConstant() [2/2]

walberla::lbm::force_model::GuoConstant::GuoConstant ( const real_t vx,
const real_t vy,
const real_t vz,
const uint_t level = uint_t(0) )
inline

Member Function Documentation

◆ configure()

void walberla::lbm::force_model::GuoConstant::configure ( IBlock & block,
StructuredBlockStorage & sbs )
inline

◆ directionIndependentTerms()

template<typename LatticeModel_T >
DirectionIndependentTerms_T walberla::lbm::force_model::GuoConstant::directionIndependentTerms ( const cell_idx_t ,
const cell_idx_t ,
const cell_idx_t ,
const Vector3< real_t > & velocity,
const real_t ,
const real_t omega,
const real_t omega_bulk,
const real_t  ) const
inline

◆ forceDensity() [1/2]

const Vector3< real_t > & walberla::lbm::force_model::GuoConstant::forceDensity ( ) const
inline

◆ forceDensity() [2/2]

const Vector3< real_t > & walberla::lbm::force_model::GuoConstant::forceDensity ( const cell_idx_t ,
const cell_idx_t ,
const cell_idx_t  ) const
inline

◆ forceTerm()

template<typename LatticeModel_T >
real_t walberla::lbm::force_model::GuoConstant::forceTerm ( const cell_idx_t ,
const cell_idx_t ,
const cell_idx_t ,
const Vector3< real_t > & velocity,
const real_t ,
const DirectionIndependentTerms_T & commonTerms,
const real_t w,
const real_t cx,
const real_t cy,
const real_t cz,
const real_t omega,
const real_t ,
const real_t omega_odd ) const
inline

◆ pack()

void walberla::lbm::force_model::GuoConstant::pack ( mpi::SendBuffer & buffer) const
inline

◆ reset()

void walberla::lbm::force_model::GuoConstant::reset ( const Vector3< real_t > & bodyForceDensity,
const uint_t forceDensity_level = uint_t(0) )
inline

"forceDensity_level" is the level that corresponds to "bodyForceDensity"

◆ setConstantBodyForceIfPossible()

bool walberla::lbm::force_model::GuoConstant::setConstantBodyForceIfPossible ( const Vector3< real_t > & bodyForceDensity,
const uint_t forceDensity_level = uint_t(0) )
inline

"forceDensity_level" is the level that corresponds to "bodyForceDensity"

◆ unpack()

void walberla::lbm::force_model::GuoConstant::unpack ( mpi::RecvBuffer & buffer)
inline

Member Data Documentation

◆ bodyForceDensity_

Vector3< real_t > walberla::lbm::force_model::GuoConstant::bodyForceDensity_
private

◆ constant

const bool walberla::lbm::force_model::GuoConstant::constant = true
static

◆ level_

uint_t walberla::lbm::force_model::GuoConstant::level_
private

◆ shiftEquVel

const bool walberla::lbm::force_model::GuoConstant::shiftEquVel = true
static

◆ shiftMacVel

const bool walberla::lbm::force_model::GuoConstant::shiftMacVel = true
static

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