waLBerla 7.2
Loading...
Searching...
No Matches
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"
 
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"
 

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: