TurbulenceClosures

Turbulence Closure Model Constructors

ClimateMachine.TurbulenceClosures.SmagorinskyLillyType
SmagorinskyLilly <: TurbulenceClosureModel

Fields

  • C_smag

    Smagorinsky Coefficient [dimensionless]

Smagorinsky Model Reference

article{doi:10.1175/1520-0493(1963)091<0099:GCEWTP>2.3.CO;2,
  author = {Smagorinksy, J.},
  title = {General circulation experiments with the primitive equations},
  journal = {Monthly Weather Review},
  volume = {91},
  number = {3},
  pages = {99-164},
  year = {1963},
  doi = {10.1175/1520-0493(1963)091<0099:GCEWTP>2.3.CO;2},
  URL = {https://doi.org/10.1175/1520-0493(1963)091<0099:GCEWTP>2.3.CO;2},
  eprint = {https://doi.org/10.1175/1520-0493(1963)091<0099:GCEWTP>2.3.CO;2}
  }

Lilly Model Reference

article{doi:10.1111/j.2153-3490.1962.tb00128.x,
  author = {LILLY, D. K.},
  title = {On the numerical simulation of buoyant convection},
  journal = {Tellus},
  volume = {14},
  number = {2},
  pages = {148-172},
  doi = {10.1111/j.2153-3490.1962.tb00128.x},
  url = {https://onlinelibrary.wiley.com/doi/abs/10.1111/j.2153-3490.1962.tb00128.x},
  eprint = {https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.2153-3490.1962.tb00128.x},
  year = {1962}
  }

Brunt-Väisälä Frequency Reference

Brunt-Vaisala frequency N² defined as in equation (1b) in
  Durran, D.R. and J.B. Klemp, 1982:
  On the Effects of Moisture on the Brunt-Väisälä Frequency.
  J. Atmos. Sci., 39, 2152–2158,
  https://doi.org/10.1175/1520-0469(1982)039<2152:OTEOMO>2.0.CO;2
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

@article{Vreman2004,
  title={An eddy-viscosity subgrid-scale model for turbulent shear flow: Algebraic theory and applications},
  author={Vreman, AW},
  journal={Physics of fluids},
  volume={16},
  number={10},
  pages={3670--3681},
  year={2004},
  publisher={AIP}
}
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

@article{
    doi:10.1063/1.5037039,
    author = {Vreugdenhil,Catherine A.  and Taylor,John R. },
    title = {Large-eddy simulations of stratified plane Couette flow using the anisotropic minimum-dissipation model},
    journal = {Physics of Fluids},
    volume = {30},
    number = {8},
    pages = {085104},
    year = {2018},
    doi = {10.1063/1.5037039},
    URL = {https://doi.org/10.1063/1.5037039}
}
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
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