35 use json_utils,
only: json_get
36 use utils,
only: neko_type_error
46 character(len=25),
parameter :: KNOWN_TYPES(3) = [ character(len=25) :: &
47 "minimum_dissipation", &
62 module subroutine objective_factory(object, json,
design, simulation)
63 class(objective_t),
allocatable,
intent(inout) :: object
64 type(json_file),
intent(inout) :: json
65 class(design_t),
intent(in) :: design
66 type(simulation_t),
target,
optional,
intent(inout) :: simulation
67 character(len=:),
allocatable :: type
69 if (
allocated(object))
then
74 call json_get(json,
"type", type)
75 select case (trim(type))
76 case (
"minimum_dissipation")
78 case (
"scalar_mixing")
84 call neko_type_error(
"Objective",
type, KNOWN_TYPES)
87 call object%init(json,
design, simulation)
88 end subroutine objective_factory
90end submodule objective_factory_mod
Implements the lube_term_objective_t type.
Implements the minimum_dissipation_objective_t type.
Implements the objective_t type.
An objective function corresponding to the mixing of a passive scalar .
An objective function corresponding to minimum dissipation .
An objective function corresponding to minimum dissipation .
An objective function corresponding to the mixing of a passive scalar .