38 use json_module,
only : json_file
53 class(
avm_t),
allocatable :: avm
77 type(json_file),
intent(inout) :: json
78 class(
case_t),
intent(inout),
target :: case
79 character(len=:),
allocatable :: name
80 character(len=:),
allocatable :: model_name
81 character(len=NEKO_VARNAME_LEN) :: fields(1)
86 call json_get(json,
"model", model_name)
89 call this%init_base(json,
case)
92 call avm_factory(this%avm, model_name,
case, json)
96 fields(1) = this%avm%reg_coeff%name
97 call json%add(
"fields", fields)
99 call this%writer%init(json,
case)
101 if (
allocated(name))
deallocate(name)
102 if (
allocated(model_name))
deallocate(model_name)
109 call this%free_base()
110 call this%writer%free()
112 if (
allocated(this%avm))
then
125 call this%avm%preprocess(time)
135 call this%avm%compute(time)
145 call this%avm%restart(time)
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.
Implements the avm_simcomp_t type.
subroutine avm_simcomp_init_from_json(this, json, case)
Constructor from json.
subroutine avm_simcomp_free(this)
Destructor.
subroutine avm_simcomp_compute(this, time)
Compute the avm_simcomp field.
subroutine avm_simcomp_preprocess(this, time)
Compute the avm_simcomp field.
subroutine avm_simcomp_restart(this, time)
Compute the avm_simcomp field when restart.
Defines a simulation case.
Implements the field_writer_t type.
Utilities for retrieving parameters from the case files.
integer, parameter, public rp
Global precision used in computations.
Simulation components are objects that encapsulate functionality that can be fit to a particular comp...
subroutine restart_(this, time)
Dummy restart function.
subroutine preprocess_(this, time)
Dummy preprocessing function.
subroutine compute_(this, time)
Dummy compute function.
Module with things related to the simulation time.
integer, parameter, public neko_varname_len
Base abstract type for artificial viscosity models.
A simulation component that drives the computation of the artificial viscosity method.
A simulation component that writes a 3d field to a file.
Base abstract class for simulation components.
A struct that contains all info about the time, expand as needed.