LBMDirichletBC

LBMDirichletBC object

Implements a Dirichlet boundary condition for Lattice Boltzmann simulations. It fixes the value of a macroscopic variable (like density or temperature) at the boundary.

Overview

This boundary condition enforces a specified value at the boundaries. This boundary conditions computes all directions by applying Non-Equilibrium Boundary Condition (NEBC). This means that the non-equilibirum part of the distribution function is computed from the existing values in the current cell and the equilibrium part is computed from the prescribed values at the boundary.

It supports domain faces (left, right, top, bottom, front, back) and wall and regional for solid-embedded geometries. For 3D binary media masks, adjacent-to-solid cells are handled by a specialized path. The regional boundary enables users to mark different walls of the domain with different values and apply Neumann condition only in those regions.

Please note that, this boundary condition is not recommended for prescribed velocity boundary conditions. For that, please use LBMFixedFirstOrderBC

Example Input File Syntax

[TensorComputes]
  [Boundary]
    [walls]
      type = LBMDirichletBC
      buffer = g
      f_old = gpc
      feq=geq
      velocity = velocity
      rho = T
      value = 1.0
      region_id = 2
      boundary = regional
    []
  []
[]

!listing-end

Input Parameters

  • boundaryEdges/Faces where boundary condition is applied.

    C++ Type:MooseEnum

    Options:top, bottom, left, right, front, back, wall, regional

    Controllable:No

    Description:Edges/Faces where boundary condition is applied.

  • bufferThe buffer this compute is writing to

    C++ Type:std::string

    Controllable:No

    Description:The buffer this compute is writing to

  • f_oldOld state distribution function

    C++ Type:std::string

    Controllable:No

    Description:Old state distribution function

  • feqEquilibrium distribution function

    C++ Type:std::string

    Controllable:No

    Description:Equilibrium distribution function

  • rhoFluid density

    C++ Type:std::string

    Controllable:No

    Description:Fluid density

  • velocityFluid velocity

    C++ Type:std::string

    Controllable:No

    Description:Fluid velocity

Required Parameters

  • region_id0Region ID for regional boundary condition

    C++ Type:int

    Controllable:No

    Description:0Region ID for regional boundary condition

  • value0.0Value at the boundary

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:0.0Value at the boundary

Optional Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Set the enabled status of the MooseObject.

Advanced Parameters

Input Files