LBMForceDistribution

Compute object for the force distribution function (source term) for phase field model..

This compute object adds the force distribution source term to the hydrodynamic distribution function for phase field lattice Boltzmann simulations.

Overview

Computes the Guo-style force distribution that incorporates body forces and density-contrast terms into the collision step. Supply the gradient of the phase field via "grad_phi", the velocity via "velocity", and the force vector via "forces". Liquid and gas densities are set with "rho_l" and "rho_g". For spatially varying relaxation, enable "is_dynamic_relaxation" and provide "tau_tensor".

Example Input File Syntax

[TensorComputes<<<{"href": "../../syntax/TensorComputes/index.html"}>>>]
  [Solve<<<{"href": "../../syntax/TensorComputes/Solve/index.html"}>>>]
    [apply_forces_hydro]
      type = LBMForceDistribution<<<{"description": "Compute object for the force distribution function (source term) for phase field model..", "href": "LBMForceDistribution.html"}>>>
      buffer<<<{"description": "The buffer this compute is writing to"}>>> = f_post_collision
      grad_phi<<<{"description": "Gradient of LBM phase field parameter"}>>> = grad_phi
      velocity<<<{"description": "LBM fluid velocity"}>>> = velocity
      forces<<<{"description": "Body forces G"}>>> = forces
      tau_tensor<<<{"description": "Relaxation tensor"}>>> = relaxation_tensor
      tau<<<{"description": "Relaxation parameter tau_g"}>>> = 1.0
      rho_l<<<{"description": "Liquid density"}>>> = '${rho_l}'
      rho_g<<<{"description": "Gas density"}>>> = '${rho_g}'
      is_dynamic_relaxation<<<{"description": "Whether or not to use dynamic relaxation."}>>> = true
    []
  []
[]
(test/tests/lbm/phase.i)

Input Parameters

  • bufferThe buffer this compute is writing to

    C++ Type:std::string

    Controllable:No

    Description:The buffer this compute is writing to

  • forcesBody forces G

    C++ Type:std::string

    Controllable:No

    Description:Body forces G

  • grad_phiGradient of LBM phase field parameter

    C++ Type:std::string

    Controllable:No

    Description:Gradient of LBM phase field parameter

  • rho_gGas density

    C++ Type:std::string

    Controllable:No

    Description:Gas density

  • rho_lLiquid density

    C++ Type:std::string

    Controllable:No

    Description:Liquid density

  • tauRelaxation parameter tau_g

    C++ Type:std::string

    Controllable:No

    Description:Relaxation parameter tau_g

  • velocityLBM fluid velocity

    C++ Type:std::string

    Controllable:No

    Description:LBM fluid velocity

Required Parameters

  • is_dynamic_relaxationFalseWhether or not to use dynamic relaxation.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether or not to use dynamic relaxation.

  • 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