35 use json_utils,
only: json_get
36 use utils,
only: neko_type_error
45 character(len=25),
parameter :: KNOWN_TYPES(2) = [ character(len=25) :: &
46 "minimum_dissipation", &
61 class(objective_t),
allocatable,
intent(inout) :: object
62 type(json_file),
intent(inout) :: json
63 class(design_t),
intent(in) :: design
64 type(simulation_t),
target,
intent(inout) :: simulation
65 character(len=:),
allocatable :: type
67 if (
allocated(object))
then
72 call json_get(json,
"type", type)
73 select case (trim(type))
74 case (
"minimum_dissipation")
80 call neko_type_error(
"Objective",
type, KNOWN_TYPES)
84 end subroutine objective_factory
86end submodule objective_factory_mod
Implements the lube_term_objective_t type.
Implements the minimum_dissipation_objective_t type.
Implements the objective_t type.
Implements the steady_problem_t type.
An objective function corresponding to minimum dissipation $ F = \int_\Omega |\nabla u|^2 d \Omega + ...
An objective function corresponding to minimum dissipation.