Neko-TOP
A portable framework for high-order spectral element flow toplogy optimization.
Loading...
Searching...
No Matches
mma_optimizer::mma_optimizer_t Type Referenceabstract
Inheritance diagram for mma_optimizer::mma_optimizer_t:
Collaboration diagram for mma_optimizer::mma_optimizer_t:

Public Member Functions

generic init (this, parameters, problem, design, simulation)
 Initialize the MMA optimizer from JSON file.
 
generic init (this, problem, design, max_iterations, tolerance, enable_output, solver_parameters, simulation)
 Initialize the MMA optimizer from JSON file.
 
procedure, pass(thisinit_from_json (this, parameters, problem, design, simulation)
 Initialize the MMA optimizer from JSON file.
 
procedure, pass(thisinit_from_components (this, problem, design, max_iterations, tolerance, enable_output, solver_parameters, simulation)
 Initialize the MMA optimizer from JSON file.
 
procedure, pass(thisinitialize (this, problem, design, simulation)
 Prepare the MMA optimizer before starting the optimization loop.
 
procedure, pass(thisstep (this, iter, problem, design, simulation)
 Function for computing a step in the optimization loop.
 
procedure, pass(thisvalidate (this, problem, design)
 Validate the solution for the MMA optimizer.
 
procedure, pass(thiswrite (this, iter, problem)
 Write the progress of the MMA optimizer to the log file This subroutine logs the current iteration, objective values, constraint values, and convergence metrics to a CSV file.
 
procedure, pass(thisfree (this)
 
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 66 of file mma_optimizer.f90.

Member Function/Subroutine Documentation

◆ free() [1/2]

procedure, pass(this) mma_optimizer::mma_optimizer_t::free ( class(mma_optimizer_t), intent(inout this)

Definition at line 98 of file mma_optimizer.f90.

◆ free() [2/2]

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

Definition at line 74 of file optimizer.f90.

◆ free_base()

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

Definition at line 84 of file optimizer.f90.

◆ init() [1/2]

generic mma_optimizer::mma_optimizer_t::init ( class(mma_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 
)

Definition at line 89 of file mma_optimizer.f90.

◆ init() [2/2]

generic mma_optimizer::mma_optimizer_t::init ( class(mma_optimizer_t), intent(inout this,
class(problem_t), intent(inout problem,
class(design_t), intent(in design,
integer, intent(in max_iterations,
real(kind=rp), intent(in tolerance,
logical, intent(in enable_output,
type(json_file), intent(inout), optional  solver_parameters,
type(simulation_t), intent(in), optional  simulation 
)

Definition at line 89 of file mma_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 
)
inherited
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_components()

procedure, pass(this) mma_optimizer::mma_optimizer_t::init_from_components ( class(mma_optimizer_t), intent(inout this,
class(problem_t), intent(inout problem,
class(design_t), intent(in design,
integer, intent(in max_iterations,
real(kind=rp), intent(in tolerance,
logical, intent(in enable_output,
type(json_file), intent(inout), optional  solver_parameters,
type(simulation_t), intent(in), optional  simulation 
)

Definition at line 91 of file mma_optimizer.f90.

◆ init_from_json() [1/2]

procedure, pass(this) mma_optimizer::mma_optimizer_t::init_from_json ( class(mma_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 
)

Definition at line 90 of file mma_optimizer.f90.

◆ init_from_json() [2/2]

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 virtualinherited

Definition at line 64 of file optimizer.f90.

◆ initialize() [1/2]

procedure, pass(this) mma_optimizer::mma_optimizer_t::initialize ( class(mma_optimizer_t), intent(inout this,
class(problem_t), intent(inout problem,
class(design_t), intent(inout design,
type(simulation_t), intent(inout), optional  simulation 
)

Definition at line 94 of file mma_optimizer.f90.

◆ initialize() [2/2]

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 virtualinherited

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

Definition at line 67 of file optimizer.f90.

◆ step() [1/2]

procedure, pass(this) mma_optimizer::mma_optimizer_t::step ( class(mma_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 
)

Definition at line 95 of file mma_optimizer.f90.

◆ step() [2/2]

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 virtualinherited

Definition at line 72 of file optimizer.f90.

◆ validate() [1/2]

procedure, pass(this) mma_optimizer::mma_optimizer_t::validate ( class(mma_optimizer_t), intent(inout this,
class(problem_t), intent(in problem,
class(design_t), intent(in design 
)

Definition at line 96 of file mma_optimizer.f90.

◆ validate() [2/2]

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 virtualinherited

Definition at line 77 of file optimizer.f90.

◆ write() [1/2]

procedure, pass(this) mma_optimizer::mma_optimizer_t::write ( class(mma_optimizer_t), intent(inout this,
integer, intent(in iter,
class(problem_t), intent(in problem 
)
Parameters
thisThe MMA optimizer object.
iterThe current iteration number.
problemThe problem object.

Definition at line 97 of file mma_optimizer.f90.

◆ write() [2/2]

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 virtualinherited

Definition at line 79 of file optimizer.f90.

Member Data Documentation

◆ max_iterations

integer, public optimizer::optimizer_t::max_iterations
inherited

Definition at line 58 of file optimizer.f90.

◆ tolerance

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

Definition at line 60 of file optimizer.f90.


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