|
Neko-TOP
A portable framework for high-order spectral element flow toplogy optimization.
|
A RAMP mapping of coefficients This is the standard RAMP described in https://doi.org/10.1007/s001580100129. More...


Public Member Functions | |
| procedure, pass(this) | init (this, json, coef) |
| Constructor from json. | |
| procedure, pass(this) | init_from_attributes (this, coef, f_min, f_max, q, convex_up) |
| Actual constructor. | |
| 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 adjoint 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) | f_min |
| minimum value | |
| real(kind=rp) | f_max |
| maximum value | |
| real(kind=rp) | q |
| penalty parameter | |
| logical | convex_up |
| Convexity of the mapping (with lower being the standard RAMP and upper being that used by Borrvall & Peterson) | |
| 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) | |
\(f(x) = f_{min} + (f_{max} - f_{min}) \frac{x}{1 + q(1 - x)}\)
| . | . | . | .. | ... |_________
or a convex up equivelent used by Borrvall & Peterson https://doi.org/10.1002/fld.1964
\(f(x) = f_{min} + (f_{max} - f_{min}) x \frac{q + 1}{q + x}\)
It seems very similar to RAMP but with the convexity the other way
| ... | .. | . | . |. |_________
Definition at line 78 of file RAMP_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 59 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 57 of file mapping.f90.
|
pure virtualinherited |
Definition at line 67 of file mapping.f90.
| procedure, pass(this) ramp_mapping::ramp_mapping_t::backward_mapping | ( | class(ramp_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 | ||
| ) |
| this | mapping |
| sens_out | is the sensitivity with respect to the unfiltered design |
| sens_in | is the sensitivity with respect to the filtered design |
| X_in | unmapped field |
Definition at line 100 of file RAMP_mapping.f90.
|
pure virtualinherited |
Definition at line 65 of file mapping.f90.
| procedure, pass(this) ramp_mapping::ramp_mapping_t::forward_mapping | ( | class(ramp_mapping_t), intent(inout) | this, |
| type(field_t), intent(inout) | x_out, | ||
| type(field_t), intent(in) | x_in | ||
| ) |
| this | mapping |
| X_out | mapped field |
| X_in | unmapped field |
Definition at line 98 of file RAMP_mapping.f90.
|
pure virtualinherited |
Definition at line 63 of file mapping.f90.
| procedure, pass(this) ramp_mapping::ramp_mapping_t::free | ( | class(ramp_mapping_t), intent(inout) | this | ) |
Definition at line 96 of file RAMP_mapping.f90.
|
inherited |
Definition at line 55 of file mapping.f90.
|
pure virtualinherited |
Definition at line 61 of file mapping.f90.
| procedure, pass(this) ramp_mapping::ramp_mapping_t::init | ( | class(ramp_mapping_t), intent(inout) | this, |
| type(json_file), intent(inout) | json, | ||
| type(coef_t), intent(inout) | coef | ||
| ) |
Definition at line 91 of file RAMP_mapping.f90.
|
inherited |
Definition at line 53 of file mapping.f90.
| procedure, pass(this) ramp_mapping::ramp_mapping_t::init_from_attributes | ( | class(ramp_mapping_t), intent(inout) | this, |
| type(coef_t), intent(inout) | coef, | ||
| real(kind=rp), intent(in) | f_min, | ||
| real(kind=rp), intent(in) | f_max, | ||
| real(kind=rp), intent(in) | q, | ||
| logical, intent(in) | convex_up | ||
| ) |
Definition at line 93 of file RAMP_mapping.f90.
|
inherited |
Definition at line 47 of file mapping.f90.
| logical ramp_mapping::ramp_mapping_t::convex_up |
Definition at line 87 of file RAMP_mapping.f90.
| real(kind=rp) ramp_mapping::ramp_mapping_t::f_max |
Definition at line 82 of file RAMP_mapping.f90.
| real(kind=rp) ramp_mapping::ramp_mapping_t::f_min |
Definition at line 80 of file RAMP_mapping.f90.
| real(kind=rp) ramp_mapping::ramp_mapping_t::q |
Definition at line 84 of file RAMP_mapping.f90.
|
inherited |
Definition at line 49 of file mapping.f90.