41  use json_module, 
only : json_file
 
   59     procedure, pass(this) :: init_from_components => &
 
 
   72    class(
vreman_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 : Vreman' 
   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(
vreman_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)
 
 
  126    class(
vreman_t), 
intent(inout) :: this
 
  128    call this%free_base()
 
 
  135    class(
vreman_t), 
intent(inout) :: this
 
  136    real(kind=
rp), 
intent(in) :: t
 
  137    integer, 
intent(in) :: tstep
 
  139    type(
field_t), 
pointer :: u, v, w, u_e, v_e, w_e
 
  141    if (this%if_ext .eqv. .true.) 
then 
  143       associate(ulag => this%ulag, vlag => this%vlag, &
 
  144            wlag => this%wlag, ext_bdf => this%ext_bdf)
 
  153         call this%sumab%compute_fluid(u_e, v_e, w_e, u, v, w, &
 
  154              ulag, vlag, wlag, ext_bdf%advection_coeffs, ext_bdf%nadv)
 
  162            this%nut, this%delta, this%c)
 
  165            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 vreman_t type.
 
subroutine, public vreman_compute_cpu(if_ext, t, tstep, coef, nut, delta, c)
Compute eddy viscosity on the CPU.
 
Implements the device kernel for the vreman_t type.
 
subroutine, public vreman_compute_device(if_ext, t, tstep, coef, nut, delta, c)
Compute eddy viscosity on the device.
 
subroutine vreman_init_from_components(this, fluid, c, nut_name, delta_type, if_ext)
Constructor from components.
 
subroutine vreman_free(this)
Destructor for the les_model_t (base) class.
 
subroutine vreman_compute(this, t, tstep)
Compute eddy viscosity.
 
subroutine vreman_init(this, fluid, json)
Constructor.
 
Base type of all fluid formulations.
 
Base abstract type for LES models based on the Boussinesq approximation.
 
Implements the Vreman LES model.