Neko-TOP
A portable framework for high-order spectral element flow toplogy optimization.
|
An abstract design type. More...
Public Member Functions | |
procedure, pass(this) | init_from_json_sim (this, parameters, simulation) |
Initialize the design. | |
procedure, pass(this) | init_from_json (this, parameters) |
Initialize the design. | |
procedure(design_free), deferred, pass, public | free (this) |
Free the design. | |
procedure(design_get_values), deferred, pass, public | get_values (this, values) |
Retrieve the design variables. | |
generic | get_x (this, x) |
Retrieve the x location of the design variables. | |
generic | x (this, i) |
Getter of i'th element of x. | |
generic | get_y (this, y) |
Retrieve the y location of the design variables. | |
generic | y (this, i) |
Getter of i'th element of y. | |
generic | get_z (this, z) |
Retrieve the z location of the design variables. | |
generic | z (this, i) |
Getter of i'th element of z. | |
procedure(design_update_design), deferred, pass, public | update_design (this, values) |
Update the design variables. | |
procedure(design_map_forward), deferred, pass, public | map_forward (this) |
Run the forward mapping of the design. | |
procedure(design_map_backward), deferred, pass, public | map_backward (this, sensitivity) |
Run the backward mapping of the design. | |
procedure(design_write), deferred, pass, public | write (this, idx) |
Write the design. | |
procedure, pass(this) | init_base (this, name, n) |
Initialize the base design. | |
procedure, pass(this) | free_base (this) |
Free the base design. | |
procedure, pass(this), public | size (this) |
Return the number of design variables. | |
procedure, pass(this), public | size_global (this) |
Return the number of global design variables. | |
procedure, pass(this) | design_get_x (this, x) |
Getter of x vector. | |
procedure, pass(this) | design_get_x_i (this, i) |
Getter of i'th element of x. | |
procedure, pass(this) | design_get_y (this, y) |
Getter of y vector. | |
procedure, pass(this) | design_get_y_i (this, i) |
Getter of i'th element of y. | |
procedure, pass(this) | design_get_z (this, z) |
Getter of z vector. | |
procedure, pass(this) | design_get_z_i (this, i) |
Getter of i'th element of z. | |
Public Attributes | |
integer | n = 0 |
The number of design variables. | |
integer | n_global = 0 |
The global number of design variables. | |
This type is used to define the interface for the design variables. These design are used to define the optimization problem. A given design can be initialized from the factory and is responsible for providing any alterations to the simulation based on the design variables.
Definition at line 52 of file design.f90.
procedure, pass(this) design::design_t::design_get_x | ( | class(design_t), intent(in) | this, |
type(vector_t), intent(inout) | x | ||
) |
Definition at line 130 of file design.f90.
procedure, pass(this) design::design_t::design_get_x_i | ( | class(design_t), intent(in) | this, |
integer, intent(in) | i | ||
) |
Definition at line 132 of file design.f90.
procedure, pass(this) design::design_t::design_get_y | ( | class(design_t), intent(in) | this, |
type(vector_t), intent(inout) | y | ||
) |
Definition at line 134 of file design.f90.
procedure, pass(this) design::design_t::design_get_y_i | ( | class(design_t), intent(in) | this, |
integer, intent(in) | i | ||
) |
Definition at line 136 of file design.f90.
procedure, pass(this) design::design_t::design_get_z | ( | class(design_t), intent(in) | this, |
type(vector_t), intent(inout) | z | ||
) |
Definition at line 138 of file design.f90.
procedure, pass(this) design::design_t::design_get_z_i | ( | class(design_t), intent(in) | this, |
integer, intent(in) | i | ||
) |
Definition at line 140 of file design.f90.
|
pure virtual |
Definition at line 90 of file design.f90.
procedure, pass(this) design::design_t::free_base | ( | class(design_t), intent(inout) | this | ) |
this | The design object. |
Definition at line 123 of file design.f90.
|
pure virtual |
Definition at line 93 of file design.f90.
generic design::design_t::get_x | ( | class(design_t), intent(in) | this, |
type(vector_t), intent(inout) | x | ||
) |
Definition at line 95 of file design.f90.
generic design::design_t::get_y | ( | class(design_t), intent(in) | this, |
type(vector_t), intent(inout) | y | ||
) |
Definition at line 98 of file design.f90.
generic design::design_t::get_z | ( | class(design_t), intent(in) | this, |
type(vector_t), intent(inout) | z | ||
) |
Definition at line 101 of file design.f90.
procedure, pass(this) design::design_t::init_base | ( | class(design_t), intent(inout) | this, |
character(len=*), intent(in) | name, | ||
integer, intent(in) | n | ||
) |
this | The design object. |
name | The name of the design. |
n | The number of design variables. |
Definition at line 121 of file design.f90.
procedure, pass(this) design::design_t::init_from_json | ( | class(design_t), intent(inout) | this, |
type(json_file), intent(inout) | parameters | ||
) |
This method is used to initialize the design from a JSON file. The design object will be initialized based on the parameters provided in the JSON file.
this | The design object. |
parameters | The JSON parameters. |
Definition at line 87 of file design.f90.
procedure, pass(this) design::design_t::init_from_json_sim | ( | class(design_t), intent(inout) | this, |
type(json_file), intent(inout) | parameters, | ||
type(simulation_t), intent(inout) | simulation | ||
) |
This method is used to initialize the design from a JSON file. The design object will be initialized based on the parameters provided in the JSON file. The simulation object is also provided to allow for any additional setup.
this | The design object. |
parameters | The JSON parameters. |
simulation | The simulation object. |
Definition at line 77 of file design.f90.
|
pure virtual |
Definition at line 112 of file design.f90.
|
pure virtual |
Definition at line 109 of file design.f90.
procedure, pass(this), public design::design_t::size | ( | class(design_t), intent(in) | this | ) |
this | The design object. |
Definition at line 125 of file design.f90.
procedure, pass(this), public design::design_t::size_global | ( | class(design_t), intent(in) | this | ) |
Definition at line 127 of file design.f90.
|
pure virtual |
Definition at line 105 of file design.f90.
|
pure virtual |
Definition at line 115 of file design.f90.
generic design::design_t::x | ( | class(design_t), intent(in) | this, |
integer, intent(in) | i | ||
) |
Definition at line 96 of file design.f90.
generic design::design_t::y | ( | class(design_t), intent(in) | this, |
integer, intent(in) | i | ||
) |
Definition at line 99 of file design.f90.
generic design::design_t::z | ( | class(design_t), intent(in) | this, |
integer, intent(in) | i | ||
) |
Definition at line 102 of file design.f90.
integer design::design_t::n = 0 |
Definition at line 58 of file design.f90.
integer design::design_t::n_global = 0 |
Definition at line 60 of file design.f90.