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.

[15], [29]

#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" More...
 
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" More...
 

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: