8 use json_module,
only: json_file
12 use num_types,
only: rp
13 use csv_file,
only: csv_file_t
22 integer,
public :: max_iterations
24 real(kind=rp),
public :: tolerance
26 type(csv_file_t),
public :: logger
49 simulation, max_iterations, tolerance)
52 type(json_file),
intent(inout) :: parameters
54 class(
design_t),
intent(in) :: design
56 integer,
intent(in) :: max_iterations
57 real(kind=rp),
intent(in) :: tolerance
64 class(
problem_t),
intent(inout) :: problem
65 class(
design_t),
intent(inout) :: design
86 module subroutine optimizer_factory(object, parameters,
problem,
design, &
88 class(optimizer_t),
allocatable,
intent(inout) :: object
89 type(json_file),
intent(inout) :: parameters
91 class(
design_t),
intent(in) :: design
93 end subroutine optimizer_factory
96 public :: optimizer_t, optimizer_factory
104 subroutine optimizer_init_base(this, max_iterations, tolerance)
105 class(optimizer_t),
intent(inout) :: this
106 integer,
intent(in) :: max_iterations
107 real(kind=rp),
intent(in) :: tolerance
109 this%max_iterations = max_iterations
110 this%tolerance = tolerance
112 end subroutine optimizer_init_base
Interface for freeing resources.
Interface for optimizer initialization.
Interface for running the optimization loop.
subroutine optimizer_init_base(this, max_iterations, tolerance)
Factory function for the optimizer.
Module for handling the optimization problem.
Implements the steady_problem_t type.
Abstract optimizer class.
The abstract problem type.