- boundaryEdges/Faces where boundary condition is applied.
C++ Type:MooseEnum
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
LBMNeumannBC
LBMNeumannBC object
Implements a Neumann boundary condition for Lattice Boltzmann simulations. It enforces a fixed gradient of a microsocpic variable at the boundary.
Overview
This boundary condition enforces a specified gradient at the boundaries. It calculates the required macroscopic value at the boundary to satisfy the gradient condition and then uses the Dirichlet implementation logic to apply it. Note that the gradient specified at the boundary is not the gradient of macroscopic variable. Rather, it is the gradient of distribution fucntions (microscopci variable). This boundary conditions only computes missing directions by applying Non-Equilibrium Boundary Condition (NEBC). This means that the non-equilibirum part of the distribution function is computed from existing values in the current cell and the equilibrium part is computed from the prescribed gradients 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.
Example Input File Syntax
[TensorComputes]
[Boundary]
[heat_source]
type = LBMNeumannBC
buffer = g
f_old = gpc
feq=geq
velocity = velocity
rho = T
gradient = 0.001
region_id = 3
boundary = regional
[]
[]
[]
!listing-endInput Parameters
- gradient0.0Gradient at the boundary
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:0.0Gradient at the boundary
- region_id0Region ID for regional boundary condition
C++ Type:int
Controllable:No
Description:0Region ID for regional boundary condition
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.