Neko-TOP
A portable framework for high-order spectral element flow toplogy optimization.
|
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(this) | init_from_json (this, parameters, problem, design, simulation, max_iterations, tolerance) |
Initialize the MMA optimizer from JSON file. | |
procedure, pass(this) | init_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(this) | init_base (this, max_iterations, tolerance) |
The base initializer. | |
Public Attributes | |
type(mma_t) | mma |
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. | |
Definition at line 40 of file mma_optimizer.f90.
procedure mma_optimizer::mma_optimizer_t::free | ( | class(mma_optimizer_t), intent(inout) | this | ) |
Definition at line 62 of file mma_optimizer.f90.
|
pure virtualinherited |
Definition at line 35 of file optimizer.f90.
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.
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.
|
inherited |
object | The optimizer object to be created. |
parameters | The JSON file containing the optimizer parameters. |
problem | The problem object. |
design | The design object. |
simulation | The simulation object. Base initializer for the optimizer |
this | The optimizer object. |
max_iterations | The maximum number of iterations. |
tolerance | The tolerance for the optimization loop. |
Definition at line 38 of file optimizer.f90.
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.
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.
|
pure virtualinherited |
Definition at line 30 of file optimizer.f90.
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.
|
pure virtualinherited |
Definition at line 33 of file optimizer.f90.
logical mma_optimizer::mma_optimizer_t::auto_scale |
Definition at line 51 of file mma_optimizer.f90.
Definition at line 26 of file optimizer.f90.
Definition at line 22 of file optimizer.f90.
Definition at line 42 of file mma_optimizer.f90.
Definition at line 50 of file mma_optimizer.f90.
Definition at line 24 of file optimizer.f90.