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) |
Actual constructor. | |
procedure, pass(this) | free (this) |
Destructor. | |
procedure, pass(this) | apply_forward (this, x_out, x_in) |
Apply the forward mapping. | |
procedure, pass(this) | apply_backward (this, df_dx_in, df_dx_out, 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(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_apply), deferred, pass | apply_forward (this, x_out, x_in) |
Apply forward. | |
procedure(mapping_apply_backward), deferred, pass | apply_backward (this, df_dx_in, df_dx_out, x_in) |
Apply backwards (with chain rule) | |
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. | |
$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 77 of file RAMP_mapping.f90.
|
pure virtualinherited |
Definition at line 60 of file mapping.f90.
procedure, pass(this) ramp_mapping::ramp_mapping_t::apply_backward | ( | class(ramp_mapping_t), intent(inout) | this, |
type(field_t), intent(inout) | df_dx_in, | ||
type(field_t), intent(in) | df_dx_out, | ||
type(field_t), intent(in) | x_in | ||
) |
X_in | unmapped field |
dF_dX_in | is the sensitivity with respect to the unfiltered design |
dF_dX_out | is the sensitivity with respect to the filtered design |
Definition at line 99 of file RAMP_mapping.f90.
|
pure virtualinherited |
Definition at line 58 of file mapping.f90.
procedure, pass(this) ramp_mapping::ramp_mapping_t::apply_forward | ( | class(ramp_mapping_t), intent(inout) | this, |
type(field_t), intent(inout) | x_out, | ||
type(field_t), intent(in) | x_in | ||
) |
X_out | mapped field |
X_in | unmapped field |
Definition at line 97 of file RAMP_mapping.f90.
|
pure virtualinherited |
Definition at line 56 of file mapping.f90.
procedure, pass(this) ramp_mapping::ramp_mapping_t::free | ( | class(ramp_mapping_t), intent(inout) | this | ) |
Definition at line 95 of file RAMP_mapping.f90.
|
inherited |
Definition at line 52 of file mapping.f90.
|
pure virtualinherited |
Definition at line 54 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 90 of file RAMP_mapping.f90.
|
inherited |
Definition at line 50 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 | ||
) |
Definition at line 92 of file RAMP_mapping.f90.
Definition at line 46 of file mapping.f90.
logical ramp_mapping::ramp_mapping_t::convex_up |
Definition at line 86 of file RAMP_mapping.f90.
Definition at line 81 of file RAMP_mapping.f90.
Definition at line 79 of file RAMP_mapping.f90.
Definition at line 83 of file RAMP_mapping.f90.