Neko-TOP
A portable framework for high-order spectral element flow toplogy optimization.
Loading...
Searching...
No Matches
ramp_mapping::ramp_mapping_t Type Referenceabstract

A RAMP mapping of coefficients This is the standard RAMP described in https://doi.org/10.1007/s001580100129. More...

Inheritance diagram for ramp_mapping::ramp_mapping_t:
Collaboration diagram for ramp_mapping::ramp_mapping_t:

Public Member Functions

procedure, pass(thisinit (this, json, coef)
 Constructor from json.
 
procedure, pass(thisinit_from_attributes (this, coef)
 Actual constructor.
 
procedure, pass(thisfree (this)
 Destructor.
 
procedure, pass(thisapply_forward (this, x_out, x_in)
 Apply the forward mapping.
 
procedure, pass(thisapply_backward (this, df_dx_in, df_dx_out, x_in)
 Apply the adjoint mapping.
 
procedure, pass(thisinit_base (this, json, coef)
 Constructor for the mapping_t class.
 
procedure, pass(thisfree_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.
 

Detailed Description

$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.

Member Function/Subroutine Documentation

◆ apply_backward() [1/2]

procedure(mapping_apply_backward), deferred, pass mapping::mapping_t::apply_backward ( class(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 
)
pure virtualinherited

Definition at line 60 of file mapping.f90.

◆ apply_backward() [2/2]

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 
)
Parameters
X_inunmapped field
dF_dX_inis the sensitivity with respect to the unfiltered design
dF_dX_outis the sensitivity with respect to the filtered design

Definition at line 99 of file RAMP_mapping.f90.

◆ apply_forward() [1/2]

procedure(mapping_apply), deferred, pass mapping::mapping_t::apply_forward ( class(mapping_t), intent(inout this,
type(field_t), intent(inout x_out,
type(field_t), intent(in x_in 
)
pure virtualinherited

Definition at line 58 of file mapping.f90.

◆ apply_forward() [2/2]

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 
)
Parameters
X_outmapped field
X_inunmapped field

Definition at line 97 of file RAMP_mapping.f90.

◆ free() [1/2]

procedure(mapping_free), deferred, pass mapping::mapping_t::free ( class(mapping_t), intent(inout this)
pure virtualinherited

Definition at line 56 of file mapping.f90.

◆ free() [2/2]

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.

◆ free_base()

procedure, pass(this) mapping::mapping_t::free_base ( class(mapping_t), intent(inout this)
inherited

Definition at line 52 of file mapping.f90.

◆ init() [1/2]

procedure(mapping_init), deferred, pass mapping::mapping_t::init ( class(mapping_t), intent(inout this,
type(json_file), intent(inout json,
type(coef_t), intent(inout coef 
)
pure virtualinherited

Definition at line 54 of file mapping.f90.

◆ init() [2/2]

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.

◆ init_base()

procedure, pass(this) mapping::mapping_t::init_base ( class(mapping_t), intent(inout this,
type(json_file), intent(inout json,
type(coef_t), intent(inout), target  coef 
)
inherited

Definition at line 50 of file mapping.f90.

◆ init_from_attributes()

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.

Member Data Documentation

◆ coef

type(coef_t), pointer mapping::mapping_t::coef => null()
inherited

Definition at line 46 of file mapping.f90.

◆ convex_up

logical ramp_mapping::ramp_mapping_t::convex_up

Definition at line 86 of file RAMP_mapping.f90.

◆ f_max

real(kind=rp) ramp_mapping::ramp_mapping_t::f_max

Definition at line 81 of file RAMP_mapping.f90.

◆ f_min

real(kind=rp) ramp_mapping::ramp_mapping_t::f_min

Definition at line 79 of file RAMP_mapping.f90.

◆ q

real(kind=rp) ramp_mapping::ramp_mapping_t::q

Definition at line 83 of file RAMP_mapping.f90.


The documentation for this type was generated from the following file: