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, max_iterations, tolerance)
 Initialize the MMA optimizer from JSON file.
 
generic init (this, problem, design, simulation, max_iterations, tolerance)
 Initialize the MMA optimizer from JSON file.
 
procedure, pass(thisinit_from_json (this, parameters, problem, design, simulation, max_iterations, tolerance)
 Initialize the MMA optimizer from JSON file.
 
procedure, pass(thisinit_from_components (this, problem, design, simulation, max_iterations, tolerance)
 Initialize the MMA optimizer from JSON file.
 
procedure run (this, problem, design, simulation)
 Define the optimization loop for MMA.
 
procedure free (this)
 
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

type(mma_tmma
 
real(kind=rp) scale
 Scaling constraint_valuex and constraint_sensitivitiesx. Note that the values are not updated but they are scaled when passed to the optimizer. (if auto_scale then constraint_valuex=scale else constraint_valuex=scale*constraint_valuex) When auto_scale is true, we use an adaptable scale for constraint_valuex and constraint_sensitivitiesx in every iteration (variable scale factors)
 
logical auto_scale
 
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 40 of file mma_optimizer.f90.

Member Function/Subroutine Documentation

◆ free() [1/2]

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

Definition at line 62 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 35 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(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 
)

Definition at line 56 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(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 
)

Definition at line 56 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
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_components()

procedure, pass(this) mma_optimizer::mma_optimizer_t::init_from_components ( class(mma_optimizer_t), intent(inout this,
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 
)

Definition at line 58 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(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 
)

Definition at line 57 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(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 virtualinherited

Definition at line 30 of file optimizer.f90.

◆ run() [1/2]

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

Definition at line 61 of file mma_optimizer.f90.

◆ run() [2/2]

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 virtualinherited

Definition at line 33 of file optimizer.f90.

Member Data Documentation

◆ auto_scale

logical mma_optimizer::mma_optimizer_t::auto_scale

Definition at line 51 of file mma_optimizer.f90.

◆ logger

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

Definition at line 26 of file optimizer.f90.

◆ max_iterations

integer, public optimizer::optimizer_t::max_iterations
inherited

Definition at line 22 of file optimizer.f90.

◆ mma

type(mma_t) mma_optimizer::mma_optimizer_t::mma

Definition at line 42 of file mma_optimizer.f90.

◆ scale

real(kind=rp) mma_optimizer::mma_optimizer_t::scale

Definition at line 50 of file mma_optimizer.f90.

◆ tolerance

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

Definition at line 24 of file optimizer.f90.


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