LBMComputeVelocity

Compute object for macroscopic velocity reconstruction.

LBMComputeVelocity computes macroscopic velocity from distribution functions. Forces can be added to velocity.

Overview

Computes velocity from the distribution f and density rho using the stencil direction vectors e_x,e_y,e_z:

u_x = (1/rho) sum_q f e_{x,q}, with analogous expressions for u_y and u_z in 2D/3D.

Optional force contributions are added as (forces)/(2 rho); constant body forces can be enabled on each axis via add_body_force = true and body_force_{x,y,z} constants.

Example Input File Syntax

[TensorComputes]
  [Solve]
    [rho]
      type = LBMComputeDensity
      buffer = rho
      f = f
    []
    [vel]
      type = LBMComputeVelocity
      buffer = u
      f = f
      rho = rho
      enable_forces = true
      forces = F
      add_body_force = true
      body_force_x = '1e-6'
      body_force_y = '0.0'
      body_force_z = '0.0'
    []
  []
[]
!listing-end

Input Parameters

  • bufferThe buffer this compute is writing to

    C++ Type:std::string

    Controllable:No

    Description:The buffer this compute is writing to

  • fDistribution function

    C++ Type:std::string

    Controllable:No

    Description:Distribution function

  • rhoDensity

    C++ Type:std::string

    Controllable:No

    Description:Density

Required Parameters

  • add_body_forceFalseWhether to enable forces or no

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether to enable forces or no

  • body_force_x0.0Body force to be added in x-dir

    Default:0.0

    C++ Type:std::string

    Controllable:No

    Description:Body force to be added in x-dir

  • body_force_y0.0Body force to be added in y-dir

    Default:0.0

    C++ Type:std::string

    Controllable:No

    Description:Body force to be added in y-dir

  • body_force_z0.0Body force to be added in z-dir

    Default:0.0

    C++ Type:std::string

    Controllable:No

    Description:Body force to be added in z-dir

  • enable_forcesFalseWhether to enable forces or no

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether to enable forces or no

  • forcesforcesForce tensor

    Default:forces

    C++ Type:std::string

    Controllable:No

    Description:Force tensor

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