|
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_sim |
| Initialize the design. | |
| generic, public | init init_from_components |
| Initialize the design. | |
| procedure, pass, public | init_from_json_sim (this, parameters, simulation) |
| Initialize the design from a JSON file. | |
| procedure, pass, public | init_from_components (this, name, simulation, dealias) |
| Initialize the design from components. | |
| procedure, pass(this) | get_values (this, values) |
| Retrieve the design variables. | |
| procedure, pass(this) | get_sensitivity (this, values) |
| Retrieve the sensitivity. | |
| procedure, pass(this) | design_get_x (this, x) |
| Retrieve the x location of the design variables. | |
| procedure, pass(this) | design_get_x_i (this, i) |
| Retrieve the x location of the i'th design variable. | |
| procedure, pass(this) | design_get_y (this, y) |
| Retrieve the y location of the design variables. | |
| procedure, pass(this) | design_get_y_i (this, i) |
| Retrieve the y location of the i'th design variable. | |
| procedure, pass(this) | design_get_z (this, z) |
| Retrieve the z location of the design variables. | |
| procedure, pass(this) | design_get_z_i (this, i) |
| Retrieve the z location of the i'th design variable. | |
| 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) | convert_to_directional_derivative (this, vec_in) |
| Project a gradient field onto all GLL points, recovering a vector of directional derivatives. | |
| procedure, pass(this) | project_sensitivity_vector (this, sensitivity) |
| Project a vector sensitivity before optimization. | |
| procedure, pass(this) | project_sensitivity_matrix (this, sensitivity) |
| Project a matrix sensitivity before optimization. | |
| generic, public | project_sensitivity project_sensitivity_vector |
| generic, public | project_sensitivity project_sensitivity_matrix |
| procedure, pass(this) | write (this, idx) |
| procedure, pass(this) | set_output_counter (this, idx) |
| Reset output counters after a restart. | |
| 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), public | save_checkpoint (this, filename, overwrite) |
| Save the design to a checkpoint file. | |
| procedure, pass(this), public | load_checkpoint (this, filename) |
| Load the design from a checkpoint file. | |
| procedure, pass(this), public | set_output_counter (this, idx) |
| Set the design output counter. | |
| 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 | get_name (this) |
| Get the name of the 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(field_t), pointer | brinkman_amplitude |
| the mapped coefficient (Brinkman term) | |
| type(field_t), pointer | sensitivity |
| type(mapping_handler_t) | mapping |
| A mapper to map the design into coefficients in the PDE. | |
| class(point_zone_t), pointer | optimization_domain |
| A mask indicating the optimization domain. | |
| logical | has_mask |
| A logical if we're restricting the optimization domain. | |
| class(coef_t), pointer | coef |
| SEM coefficients. | |
| real(kind=rp) | avg_b |
| Average mass matrix. | |
| integer | n = 0 |
| The number of design variables. | |
| integer | n_global = 0 |
| The global number of design variables. | |
Definition at line 67 of file design_brinkman.f90.
| procedure, pass(this) brinkman_design::brinkman_design_t::convert_to_directional_derivative | ( | class(brinkman_design_t), intent(in) | this, |
| type(vector_t), intent(inout) | vec_in | ||
| ) |
Definition at line 229 of file design_brinkman.f90.
|
inherited |
Definition at line 141 of file design.f90.
| procedure, pass(this) brinkman_design::brinkman_design_t::design_get_x | ( | class(brinkman_design_t), intent(in) | this, |
| type(vector_t), intent(inout) | x | ||
| ) |
Definition at line 204 of file design_brinkman.f90.
|
inherited |
Definition at line 143 of file design.f90.
| procedure, pass(this) brinkman_design::brinkman_design_t::design_get_x_i | ( | class(brinkman_design_t), intent(in) | this, |
| integer, intent(in) | i | ||
| ) |
Definition at line 206 of file design_brinkman.f90.
|
inherited |
Definition at line 145 of file design.f90.
| procedure, pass(this) brinkman_design::brinkman_design_t::design_get_y | ( | class(brinkman_design_t), intent(in) | this, |
| type(vector_t), intent(inout) | y | ||
| ) |
Definition at line 208 of file design_brinkman.f90.
|
inherited |
Definition at line 147 of file design.f90.
| procedure, pass(this) brinkman_design::brinkman_design_t::design_get_y_i | ( | class(brinkman_design_t), intent(in) | this, |
| integer, intent(in) | i | ||
| ) |
Definition at line 210 of file design_brinkman.f90.
|
inherited |
Definition at line 149 of file design.f90.
| procedure, pass(this) brinkman_design::brinkman_design_t::design_get_z | ( | class(brinkman_design_t), intent(in) | this, |
| type(vector_t), intent(inout) | z | ||
| ) |
Definition at line 212 of file design_brinkman.f90.
|
inherited |
Definition at line 151 of file design.f90.
| procedure, pass(this) brinkman_design::brinkman_design_t::design_get_z_i | ( | class(brinkman_design_t), intent(in) | this, |
| integer, intent(in) | i | ||
| ) |
Definition at line 214 of file design_brinkman.f90.
|
pure virtualinherited |
Definition at line 91 of file design.f90.
| procedure, pass(this) brinkman_design::brinkman_design_t::free | ( | class(brinkman_design_t), intent(inout) | this | ) |
Definition at line 252 of file design_brinkman.f90.
| this | The design object. |
Definition at line 131 of file design.f90.
|
inherited |
| this | The design object. |
Definition at line 134 of file design.f90.
| procedure, pass(this) brinkman_design::brinkman_design_t::get_sensitivity | ( | class(brinkman_design_t), intent(in) | this, |
| type(vector_t), intent(inout) | values | ||
| ) |
Definition at line 201 of file design_brinkman.f90.
|
pure virtualinherited |
Definition at line 94 of file design.f90.
| procedure, pass(this) brinkman_design::brinkman_design_t::get_values | ( | class(brinkman_design_t), intent(in) | this, |
| type(vector_t), intent(inout) | values | ||
| ) |
Definition at line 199 of file design_brinkman.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.
Definition at line 190 of file design_brinkman.f90.
Definition at line 190 of file design_brinkman.f90.
|
inherited |
| this | The design object. |
| name | The name of the design. |
| n | The number of design variables. |
Definition at line 129 of file design.f90.
| procedure, pass, public brinkman_design::brinkman_design_t::init_from_components | ( | class(brinkman_design_t), intent(inout) | this, |
| character(len=*), intent(in) | name, | ||
| type(simulation_t), intent(inout) | simulation, | ||
| logical, intent(in) | dealias | ||
| ) |
Definition at line 195 of file design_brinkman.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 88 of file design.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 78 of file design.f90.
| procedure, pass, public brinkman_design::brinkman_design_t::init_from_json_sim | ( | class(brinkman_design_t), intent(inout) | this, |
| type(json_file), intent(inout) | parameters, | ||
| type(simulation_t), intent(inout) | simulation | ||
| ) |
Definition at line 192 of file design_brinkman.f90.
|
inherited |
| this | The design object. |
| filename | The filename to load the checkpoint from. |
Definition at line 121 of file design.f90.
|
pure virtualinherited |
Definition at line 113 of file design.f90.
| procedure, pass(this) brinkman_design::brinkman_design_t::map_backward | ( | class(brinkman_design_t), intent(inout) | this, |
| type(vector_t), intent(in) | sensitivity | ||
| ) |
Definition at line 226 of file design_brinkman.f90.
|
pure virtualinherited |
Definition at line 110 of file design.f90.
| procedure, pass(this) brinkman_design::brinkman_design_t::map_forward | ( | class(brinkman_design_t), intent(inout) | this | ) |
Definition at line 222 of file design_brinkman.f90.
Definition at line 237 of file design_brinkman.f90.
Definition at line 237 of file design_brinkman.f90.
| procedure, pass(this) brinkman_design::brinkman_design_t::project_sensitivity_matrix | ( | class(brinkman_design_t), intent(inout) | this, |
| type(matrix_t), intent(inout) | sensitivity | ||
| ) |
Definition at line 235 of file design_brinkman.f90.
| procedure, pass(this) brinkman_design::brinkman_design_t::project_sensitivity_vector | ( | class(brinkman_design_t), intent(inout) | this, |
| type(vector_t), intent(inout) | sensitivity | ||
| ) |
Definition at line 232 of file design_brinkman.f90.
|
inherited |
| this | The design object. |
| filename | The filename to save the checkpoint to. |
| overwrite | Whether to overwrite the file if it exists. |
Definition at line 119 of file design.f90.
|
inherited |
Definition at line 123 of file design.f90.
| procedure, pass(this) brinkman_design::brinkman_design_t::set_output_counter | ( | class(brinkman_design_t), intent(inout) | this, |
| integer, intent(in) | idx | ||
| ) |
Definition at line 248 of file design_brinkman.f90.
| this | The design object. |
Definition at line 136 of file design.f90.
|
inherited |
Definition at line 138 of file design.f90.
|
pure virtualinherited |
Definition at line 106 of file design.f90.
| procedure, pass(this) brinkman_design::brinkman_design_t::update_design | ( | class(brinkman_design_t), intent(inout) | this, |
| type(vector_t), intent(inout) | values | ||
| ) |
Definition at line 217 of file design_brinkman.f90.
|
pure virtualinherited |
Definition at line 116 of file design.f90.
| procedure, pass(this) brinkman_design::brinkman_design_t::write | ( | class(brinkman_design_t), intent(inout) | this, |
| integer, intent(in) | idx | ||
| ) |
Definition at line 246 of file design_brinkman.f90.
Definition at line 97 of file design.f90.
Definition at line 100 of file design.f90.
Definition at line 103 of file design.f90.
Definition at line 178 of file design_brinkman.f90.
Definition at line 84 of file design_brinkman.f90.
Definition at line 176 of file design_brinkman.f90.
| logical brinkman_design::brinkman_design_t::has_mask |
Definition at line 174 of file design_brinkman.f90.
| type(mapping_handler_t) brinkman_design::brinkman_design_t::mapping |
Definition at line 169 of file design_brinkman.f90.
|
inherited |
Definition at line 59 of file design.f90.
|
inherited |
Definition at line 61 of file design.f90.
Definition at line 172 of file design_brinkman.f90.
Definition at line 116 of file design_brinkman.f90.