37 use json_utils,
only: json_get
38 use utils,
only: neko_type_error
48 character(len=25),
parameter :: KNOWN_TYPES(3) = [ character(len=25) :: &
49 "minimum_dissipation", &
59 module subroutine objective_factory(object, json,
design, simulation)
60 class(objective_t),
allocatable,
intent(inout) :: object
61 type(json_file),
intent(inout) :: json
62 class(design_t),
intent(in) :: design
63 type(simulation_t),
target,
optional,
intent(inout) :: simulation
64 character(len=:),
allocatable :: type
66 if (
allocated(object))
then
71 call json_get(json,
"type", type)
72 select case (trim(type))
73 case (
"minimum_dissipation")
75 case (
"scalar_mixing")
81 call neko_type_error(
"Objective",
type, KNOWN_TYPES)
84 call object%init(json,
design, simulation)
85 end subroutine objective_factory
87end 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 out of plane stresses .
An objective function corresponding to minimum dissipation .
An objective function corresponding to the mixing of a passive scalar .