41 use json_module,
only : json_file
59 procedure, pass(this) :: init_from_components &
72 class(
sigma_t),
intent(inout) :: this
74 type(json_file),
intent(inout) :: json
75 character(len=:),
allocatable :: nut_name
77 character(len=:),
allocatable :: delta_type
79 character(len=LOG_SIZE) :: log_buf
88 write(log_buf,
'(A)')
'Model : Sigma'
90 write(log_buf,
'(A, A)')
'Delta evaluation : ', delta_type
92 write(log_buf,
'(A, E15.7)')
'c : ', c
94 write(log_buf,
'(A, L1)')
'extrapolation : ', if_ext
110 class(
sigma_t),
intent(inout) :: this
113 character(len=*),
intent(in) :: nut_name
114 character(len=*),
intent(in) :: delta_type
115 logical,
intent(in) :: if_ext
119 call this%init_base(fluid, nut_name, delta_type, if_ext)
127 class(
sigma_t),
intent(inout) :: this
129 call this%free_base()
136 class(
sigma_t),
intent(inout) :: this
137 real(kind=
rp),
intent(in) :: t
138 integer,
intent(in) :: tstep
140 type(
field_t),
pointer :: u, v, w, u_e, v_e, w_e
142 if (this%if_ext .eqv. .true.)
then
144 associate(ulag => this%ulag, vlag => this%vlag, &
145 wlag => this%wlag, ext_bdf => this%ext_bdf)
154 call this%sumab%compute_fluid(u_e, v_e, w_e, u, v, w, &
155 ulag, vlag, wlag, ext_bdf%advection_coeffs, ext_bdf%nadv)
163 this%nut, this%delta, this%c)
166 this%nut, this%delta, this%c)
Retrieves a parameter by name or assigns a provided default value. In the latter case also adds the m...
Defines a registry for storing solution fields.
type(field_registry_t), target, public neko_field_registry
Global field registry.
Utilities for retrieving parameters from the case files.
type(log_t), public neko_log
Global log stream.
integer, parameter, public log_size
integer, parameter neko_bcknd_device
integer, parameter, public rp
Global precision used in computations.
Implements the CPU kernel for the sigma_t type. Following Nicoud et al. "Using singular values to bui...
subroutine, public sigma_compute_cpu(if_ext, t, tstep, coef, nut, delta, c)
Compute eddy viscosity on the CPU.
Implements the device kernel for the sigma_t type.
subroutine, public sigma_compute_device(if_ext, t, tstep, coef, nut, delta, c)
Compute eddy viscosity on device.
subroutine sigma_compute(this, t, tstep)
Compute eddy viscosity.
subroutine sigma_init_from_components(this, fluid, c, nut_name, delta_type, if_ext)
Constructor from components.
subroutine sigma_init(this, fluid, json)
Constructor.
subroutine sigma_free(this)
Destructor for the les_model_t (base) class.
Base type of all fluid formulations.
Base abstract type for LES models based on the Boussinesq approximation.
Implements the Sigma LES model.