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:

Public Member Functions

procedure(optimizer_init_from_json), deferred, pass, public init_from_json (this, parameters, problem, design, simulation)
 Initialize the optimizer, associate it with a specific problem.
 
procedure, pass, public run (this, problem, design, simulation)
 Run the optimization loop.
 
procedure(optimizer_initialize), deferred, pass, public initialize (this, problem, design, simulation)
 Prepare the optimizer before starting the optimization loop.
 
procedure(optimizer_step), deferred, pass, public step (this, iter, problem, design, simulation)
 Perform a single optimization step.
 
procedure(optimizer_free), deferred, pass, public free (this)
 Free resources.
 
procedure(optimizer_validate), deferred, pass, public validate (this, problem, design)
 Validate the solution.
 
procedure(optimizer_write), deferred, pass, public write (this, iter, problem)
 Write the progress of the optimizer to the log file.
 
procedure, pass(thisinit_base (this, max_iterations, tolerance)
 The base initializer.
 
procedure, pass(thisfree_base (this)
 Free base resources.
 

Public Attributes

integer, public max_iterations
 The maximum number of iterations.
 
real(kind=rp), public tolerance
 The tolerance for the optimization loop.
 

Detailed Description

Definition at line 54 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 74 of file optimizer.f90.

◆ free_base()

procedure, pass(this) optimizer::optimizer_t::free_base ( class(optimizer_t), intent(inout this)
Parameters
thisThe optimizer object.

Definition at line 84 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
thisThe optimizer object.
max_iterationsThe maximum number of iterations.
toleranceThe tolerance for the optimization loop.

Definition at line 82 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(inout problem,
class(design_t), intent(in design,
type(simulation_t), intent(in), optional  simulation 
)
pure virtual

Definition at line 64 of file optimizer.f90.

◆ initialize()

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

Definition at line 69 of file optimizer.f90.

◆ run()

procedure, 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), optional  simulation 
)
Parameters
thisThe optimizer object.
problemThe problem object.
designThe design object.
simulationThe simulation object.

Definition at line 67 of file optimizer.f90.

◆ step()

procedure(optimizer_step), deferred, pass, public optimizer::optimizer_t::step ( class(optimizer_t), intent(inout this,
integer, intent(in iter,
class(problem_t), intent(inout problem,
class(design_t), intent(inout design,
type(simulation_t), intent(inout), optional  simulation 
)
pure virtual

Definition at line 72 of file optimizer.f90.

◆ validate()

procedure(optimizer_validate), deferred, pass, public optimizer::optimizer_t::validate ( class(optimizer_t), intent(inout this,
class(problem_t), intent(in problem,
class(design_t), intent(in design 
)
pure virtual

Definition at line 77 of file optimizer.f90.

◆ write()

procedure(optimizer_write), deferred, pass, public optimizer::optimizer_t::write ( class(optimizer_t), intent(inout this,
integer, intent(in iter,
class(problem_t), intent(in problem 
)
pure virtual

Definition at line 79 of file optimizer.f90.

Member Data Documentation

◆ max_iterations

integer, public optimizer::optimizer_t::max_iterations

Definition at line 58 of file optimizer.f90.

◆ tolerance

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

Definition at line 60 of file optimizer.f90.


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