Neko-TOP
A portable framework for high-order spectral element flow toplogy optimization.
Loading...
Searching...
No Matches
mapping_handler::mapping_handler_t Type Reference

Abstract class for handling mapping_cascade. More...

Collaboration diagram for mapping_handler::mapping_handler_t:

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.
 

Detailed Description

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.

Member Function/Subroutine Documentation

◆ add() [1/2]

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.

◆ add() [2/2]

generic mapping_handler::mapping_handler_t::add ( class(mapping_handler_t), intent(inout)  this,
class(mapping_t), intent(in)  mapping 
)
Parameters
thisThe handler object
mappingThe mapping to be added.

Definition at line 81 of file mapping_handler.f90.

◆ add_json_mappings()

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.

◆ add_mapping()

procedure, pass(this) mapping_handler::mapping_handler_t::add_mapping ( class(mapping_handler_t), intent(inout)  this,
class(mapping_t), intent(in)  mapping 
)
Parameters
thisThe handler object
mappingThe mapping to be added.

Definition at line 83 of file mapping_handler.f90.

◆ apply_backward()

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 
)
Parameters
thisThe handler object
sens_outThe sensitivity after applying the chain rule ( \(\frac{\partial F}{\partial \rho}\))
sens_inThe sensitivity before applying the chain rule ( \(\frac{\partial F}{\partial \tilde{\rho}}\))

Definition at line 79 of file mapping_handler.f90.

◆ apply_forward()

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 
)
Parameters
thisThe handler object
X_outThe mapped field ( \(\tilde{\rho}\))
X_inThe unmapped field ( \(\rho\))

Definition at line 76 of file mapping_handler.f90.

◆ free()

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.

◆ init_base()

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.

Member Data Documentation

◆ coef

type(coef_t), pointer mapping_handler::mapping_handler_t::coef

Definition at line 68 of file mapping_handler.f90.

◆ mapping_cascade

class(mapping_wrapper_t), dimension(:), allocatable mapping_handler::mapping_handler_t::mapping_cascade
Note
the order really matter's here since they'll be executed in sequence.

Definition at line 64 of file mapping_handler.f90.

◆ rhs_fields

type(field_list_t) mapping_handler::mapping_handler_t::rhs_fields

Definition at line 66 of file mapping_handler.f90.


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