41 use json_module,
only : json_file
71 class(
vreman_t),
intent(inout) :: this
73 type(
coef_t),
intent(in) :: coef
74 type(json_file),
intent(inout) :: json
75 character(len=:),
allocatable :: nut_name
78 call json_get(json,
"nut_field", nut_name)
91 class(
vreman_t),
intent(inout) :: this
93 type(
coef_t),
intent(in) :: coef
95 character(len=*),
intent(in) :: nut_name
99 call this%init_base(
dofmap, coef, nut_name)
106 class(
vreman_t),
intent(inout) :: this
108 call this%free_base()
115 class(
vreman_t),
intent(inout) :: this
116 real(kind=
rp),
intent(in) :: t
117 integer,
intent(in) :: tstep
120 call neko_error(
"Vreman model not implemented on accelarators.")
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.
integer, parameter neko_bcknd_device
integer, parameter, public rp
Global precision used in computations.
Implements the CPU kernel for the vreman_t type.
subroutine, public vreman_compute_cpu(t, tstep, coef, nut, delta, c)
Compute eddy viscosity on the CPU.
subroutine vreman_init(this, dofmap, coef, json)
Constructor.
subroutine vreman_init_from_components(this, dofmap, coef, c, nut_name)
Constructor from components.
subroutine vreman_free(this)
Destructor for the les_model_t (base) class.
subroutine vreman_compute(this, t, tstep)
Compute eddy viscosity.
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 Vreman LES model.