|
Neko-TOP
A portable framework for high-order spectral element flow toplogy optimization.
|
A topology optimization design variable. More...


Public Member Functions | |
| generic, public | init init_from_json |
| Initialize the design. | |
| generic, public | init init_from_components |
| Initialize the design. | |
| procedure, pass(this) | init_from_json (this, parameters) |
| Initialize the design from a JSON file. | |
| procedure, pass(this) | init_from_components (this, name, n, x, y, z) |
| Initialize the design from components. | |
| procedure, pass(this) | add_mapping (this, parameters, simulation) |
| Add mappings to the design. | |
| procedure, pass(this) | get_values (this, values) |
| Retrieve the design variables. | |
| procedure, pass(this) | design_get_x (this, x) |
| Retrieve the x location of the design variables. | |
| procedure, pass(this) | design_get_y (this, y) |
| Retrieve the y location of the design variables. | |
| procedure, pass(this) | design_get_z (this, z) |
| Retrieve the z location of the design variables. | |
| procedure, pass(this) | update_design (this, values) |
| Update the design. | |
| procedure, pass(this) | map_forward (this) |
| map (this will include everything from mapping | |
| procedure, pass(this) | map_backward (this, sensitivity) |
| this will contain chain rule for going backwards | |
| procedure, pass(this) | write (this, idx) |
| Write the design. | |
| procedure, pass(this) | free (this) |
| Destructor. | |
| 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 | |
| type(vector_t) | x_coord |
| type(vector_t) | y_coord |
| type(vector_t) | z_coord |
| integer | n = 0 |
| The number of design variables. | |
| integer | n_global = 0 |
| The global number of design variables. | |
Definition at line 63 of file design_simple.f90.
| procedure, pass(this) simple_design::simple_design_t::add_mapping | ( | class(simple_design_t), intent(inout) | this, |
| type(json_file), intent(inout) | parameters, | ||
| type(simulation_t), intent(inout) | simulation | ||
| ) |
Definition at line 86 of file design_simple.f90.
|
inherited |
Definition at line 130 of file design.f90.
| procedure, pass(this) simple_design::simple_design_t::design_get_x | ( | class(simple_design_t), intent(in) | this, |
| type(vector_t), intent(inout) | x | ||
| ) |
Definition at line 91 of file design_simple.f90.
|
inherited |
Definition at line 132 of file design.f90.
|
inherited |
Definition at line 134 of file design.f90.
| procedure, pass(this) simple_design::simple_design_t::design_get_y | ( | class(simple_design_t), intent(in) | this, |
| type(vector_t), intent(inout) | y | ||
| ) |
Definition at line 93 of file design_simple.f90.
|
inherited |
Definition at line 136 of file design.f90.
|
inherited |
Definition at line 138 of file design.f90.
| procedure, pass(this) simple_design::simple_design_t::design_get_z | ( | class(simple_design_t), intent(in) | this, |
| type(vector_t), intent(inout) | z | ||
| ) |
Definition at line 95 of file design_simple.f90.
|
inherited |
Definition at line 140 of file design.f90.
|
pure virtualinherited |
Definition at line 90 of file design.f90.
| procedure, pass(this) simple_design::simple_design_t::free | ( | class(simple_design_t), intent(inout) | this | ) |
Definition at line 110 of file design_simple.f90.
|
inherited |
| this | The design object. |
Definition at line 123 of file design.f90.
|
pure virtualinherited |
Definition at line 93 of file design.f90.
| procedure, pass(this) simple_design::simple_design_t::get_values | ( | class(simple_design_t), intent(in) | this, |
| type(vector_t), intent(inout) | values | ||
| ) |
Definition at line 89 of file design_simple.f90.
|
inherited |
Definition at line 95 of file design.f90.
|
inherited |
Definition at line 98 of file design.f90.
|
inherited |
Definition at line 101 of file design.f90.
| generic, public simple_design::simple_design_t::init |
Definition at line 77 of file design_simple.f90.
| generic, public simple_design::simple_design_t::init |
Definition at line 77 of file design_simple.f90.
|
inherited |
| 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) simple_design::simple_design_t::init_from_components | ( | class(simple_design_t), intent(inout) | this, |
| character(len=*), intent(in) | name, | ||
| integer, intent(in) | n, | ||
| type(vector_t), intent(in) | x, | ||
| type(vector_t), intent(in) | y, | ||
| type(vector_t), intent(in) | z | ||
| ) |
Definition at line 82 of file design_simple.f90.
|
inherited |
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) simple_design::simple_design_t::init_from_json | ( | class(simple_design_t), intent(inout) | this, |
| type(json_file), intent(inout) | parameters | ||
| ) |
Definition at line 79 of file design_simple.f90.
|
inherited |
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 virtualinherited |
Definition at line 112 of file design.f90.
| procedure, pass(this) simple_design::simple_design_t::map_backward | ( | class(simple_design_t), intent(inout) | this, |
| type(vector_t), intent(in) | sensitivity | ||
| ) |
Definition at line 104 of file design_simple.f90.
|
pure virtualinherited |
Definition at line 109 of file design.f90.
| procedure, pass(this) simple_design::simple_design_t::map_forward | ( | class(simple_design_t), intent(inout) | this | ) |
Definition at line 101 of file design_simple.f90.
|
inherited |
| this | The design object. |
Definition at line 125 of file design.f90.
|
inherited |
Definition at line 127 of file design.f90.
|
pure virtualinherited |
Definition at line 105 of file design.f90.
| procedure, pass(this) simple_design::simple_design_t::update_design | ( | class(simple_design_t), intent(inout) | this, |
| type(vector_t), intent(inout) | values | ||
| ) |
Definition at line 98 of file design_simple.f90.
|
pure virtualinherited |
Definition at line 115 of file design.f90.
| procedure, pass(this) simple_design::simple_design_t::write | ( | class(simple_design_t), intent(inout) | this, |
| integer, intent(in) | idx | ||
| ) |
Definition at line 107 of file design_simple.f90.
|
inherited |
Definition at line 96 of file design.f90.
|
inherited |
Definition at line 99 of file design.f90.
|
inherited |
Definition at line 102 of file design.f90.
|
inherited |
Definition at line 58 of file design.f90.
|
inherited |
Definition at line 60 of file design.f90.
| type(vector_t) simple_design::simple_design_t::x_coord |
Definition at line 67 of file design_simple.f90.
| type(vector_t) simple_design::simple_design_t::y_coord |
Definition at line 68 of file design_simple.f90.
| type(vector_t) simple_design::simple_design_t::z_coord |
Definition at line 69 of file design_simple.f90.