|
Neko-TOP
A portable framework for high-order spectral element flow toplogy optimization.
|
Smooth Heaviside mapping. More...


Public Member Functions | |
| procedure, pass(this) | init (this, json, coef) |
| Constructor from json. | |
| procedure, pass(this) | init_from_attributes (this, coef, beta, eta) |
| Constructor from attributes. | |
| procedure, pass(this) | free (this) |
| Destructor. | |
| procedure, pass(this) | forward_mapping (this, x_out, x_in) |
| Apply the forward mapping. | |
| procedure, pass(this) | backward_mapping (this, sens_out, sens_in, x_in) |
| Apply the chain-rule mapping. | |
| procedure, pass(this) | init_base (this, json, coef) |
| Constructor for the mapping_t class. | |
| procedure, pass(this) | free_base (this) |
| Destructor for the mapping_t (base) class. | |
| procedure, pass(this) | apply_forward (this, x_out, x_in) |
| Apply the forward mapping. | |
| procedure, pass(this) | apply_backward (this, sens_out, sens_in) |
| Apply the backward mapping (ie, chain rule) | |
| procedure(mapping_init), deferred, pass | init (this, json, coef) |
| The common constructor using a JSON dictionary. | |
| procedure(mapping_free), deferred, pass | free (this) |
| Destructor. | |
| procedure(mapping_forward_mapping), deferred, pass | forward_mapping (this, x_out, x_in) |
| forward mapping to be computed | |
| procedure(mapping_backward_mapping), deferred, pass | backward_mapping (this, sens_out, sens_in, x_in) |
| Backward mapping to be computed. | |
Public Attributes | |
| real(kind=rp) | beta |
| Projection sharpness parameter. | |
| real(kind=rp) | eta |
| Threshold parameter. | |
| type(coef_t), pointer | coef => null() |
| Coefficients for the SEM. | |
| type(field_t) | x_in |
| A copy of the unmapped field (often used for chain rule) | |
\[ X_\mathrm{out} = \frac{\tanh(\beta \eta) + \tanh(\beta (X_\mathrm{in} - \eta))} {\tanh(\beta \eta) + \tanh(\beta (1-\eta))} \]
with \(\beta > 0\) and \(\eta \in [0,1]\).
Definition at line 63 of file heaviside_mapping.f90.
|
inherited |
| this | The mapping object |
| sens_in | sensitivity wrt to the mapped field ( \(\frac{\partial F}{\partial \tilde{\rho}}\)) |
| sens_out | sensitivity wrt to the unmapped field ( \(\frac{\partial F}{\partial \rho}\)) |
Definition at line 60 of file mapping.f90.
|
inherited |
| this | The mapping object |
| X_out | The mapped field ( \(\tilde{\rho}\)) |
| X_in | The unmapped field ( \(\rho\)) |
Definition at line 58 of file mapping.f90.
| procedure, pass(this) heaviside_mapping::heaviside_mapping_t::backward_mapping | ( | class(heaviside_mapping_t), intent(inout) | this, |
| type(field_t), intent(inout) | sens_out, | ||
| type(field_t), intent(in) | sens_in, | ||
| type(field_t), intent(in) | x_in | ||
| ) |
Definition at line 80 of file heaviside_mapping.f90.
|
pure virtualinherited |
Definition at line 68 of file mapping.f90.
| procedure, pass(this) heaviside_mapping::heaviside_mapping_t::forward_mapping | ( | class(heaviside_mapping_t), intent(inout) | this, |
| type(field_t), intent(inout) | x_out, | ||
| type(field_t), intent(in) | x_in | ||
| ) |
Definition at line 78 of file heaviside_mapping.f90.
|
pure virtualinherited |
Definition at line 66 of file mapping.f90.
| procedure, pass(this) heaviside_mapping::heaviside_mapping_t::free | ( | class(heaviside_mapping_t), intent(inout) | this | ) |
Definition at line 76 of file heaviside_mapping.f90.
|
pure virtualinherited |
Definition at line 64 of file mapping.f90.
|
inherited |
Definition at line 56 of file mapping.f90.
| procedure, pass(this) heaviside_mapping::heaviside_mapping_t::init | ( | class(heaviside_mapping_t), intent(inout) | this, |
| type(json_file), intent(inout) | json, | ||
| type(coef_t), intent(inout) | coef | ||
| ) |
Definition at line 71 of file heaviside_mapping.f90.
|
pure virtualinherited |
Definition at line 62 of file mapping.f90.
|
inherited |
Definition at line 54 of file mapping.f90.
| procedure, pass(this) heaviside_mapping::heaviside_mapping_t::init_from_attributes | ( | class(heaviside_mapping_t), intent(inout) | this, |
| type(coef_t), intent(inout) | coef, | ||
| real(kind=rp), intent(in) | beta, | ||
| real(kind=rp), intent(in) | eta | ||
| ) |
Definition at line 73 of file heaviside_mapping.f90.
Definition at line 65 of file heaviside_mapping.f90.
Definition at line 48 of file mapping.f90.
Definition at line 67 of file heaviside_mapping.f90.
|
inherited |
Definition at line 50 of file mapping.f90.