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, max_iterations, tolerance, simulation)
 Initialize the MMA optimizer from JSON file.
 
generic init (this, problem, design, max_iterations, tolerance, simulation)
 Initialize the MMA optimizer from JSON file.
 
procedure, pass(this) init_from_json (this, parameters, problem, design, max_iterations, tolerance, simulation)
 Initialize the MMA optimizer from JSON file.
 
procedure, pass(this) init_from_components (this, problem, design, max_iterations, tolerance, simulation)
 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, max_iterations, tolerance, simulation)
 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(this) init_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 39 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 61 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,
integer, intent(in)  max_iterations,
real(kind=rp), intent(in)  tolerance,
type(simulation_t), intent(in), optional  simulation 
)

Definition at line 55 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,
integer, intent(in)  max_iterations,
real(kind=rp), intent(in)  tolerance,
type(simulation_t), intent(in), optional  simulation 
)

Definition at line 55 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 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,
integer, intent(in)  max_iterations,
real(kind=rp), intent(in)  tolerance,
type(simulation_t), intent(in), optional  simulation 
)

Definition at line 57 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,
integer, intent(in)  max_iterations,
real(kind=rp), intent(in)  tolerance,
type(simulation_t), intent(in), optional  simulation 
)

Definition at line 56 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,
integer, intent(in)  max_iterations,
real(kind=rp), intent(in)  tolerance,
type(simulation_t), intent(in), optional  simulation 
)
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), optional  simulation 
)

Definition at line 60 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), optional  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 50 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 41 of file mma_optimizer.f90.

◆ scale

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

Definition at line 49 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: