49 character(len=20) :: SIMCOMPS_KNOWN_TYPES(8) = [character(len=20) :: &
65 module subroutine simulation_component_factory(object, json,
case)
66 class(simulation_component_t),
allocatable,
intent(inout) :: object
67 type(json_file),
intent(inout) :: json
68 class(case_t),
intent(inout),
target :: case
69 character(len=:),
allocatable :: type_name
70 character(len=:),
allocatable :: type_string
74 call json_get_or_default(json,
"is_user", is_user, .false.)
77 call json_get(json,
"type", type_name)
79 if (trim(type_name) .eq.
"vorticity")
then
81 else if (trim(type_name) .eq.
"lambda2")
then
83 else if (trim(type_name) .eq.
"probes")
then
85 else if (trim(type_name) .eq.
"les_model")
then
87 else if (trim(type_name) .eq.
"field_writer")
then
89 else if (trim(type_name) .eq.
"weak_grad")
then
91 else if (trim(type_name) .eq.
"derivative")
then
93 else if (trim(type_name) .eq.
"force_torque")
then
95 else if (trim(type_name) .eq.
"fluid_stats")
then
97 else if (trim(type_name) .eq.
"spectral_error")
then
101 new_line(
'A') //
"- ", .true.)
102 call neko_error(
"Unknown simulation component type: " &
103 // trim(type_name) //
". Known types are: " &
109 call object%init(json,
case)
111 end subroutine simulation_component_factory
114 end submodule simulation_component_fctry
Defines a simulation case.
Implements the derivative_t type.
Implements the field_writer_t type.
Implements the fluid_stats_simcomp_t type.
Implements the force_torque_t type.
A simulation component that computes lambda2 The values are stored in the field registry under the na...
Implements the les_simcomp_t type.
Simulation components are objects that encapsulate functionality that can be fit to a particular comp...
Implements type spectral_error_t.
character(:) function, allocatable, public concat_string_array(array, sep, prepend)
Concatenate an array of strings into one string with array items separated by spaces.
Implements the vorticity_t type.
Implements the weak_grad_t type.
A simulation component that computes a derivative of a field. Wraps the duxyz operator.
A simulation component that writes a 3d field to a file.
A simulation component that computes the velocity and pressure statistics up to 4th order....
A simulation component that computes the force_torque field. Added to the field registry as omega_x,...
A simulation component that drives the computation of the SGS viscosity.
Provides tools to calculate the spectral error indicator.
A simulation component that computes the vorticity field. Added to the field registry as omega_x,...
A simulation component that computes the weak gradient of a field. Wraps the opgrad operator.