src/DiffEq/Velocity/VelocityCoeffPolicy.hpp file

Velocity equation coefficients policies.

Contents

This file defines coefficients policy classes for the velocity equation for the fluctuating velocity in variable-density turbulence, defined in DiffEq/Velocity.h.

General requirements on velocity equation coefficients policy classes:

  • Must define a constructor, which is used to initialize the SDE coefficient, C0. Required signature:

    CoeffPolicyName(
      kw::sde_c0::info::expect::type C0_,
      kw::sde_c0::info::expect::type& C0,
      std::array< tk::real, 9 >& dU )

    where

    • C0_ denotes a real value used to initialize the velocity system.
    • The reference C0 is to be initialized based on C0_.
    • dU is an optionally prescribed mean velocity gradient.
  • Must define the function update(), called from Velocity::advance(), updating the model coefficients. Required signature:

    void update( char depvar,
                 char dissipation_depvar,
                 const std::map< tk::ctr::Product, tk::real >& moments,
                 const tk::Table<1>& hts,
                 ctr::DepvarType solve,
                 ctr::VelocityVariantType variant,
                 kw::sde_c0::info::expect::type C0,
                 tk::real t,
                 tk::real& eps,
                 std::array< tk::real, 9 >& G ) const

    where depvar is the dependent variable of the velocity equation, dissipation_depvar is the dependent variable of the coupled dissipation equation, moments if the map of computed statistical moments, hts is a ctr::Table containing the inverse hydrodynamic timescale, variant is the velocity model variant, solve is the the lable of the dependent variable to solve for (full variable or fluctuation), C0 is the Langevin eq constat to use, t is the physical time, eps is the dissipation rate of turbulent kinetic energy to update, and G is the G_{ij} tensor in the Langevin model to update.

  • Must define the static function type(), returning the enum value of the policy option. Example:

    static ctr::CoeffPolicyType type() noexcept {
      return ctr::CoeffPolicyType::HYDROTIMESCALE;
    }

    which returns the enum value of the option from the underlying option class, collecting all possible options for coefficients policies.

Namespaces

namespace walker
Walker declarations and definitions.

Classes

class walker::VelocityCoeffConstShear
class walker::VelocityCoeffStationary
Velocity equation coefficients policy yielding a statistically stationary state.
class walker::VelocityCoeffHydroTimeScale