|
Neko-TOP
A portable framework for high-order spectral element flow toplogy optimization.
|
Steepest descent optimizer with move limits. More...
Data Types | |
| type | steepest_descent_optimizer_t |
| Steepest descent optimizer with move limits. More... | |
Functions/Subroutines | |
| subroutine | sd_optimizer_init_from_json (this, parameters, problem, design, simulation) |
| Initialise the steepest descent optimizer from the case file. | |
Implements the steepest descent method with move limits (SDM) of Appendix D in da Silva, Aage, Beck & Sigmund, "Large scale three-dimensional manufacturing tolerant stress-constrained topology optimization", IJNME (2021), Eqs. D22-D24. Each iteration
step_length (D24).The method handles box bounds only; problems with constraints are rejected in favour of the "mma" optimizer. There is no tolerance-based convergence criterion: the step reports convergence only when the bound-projected gradient vanishes, and otherwise the run is stopped by the base criteria (max_iterations, stop_design_change, max_runtime).
| subroutine steepest_descent_optimizer::sd_optimizer_init_from_json | ( | class(steepest_descent_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 | ||
| ) |
Reads optimization.solver and its steepest_descent object. The base settings are read after free, which resets them, and before init_base, which keeps them.
| this | The steepest descent optimizer. |
| parameters | The JSON case file. |
| problem | The problem to optimise, which must have no constraints. |
| design | The design whose values start the optimisation. |
| simulation | The simulation, unused. |
Definition at line 164 of file steepest_descent_optimizer.f90.
