walberla::lbm::force_model::SimpleConstant Class Reference

Detailed Description

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

#include <ForceModel.h>

Public Types

using tag = Simple_tag
 
using DirectionIndependentTerms_T = NoDirectionIndependentTerms
 

Public Member Functions

 SimpleConstant (const Vector3< real_t > &bodyForceDensity, const uint_t level=uint_t(0))
 
 SimpleConstant (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 "acceleration" 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 > &, 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 > &, 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 "acceleration" More...
 

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

◆ SimpleConstant() [1/2]

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

◆ SimpleConstant() [2/2]

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

◆ directionIndependentTerms()

template<typename LatticeModel_T >
DirectionIndependentTerms_T walberla::lbm::force_model::SimpleConstant::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::SimpleConstant::forceDensity ( ) const
inline

◆ forceDensity() [2/2]

const Vector3< real_t >& walberla::lbm::force_model::SimpleConstant::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::SimpleConstant::forceTerm ( const  cell_idx_t,
const  cell_idx_t,
const  cell_idx_t,
const Vector3< real_t > &  ,
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::SimpleConstant::pack ( mpi::SendBuffer buffer) const
inline

◆ reset()

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

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

◆ setConstantBodyForceIfPossible()

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

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

◆ unpack()

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

Member Data Documentation

◆ bodyForceDensity_

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

◆ constant

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

◆ level_

uint_t walberla::lbm::force_model::SimpleConstant::level_
private

◆ shiftEquVel

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

◆ shiftMacVel

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

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