waLBerla 7.2
Loading...
Searching...
No Matches
walberla::lbm::force_model::LuoConstant 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.

[luo1993lattice], [shan1994simulation]

#include <ForceModel.h>

Public Types

using tag = Luo_tag
 
using DirectionIndependentTerms_T = NoDirectionIndependentTerms
 

Public Member Functions

 LuoConstant (const Vector3< real_t > &bodyForceDensity, const uint_t level=uint_t(0))
 
 LuoConstant (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 > &, const real_t, const real_t, const real_t, 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 &, const real_t w, const real_t cx, const real_t cy, const real_t cz, const real_t, const real_t, const real_t) 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 = false
 
static const bool constant = true
 

Private Attributes

Vector3< real_tbodyForceDensity_
 
uint_t level_
 

Member Typedef Documentation

◆ DirectionIndependentTerms_T

◆ tag

Constructor & Destructor Documentation

◆ LuoConstant() [1/2]

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

◆ LuoConstant() [2/2]

walberla::lbm::force_model::LuoConstant::LuoConstant ( 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::LuoConstant::configure ( IBlock & block,
StructuredBlockStorage & sbs )
inline

◆ directionIndependentTerms()

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

◆ forceDensity() [1/2]

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

◆ forceDensity() [2/2]

const Vector3< real_t > & walberla::lbm::force_model::LuoConstant::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::LuoConstant::forceTerm ( const cell_idx_t ,
const cell_idx_t ,
const cell_idx_t ,
const Vector3< real_t > & velocity,
const real_t ,
const DirectionIndependentTerms_T & ,
const real_t w,
const real_t cx,
const real_t cy,
const real_t cz,
const real_t ,
const real_t ,
const real_t  ) const
inline

◆ pack()

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

◆ reset()

void walberla::lbm::force_model::LuoConstant::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::LuoConstant::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::LuoConstant::unpack ( mpi::RecvBuffer & buffer)
inline

Member Data Documentation

◆ bodyForceDensity_

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

◆ constant

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

◆ level_

uint_t walberla::lbm::force_model::LuoConstant::level_
private

◆ shiftEquVel

const bool walberla::lbm::force_model::LuoConstant::shiftEquVel = false
static

◆ shiftMacVel

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

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