LBMSmagorinskyMRTCollision

Template object for LBM collision dynamics

This objects implements commonly used collision dynamics for Lattice Boltzmann simulation. Currently available collision operators are BGK single relaxation time and Multi Relaxation Time (MRT) operators. The additional operation is available to project the non-equilibrium distribution onto Hermite space to achieve stability with the boolean parameter projection. For high Reynolds number simulations, Smagorinsky LES collision dynamics is available for both BGK and MRT operators.

Overview

Template for multiple LBM collision operators:

  • BGK: single-relaxation time model (LBMBGKCollision).

  • MRT: multi-relaxation time in moment space (LBMMRTCollision).

  • Smagorinsky: eddy-viscosity based turbulence (LBMSmagorinskyCollision, LBMSmagorinskyMRTCollision).

Supply incoming and equilibrium distributions via "f" and "feq". Relaxation parameter related to viscous stress is controlled with "tau0"; Smagorinsky constant can be controlled via "Cs".

Example Input File Syntax

[TensorComputes<<<{"href": "../../syntax/TensorComputes/index.html"}>>>]
  [Solve<<<{"href": "../../syntax/TensorComputes/Solve/index.html"}>>>]
    [collision]
      type = LBMBGKCollision<<<{"description": "Template object for LBM collision dynamics", "href": "LBMCollisionDynamics.html"}>>>
      buffer<<<{"description": "The buffer this compute is writing to"}>>> = fpc
      f<<<{"description": "Input buffer distribution function"}>>> = f
      feq<<<{"description": "Input buffer equilibrium distribution function"}>>> = feq
      tau0<<<{"description": "Relaxation parameter"}>>> = 1.0
    []
  []
[]
(test/tests/lbm/channel2D.i)

Input Parameters

  • bufferThe buffer this compute is writing to

    C++ Type:std::string

    Controllable:No

    Description:The buffer this compute is writing to

  • fInput buffer distribution function

    C++ Type:std::string

    Controllable:No

    Description:Input buffer distribution function

  • feqInput buffer equilibrium distribution function

    C++ Type:std::string

    Controllable:No

    Description:Input buffer equilibrium distribution function

Required Parameters

  • Cs0.1Smagorinsky constant

    Default:0.1

    C++ Type:std::string

    Controllable:No

    Description:Smagorinsky constant

  • is_dynamic_relaxationFalseWhether or not to use dynamic relaxation.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether or not to use dynamic relaxation.

  • local_relaxation_matrixSLocally computed diagonal relaxation matrix

    Default:S

    C++ Type:std::string

    Controllable:No

    Description:Locally computed diagonal relaxation matrix

  • projectionFalseWhether or not to project non-equilibrium onto Hermite space.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether or not to project non-equilibrium onto Hermite space.

  • tau01.0Relaxation parameter

    Default:1.0

    C++ Type:std::string

    Controllable:No

    Description:Relaxation parameter

  • tau_tensortau_tensorRelaxation tensor

    Default:tau_tensor

    C++ Type:std::string

    Controllable:No

    Description:Relaxation 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