Neko-TOP
A portable framework for high-order spectral element flow toplogy optimization.
Loading...
Searching...
No Matches
optimizer::optimizer_t Type Referenceabstract

Abstract optimizer class. More...

Inheritance diagram for optimizer::optimizer_t:
Collaboration diagram for optimizer::optimizer_t:

Public Member Functions

procedure(optimizer_init_from_json), deferred, pass, public init_from_json (this, parameters, problem, design, simulation, max_iterations, tolerance)
 Initialize the optimizer, associate it with a specific problem.
 
procedure(optimizer_run), deferred, pass, public run (this, problem, design, simulation)
 Run the optimization loop.
 
procedure(optimizer_free), deferred, pass, public free (this)
 Free resources.
 
procedure, pass(thisinit_base (this, max_iterations, tolerance)
 The base initializer.
 

Public Attributes

integer, public max_iterations
 The maximum number of iterations.
 
real(kind=rp), public tolerance
 The tolerance for the optimization loop.
 
type(csv_file_t), public logger
 A file writer to document the convergence history.
 

Detailed Description

Definition at line 18 of file optimizer.f90.

Member Function/Subroutine Documentation

◆ free()

procedure(optimizer_free), deferred, pass, public optimizer::optimizer_t::free ( class(optimizer_t), intent(inout this)
pure virtual

Definition at line 35 of file optimizer.f90.

◆ init_base()

procedure, pass(this) optimizer::optimizer_t::init_base ( class(optimizer_t), intent(inout this,
integer, intent(in max_iterations,
real(kind=rp), intent(in tolerance 
)
Parameters
objectThe optimizer object to be created.
parametersThe JSON file containing the optimizer parameters.
problemThe problem object.
designThe design object.
simulationThe simulation object. Base initializer for the optimizer
thisThe optimizer object.
max_iterationsThe maximum number of iterations.
toleranceThe tolerance for the optimization loop.

Definition at line 38 of file optimizer.f90.

◆ init_from_json()

procedure(optimizer_init_from_json), deferred, pass, public optimizer::optimizer_t::init_from_json ( class(optimizer_t), intent(inout this,
type(json_file), intent(inout parameters,
class(problem_t), intent(in problem,
class(design_t), intent(in design,
type(simulation_t), intent(in simulation,
integer, intent(in max_iterations,
real(kind=rp), intent(in tolerance 
)
pure virtual

Definition at line 30 of file optimizer.f90.

◆ run()

procedure(optimizer_run), deferred, pass, public optimizer::optimizer_t::run ( class(optimizer_t), intent(inout this,
class(problem_t), intent(inout problem,
class(design_t), intent(inout design,
type(simulation_t), intent(inout simulation 
)
pure virtual

Definition at line 33 of file optimizer.f90.

Member Data Documentation

◆ logger

type(csv_file_t), public optimizer::optimizer_t::logger

Definition at line 26 of file optimizer.f90.

◆ max_iterations

integer, public optimizer::optimizer_t::max_iterations

Definition at line 22 of file optimizer.f90.

◆ tolerance

real(kind=rp), public optimizer::optimizer_t::tolerance

Definition at line 24 of file optimizer.f90.


The documentation for this type was generated from the following file: