41  use json_module, 
only : json_file
 
   59     procedure, pass(this) :: init_from_components => &
 
 
   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
 
   87    write(log_buf, 
'(A)') 
'Model : Smagorinsky' 
   89    write(log_buf, 
'(A, A)') 
'Delta evaluation : ', delta_type
 
   91    write(log_buf, 
'(A, E15.7)') 
'c_s : ', c_s
 
   93    write(log_buf, 
'(A, L1)') 
'extrapolation : ', if_ext
 
 
  109       nut_name, delta_type, if_ext)
 
  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)
 
 
  128    call this%free_base()
 
 
  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_s)
 
  165            this%nut, this%delta, this%c_s)
 
 
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 smagorinsky_t type.
 
subroutine, public smagorinsky_compute_cpu(if_ext, 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(if_ext, t, tstep, coef, nut, delta, c_s)
Compute eddy viscosity on the device.
 
Implements smagorinsky_t.
 
subroutine smagorinsky_init_from_components(this, fluid, c_s, nut_name, delta_type, if_ext)
Constructor from components.
 
subroutine smagorinsky_init(this, fluid, json)
Constructor.
 
subroutine smagorinsky_free(this)
Destructor for the les_model_t (base) class.
 
subroutine smagorinsky_compute(this, t, tstep)
Compute eddy viscosity.
 
Base type of all fluid formulations.
 
Base abstract type for LES models based on the Boussinesq approximation.
 
Implements the smagorinsky LES model.