| 
    Neko-TOP
    
   A portable framework for high-order spectral element flow toplogy optimization. 
   | 
 
Abstract class for handling mapping_cascade. More...

Public Member Functions | |
| procedure, pass(this) | init_base (this, coef) | 
| Constructor.   | |
| procedure, pass(this) | free (this) | 
| Destructor.   | |
| procedure, pass(this) | apply_forward (this, x_out, x_in) | 
| Cycle through all the mapping_cascade and return the final field.   | |
| procedure, pass(this) | apply_backward (this, sens_out, sens_in) | 
| Cycle backwards through all the mapping_cascade and return the sensitivity.   | |
| generic | add (this, mapping) | 
| Generic interface to add a mapping to the list.   | |
| generic | add (this, json, name) | 
| Generic interface to add a mapping to the list.   | |
| procedure, pass(this) | add_mapping (this, mapping) | 
| Append a new mapping to the mapping_cascade array.   | |
| procedure, pass(this) | add_json_mappings (this, json, name) | 
| Read from the json file and initialize the mapping_cascade.   | |
Public Attributes | |
| class(mapping_wrapper_t), dimension(:), allocatable | mapping_cascade | 
| Array of mapping_cascade.   | |
| type(field_list_t) | rhs_fields | 
| The right-hand side.   | |
| type(coef_t), pointer | coef | 
| The coefficients of the (space, mesh) pair.   | |
This class is responsible for managing the mapping_cascade in a sequential manor. It is also responsible for using the chain rule to propogate sensitivity backwards throughout the system.
Definition at line 60 of file mapping_handler.f90.
| generic mapping_handler::mapping_handler_t::add | ( | class(mapping_handler_t), intent(inout) | this, | 
| type(json_file), intent(inout) | json, | ||
| character(len=*), intent(in) | name | ||
| ) | 
Definition at line 81 of file mapping_handler.f90.
| generic mapping_handler::mapping_handler_t::add | ( | class(mapping_handler_t), intent(inout) | this, | 
| class(mapping_t), intent(in) | mapping | ||
| ) | 
| this | The handler object | 
| mapping | The mapping to be added. | 
Definition at line 81 of file mapping_handler.f90.
| procedure, pass(this) mapping_handler::mapping_handler_t::add_json_mappings | ( | class(mapping_handler_t), intent(inout) | this, | 
| type(json_file), intent(inout) | json, | ||
| character(len=*), intent(in) | name | ||
| ) | 
Definition at line 86 of file mapping_handler.f90.
| procedure, pass(this) mapping_handler::mapping_handler_t::add_mapping | ( | class(mapping_handler_t), intent(inout) | this, | 
| class(mapping_t), intent(in) | mapping | ||
| ) | 
| this | The handler object | 
| mapping | The mapping to be added. | 
Definition at line 83 of file mapping_handler.f90.
| procedure, pass(this) mapping_handler::mapping_handler_t::apply_backward | ( | class(mapping_handler_t), intent(inout) | this, | 
| type(field_t), intent(inout) | sens_out, | ||
| type(field_t), intent(in) | sens_in | ||
| ) | 
| this | The handler object | 
| sens_out | The sensitivity after applying the chain rule ( \(\frac{\partial F}{\partial \rho}\)) | 
| sens_in | The sensitivity before applying the chain rule ( \(\frac{\partial F}{\partial \tilde{\rho}}\)) | 
Definition at line 79 of file mapping_handler.f90.
| procedure, pass(this) mapping_handler::mapping_handler_t::apply_forward | ( | class(mapping_handler_t), intent(inout) | this, | 
| type(field_t), intent(inout) | x_out, | ||
| type(field_t), intent(in) | x_in | ||
| ) | 
| this | The handler object | 
| X_out | The mapped field ( \(\tilde{\rho}\)) | 
| X_in | The unmapped field ( \(\rho\)) | 
Definition at line 76 of file mapping_handler.f90.
| procedure, pass(this) mapping_handler::mapping_handler_t::free | ( | class(mapping_handler_t), intent(inout) | this | ) | 
Definition at line 74 of file mapping_handler.f90.
| procedure, pass(this) mapping_handler::mapping_handler_t::init_base | ( | class(mapping_handler_t), intent(inout) | this, | 
| type(coef_t), intent(in), target | coef | ||
| ) | 
Definition at line 72 of file mapping_handler.f90.
| type(coef_t), pointer mapping_handler::mapping_handler_t::coef | 
Definition at line 68 of file mapping_handler.f90.
| class(mapping_wrapper_t), dimension(:), allocatable mapping_handler::mapping_handler_t::mapping_cascade | 
Definition at line 64 of file mapping_handler.f90.
| type(field_list_t) mapping_handler::mapping_handler_t::rhs_fields | 
Definition at line 66 of file mapping_handler.f90.