# TurbulenceClosures

## Turbulence Closure Model Constructors

ClimateMachine.TurbulenceClosures.ConstantDynamicViscosityType
ConstantDynamicViscosity <: ConstantViscosity

Turbulence with constant dynamic viscosity (ρν). Divergence terms are included in the momentum flux tensor if divergence_type is WithDivergence.

Fields

• ρν

Dynamic Viscosity [kg/m/s]

• divergence_type

source
ClimateMachine.TurbulenceClosures.ConstantKinematicViscosityType
ConstantKinematicViscosity <: ConstantViscosity

Turbulence with constant kinematic viscosity (ν). Divergence terms are included in the momentum flux tensor if divergence_type is WithDivergence.

Fields

• ν

Kinematic Viscosity [m2/s]

• divergence_type

source
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.AnisoMinDissType
AnisoMinDiss{FT} <: TurbulenceClosureModel

Filter width Δ is the local grid resolution calculated from the mesh metric tensor. A Poincare coefficient is specified and used to compute the equivalent AnisoMinDiss coefficient (computed as the solution to the eigenvalue problem for the Laplacian operator).

Fields

• C_poincare

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