TurbulenceClosures

Turbulence Closure Model Constructors

ClimateMachine.TurbulenceClosures.VremanType
Vreman{FT} <: TurbulenceClosureModel

Filter width Δ is the local grid resolution calculated from the mesh metric tensor. A Smagorinsky coefficient is specified and used to compute the equivalent Vreman coefficient.

  1. ν_e = √(Bᵦ/(αᵢⱼαᵢⱼ)) where αᵢⱼ = ∂uⱼ∂uᵢ with uᵢ the resolved scale velocity component.
  2. βij = Δ²αₘᵢαₘⱼ
  3. Bᵦ = β₁₁β₂₂ + β₂₂β₃₃ + β₁₁β₃₃ - β₁₂² - β₁₃² - β₂₃²

βᵢⱼ is symmetric, positive-definite. If Δᵢ = Δ, then β = Δ²αᵀα

Fields

  • C_smag

    Smagorinsky Coefficient [dimensionless]

Reference

source
ClimateMachine.TurbulenceClosures.DryBiharmonicType
DryBiharmonic{FT} <: HyperDiffusion

Assumes dry compressible flow. Horizontal hyperdiffusion methods for application in GCM and LES settings Timescales are prescribed by the user while the diffusion coefficient is computed as a function of the grid lengthscale.

Fields

  • τ_timescale
source
ClimateMachine.TurbulenceClosures.EquilMoistBiharmonicType
EquilMoistBiharmonic{FT} <: HyperDiffusion

Assumes equilibrium thermodynamics in compressible flow. Horizontal hyperdiffusion methods for application in GCM and LES settings Timescales are prescribed by the user while the diffusion coefficient is computed as a function of the grid lengthscale.

Fields

  • τ_timescale

  • τ_timescale_q_tot

source
ClimateMachine.TurbulenceClosures.UpperAtmosSpongeType
UpperAtmosSponge{FT} <: ViscousSponge

Upper domain viscous relaxation.

Applies modifier to viscosity and diffusivity terms in a user-specified upper domain sponge region

Fields

  • z_max

    Maximum domain altitude (m)

  • z_sponge

    Altitude at with sponge starts (m)

  • α_max

    Sponge Strength 0 ⩽ α_max ⩽ 1

  • γ

    Sponge exponent

source

Supporting Methods

ClimateMachine.TurbulenceClosures.turbulence_tensorsFunction
ν, D_t, τ = turbulence_tensors(
    ::TurbulenceClosureModel,
    orientation::Orientation,
    param_set::AbstractParameterSet,
    state::Vars,
    diffusive::Vars,
    aux::Vars,
    t::Real
)

Compute the kinematic viscosity (ν), the diffusivity (D_t) and SGS momentum flux tensor (τ) for a given turbulence closure. Each closure overloads this method with the appropriate calculations for the returned quantities.

Arguments

  • ::TurbulenceClosureModel = Struct identifier for turbulence closure model
  • orientation = BalanceLaw.orientation
  • param_set parameter set
  • state = Array of prognostic (state) variables. See vars_state in BalanceLaw
  • diffusive = Array of diffusive variables
  • aux = Array of auxiliary variables
  • t = time
source