41 use json_module,
only : json_file
60 procedure, pass(this) :: init_from_components => &
76 type(
coef_t),
intent(in) :: coef
77 type(json_file),
intent(inout) :: json
78 character(len=:),
allocatable :: nut_name
80 character(len=:),
allocatable :: delta_type
81 character(len=LOG_SIZE) :: log_buf
88 write(log_buf,
'(A)')
'Model : Smagorinsky'
90 write(log_buf,
'(A, A)')
'Delta evaluation : ', delta_type
92 write(log_buf,
'(A, E15.7)')
'c_s : ', c_s
106 nut_name, delta_type)
108 type(
dofmap_t),
intent(in) :: dofmap
109 type(
coef_t),
intent(in) :: coef
111 character(len=*),
intent(in) :: nut_name
112 character(len=*),
intent(in) :: delta_type
116 call this%init_base(
dofmap, coef, nut_name, delta_type)
125 call this%free_base()
133 real(kind=
rp),
intent(in) :: t
134 integer,
intent(in) :: tstep
Retrieves a parameter by name or assigns a provided default value. In the latter case also adds the m...
Retrieves a parameter by name or throws an error.
Defines a mapping of the degrees of freedom.
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 smagorinsky_t type.
subroutine, public smagorinsky_compute_cpu(t, tstep, coef, nut, delta, c_s)
Compute eddy viscosity on the CPU.
Implements the device kernel for the smagorinsky_t type.
subroutine, public smagorinsky_compute_device(t, tstep, coef, nut, delta, c_s)
Compute eddy viscosity on the device.
Implements smagorinsky_t.
subroutine smagorinsky_init_from_components(this, dofmap, coef, c_s, nut_name, delta_type)
Constructor from components.
subroutine smagorinsky_free(this)
Destructor for the les_model_t (base) class.
subroutine smagorinsky_compute(this, t, tstep)
Compute eddy viscosity.
subroutine smagorinsky_init(this, dofmap, coef, json)
Constructor.
Coefficients defined on a given (mesh, ) tuple. Arrays use indices (i,j,k,e): element e,...
Base abstract type for LES models based on the Boussinesq approximation.
Implements the smagorinsky LES model.