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(this) init_from_json (this, parameters, problem, design, simulation)
 Initialize the MMA optimizer from JSON file.
 
procedure, pass(this) init_from_components (this, problem, design, max_iterations, tolerance, enable_output, solver_parameters, simulation)
 Initialize the MMA optimizer from JSON file.
 
procedure, pass(this) run (this, problem, design, simulation)
 Define the optimization loop for MMA.
 
procedure, pass(this) validate (this, problem, design)
 Validate the solution for the MMA optimizer.
 
procedure, pass(this) write (this, iter, problem)
 
procedure, pass(this) free (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(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) free_base (this)
 Free base 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(this) init_base (this, max_iterations, tolerance)
 The base initializer.
 

Public Attributes

type(mma_tmma
 
real(kind=rp) scale = 1.0_rp
 Scaling constraint_valuex and constraint_sensitivitiesx. (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)
 
real(kind=rp) scaling_factor = 1.0_rp
 
logical auto_scale = .false.
 
logical unconstrained_problem = .false.
 
logical enable_output = .true.
 A file writer to document the convergence history.
 
type(csv_file_t) csv_log
 
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 33 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 64 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 33 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 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(inout)  problem,
class(design_t), intent(in)  design,
type(simulation_t), intent(in), optional  simulation 
)

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

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

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(inout)  problem,
class(design_t), intent(in)  design,
type(simulation_t), intent(in), optional  simulation 
)
pure virtualinherited

Definition at line 28 of file optimizer.f90.

◆ run() [1/2]

procedure, pass(this) 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 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), optional  simulation 
)
pure virtualinherited

Definition at line 31 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 62 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 38 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 
)

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

Member Data Documentation

◆ auto_scale

logical mma_optimizer::mma_optimizer_t::auto_scale = .false.

Definition at line 45 of file mma_optimizer.f90.

◆ csv_log

type(csv_file_t) mma_optimizer::mma_optimizer_t::csv_log

Definition at line 52 of file mma_optimizer.f90.

◆ enable_output

logical mma_optimizer::mma_optimizer_t::enable_output = .true.

Definition at line 51 of file mma_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 35 of file mma_optimizer.f90.

◆ scale

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

Definition at line 43 of file mma_optimizer.f90.

◆ scaling_factor

real(kind=rp) mma_optimizer::mma_optimizer_t::scaling_factor = 1.0_rp

Definition at line 44 of file mma_optimizer.f90.

◆ tolerance

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

Definition at line 24 of file optimizer.f90.

◆ unconstrained_problem

logical mma_optimizer::mma_optimizer_t::unconstrained_problem = .false.

Definition at line 48 of file mma_optimizer.f90.


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