Neko 1.99.3
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
deardorff::deardorff_t Type Referenceabstract

Implements the deardorff LES model. More...

Inheritance diagram for deardorff::deardorff_t:
Collaboration diagram for deardorff::deardorff_t:

Public Member Functions

procedure, pass(thisinit (this, fluid, json)
 Constructor from JSON.
 
procedure, pass(thisinit_from_components (this, fluid, c_k, t0, temperature_field_name, tke_field_name, nut_name, temperature_alphat_name, tke_alphat_name, tke_source_name, g, delta_type, if_ext)
 Constructor from components.
 
procedure, pass(thisfree (this)
 Destructor.
 
procedure, pass(thiscompute (this, t, tstep)
 Compute eddy viscosity.
 
procedure, pass(thisinit_base (this, fluid, nut_name, delta_type, if_ext)
 Constructor for the les_model_t (base) class.
 
procedure, pass(thisfree_base (this)
 Destructor for the les_model_t (base) class.
 
procedure, pass(thiscompute_delta (this)
 Compute the LES length-scale.
 
procedure(les_model_init), deferred, pass init (this, fluid, json)
 The common constructor.
 
procedure(les_model_free), deferred, pass free (this)
 Destructor.
 
procedure(les_model_compute), deferred, pass compute (this, t, tstep)
 Compute eddy viscosity.
 

Public Attributes

real(kind=rp) c_k
 Model constant, defaults to 0.10.
 
real(kind=rp) t0
 The reference temperature.
 
real(kind=rp), dimension(3) g
 The gravitational acceleration.
 
character(len=:), allocatable temperature_field_name
 Temperature field name.
 
character(len=:), allocatable tke_field_name
 TKE field name.
 
type(field_t), pointer temperature_alphat => null()
 Eddy diffusivity for temperature and TKE.
 
type(field_t), pointer tke_alphat => null()
 
type(field_t), pointer tke_source => null()
 Source term for TKE equation.
 
type(time_scheme_controller_t), pointer ext_bdf => null()
 Pointer to the extrapolation scheme.
 
type(field_series_t), pointer ulag => null()
 Pointer to the lag list of the velocities.
 
type(field_series_t), pointer vlag => null()
 
type(field_series_t), pointer wlag => null()
 
class(rhs_maker_sumab_t), allocatable sumab
 Summation of AB/BDF contributions to extrapolate the field.
 
logical if_ext = .false.
 Logical variable for extrapolation.
 
type(field_t), pointer nut => null()
 Subgrid kinematic viscosity.
 
character(len=:), allocatable delta_type
 LES lengthscale type.
 
type(field_t), pointer delta => null()
 LES lengthscale.
 
type(coef_t), pointer coef => null()
 SEM coefficients.
 

Detailed Description

Note
Reference DOI: 10.1007/BF00119502

Definition at line 53 of file deardorff.f90.

Member Function/Subroutine Documentation

◆ compute() [1/2]

procedure, pass(this) deardorff::deardorff_t::compute ( class(deardorff_t), intent(inout this,
real(kind=rp), intent(in t,
integer, intent(in tstep 
)
Parameters
tThe time value.
tstepThe current time-step.

Definition at line 78 of file deardorff.f90.

◆ compute() [2/2]

procedure(les_model_compute), deferred, pass les_model::les_model_t::compute ( class(les_model_t), intent(inout this,
real(kind=rp), intent(in t,
integer, intent(in tstep 
)
pure virtualinherited

Definition at line 95 of file les_model.f90.

◆ compute_delta()

procedure, pass(this) les_model::les_model_t::compute_delta ( class(les_model_t), intent(inout this)
inherited

Definition at line 89 of file les_model.f90.

◆ free() [1/2]

procedure, pass(this) deardorff::deardorff_t::free ( class(deardorff_t), intent(inout this)

Definition at line 76 of file deardorff.f90.

◆ free() [2/2]

procedure(les_model_free), deferred, pass les_model::les_model_t::free ( class(les_model_t), intent(inout this)
pure virtualinherited

Definition at line 93 of file les_model.f90.

◆ free_base()

procedure, pass(this) les_model::les_model_t::free_base ( class(les_model_t), intent(inout this)
inherited

Definition at line 87 of file les_model.f90.

◆ init() [1/2]

procedure, pass(this) deardorff::deardorff_t::init ( class(deardorff_t), intent(inout this,
class(fluid_scheme_base_t), intent(inout), target  fluid,
type(json_file), intent(inout json 
)
Parameters
fluidThe fluid_scheme_base_t object.
jsonA dictionary with parameters.

Definition at line 71 of file deardorff.f90.

◆ init() [2/2]

procedure(les_model_init), deferred, pass les_model::les_model_t::init ( class(les_model_t), intent(inout this,
class(fluid_scheme_base_t), intent(inout), target  fluid,
type(json_file), intent(inout json 
)
pure virtualinherited

Definition at line 91 of file les_model.f90.

◆ init_base()

procedure, pass(this) les_model::les_model_t::init_base ( class(les_model_t), intent(inout this,
class(fluid_scheme_base_t), intent(inout), target  fluid,
character(len=*), intent(in nut_name,
character(len=*), intent(in delta_type,
logical, intent(in if_ext 
)
inherited
Parameters
fluidThe fluid_scheme_t object.
nu_nameThe name of the turbulent viscosity field.
delta_typeThe type of filter size.
if_extWhether trapolate the velocity.

Definition at line 85 of file les_model.f90.

◆ init_from_components()

procedure, pass(this) deardorff::deardorff_t::init_from_components ( class(deardorff_t), intent(inout this,
class(fluid_scheme_base_t), intent(inout), target  fluid,
real(kind=rp), intent(in c_k,
real(kind=rp), intent(in t0,
character(len=*), intent(in temperature_field_name,
character(len=*), intent(in tke_field_name,
character(len=*), intent(in nut_name,
character(len=*), intent(in temperature_alphat_name,
character(len=*), intent(in tke_alphat_name,
character(len=*), intent(in tke_source_name,
real(kind=rp), dimension(3), intent(in g,
character(len=*), intent(in delta_type,
logical, intent(in if_ext 
)
Parameters
fluidThe fluid_scheme_base_t object.
c_kThe deardorff model constant.
T0The reference temperature.
temperature_field_nameThe name of the temperature field.
TKE_field_nameThe name of the TKE field.
nut_nameThe name of the eddy viscosity field.
temperature_alphat_nameThe name of the eddy diffusivity field for temperature.
TKE_alphat_nameThe name of the eddy diffusivity field for TKE.
TKE_source_nameThe name of the source term in the TKE equation
gThe gravitational acceleration vector.
delta_typeThe type of filter size.
if_extWhether to extrapolate the velocity.

Definition at line 73 of file deardorff.f90.

Member Data Documentation

◆ c_k

real(kind=rp) deardorff::deardorff_t::c_k

Definition at line 55 of file deardorff.f90.

◆ coef

type(coef_t), pointer les_model::les_model_t::coef => null()
inherited

Definition at line 82 of file les_model.f90.

◆ delta

type(field_t), pointer les_model::les_model_t::delta => null()
inherited

Definition at line 80 of file les_model.f90.

◆ delta_type

character(len=:), allocatable les_model::les_model_t::delta_type
inherited

Definition at line 78 of file les_model.f90.

◆ ext_bdf

type(time_scheme_controller_t), pointer les_model::les_model_t::ext_bdf => null()
inherited

Definition at line 66 of file les_model.f90.

◆ g

real(kind=rp), dimension(3) deardorff::deardorff_t::g

Definition at line 59 of file deardorff.f90.

◆ if_ext

logical les_model::les_model_t::if_ext = .false.
inherited

Definition at line 74 of file les_model.f90.

◆ nut

type(field_t), pointer les_model::les_model_t::nut => null()
inherited

Definition at line 76 of file les_model.f90.

◆ sumab

class(rhs_maker_sumab_t), allocatable les_model::les_model_t::sumab
inherited

Definition at line 72 of file les_model.f90.

◆ t0

real(kind=rp) deardorff::deardorff_t::t0

Definition at line 57 of file deardorff.f90.

◆ temperature_alphat

type(field_t), pointer deardorff::deardorff_t::temperature_alphat => null()

Definition at line 65 of file deardorff.f90.

◆ temperature_field_name

character(len=:), allocatable deardorff::deardorff_t::temperature_field_name

Definition at line 61 of file deardorff.f90.

◆ tke_alphat

type(field_t), pointer deardorff::deardorff_t::tke_alphat => null()

Definition at line 66 of file deardorff.f90.

◆ tke_field_name

character(len=:), allocatable deardorff::deardorff_t::tke_field_name

Definition at line 63 of file deardorff.f90.

◆ tke_source

type(field_t), pointer deardorff::deardorff_t::tke_source => null()

Definition at line 68 of file deardorff.f90.

◆ ulag

type(field_series_t), pointer les_model::les_model_t::ulag => null()
inherited

Definition at line 68 of file les_model.f90.

◆ vlag

type(field_series_t), pointer les_model::les_model_t::vlag => null()
inherited

Definition at line 69 of file les_model.f90.

◆ wlag

type(field_series_t), pointer les_model::les_model_t::wlag => null()
inherited

Definition at line 70 of file les_model.f90.


The documentation for this type was generated from the following file: