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

An objective function implementing our augmented lagrangian sensitivity contribution. More...

Inheritance diagram for augmented_lagrangian_objective::augmented_lagrangian_objective_t:
Collaboration diagram for augmented_lagrangian_objective::augmented_lagrangian_objective_t:

Public Member Functions

procedure, pass(this), public init_json_sim (this, json, design, simulation)
 The common constructor using a JSON object.
 
procedure, pass(this), public init_from_attributes (this, design, simulation, weight, name, mask_name, dealias)
 The direct initializer from attributes.
 
procedure, pass(this), public free (this)
 Destructor.
 
procedure, pass(this), public update_value (this, design)
 Computes the value of the objective function.
 
procedure, pass(this), public update_sensitivity (this, design)
 Computes the sensitivity with respect to the coefficient \(\chi\).
 
procedure, pass(this) init_base (this, name, design_size, weight, mask_name)
 Initializer for the base class.
 
procedure, pass(this) free_base (this)
 Destructor of the base class.
 
procedure, pass(this) get_weight (this)
 Get the weight of the objective.
 
generic init (this, json, design)
 Constructor.
 
generic init (this, json, design, simulation)
 Constructor.
 
procedure, pass(this) init_json (this, json, design)
 Constructor.
 
procedure, pass(this) init_json_sim (this, json, design, simulation)
 Constructor.
 
procedure(functional_free), deferred, pass free (this)
 Destructor.
 
procedure(functional_update_value), deferred, pass update_value (this, design)
 Update the value of the function.
 
procedure(functional_update_sensitivity), deferred, pass update_sensitivity (this, design)
 Update the sensitivity of the function.
 
procedure, pass(this) get_value (this)
 Get the value of the function.
 
procedure, pass(this) get_sensitivity (this, sensitivity)
 Get the sensitivity of the function.
 

Public Attributes

type(field_t), pointer v => null()
 Pointer to the v field.
 
type(field_t), pointer w => null()
 Pointer to the w field.
 
type(field_t), pointer adjoint_u => null()
 Pointer to adjoint u field.
 
type(field_t), pointer adjoint_v => null()
 Pointer to adjoint v field.
 
type(field_t), pointer adjoint_w => null()
 Pointer to adjoint w field.
 
type(space_t), pointer xh_gll
 The original space used in the simulation.
 
type(coef_t), pointer c_xh_gll
 cfs of the original space in the simulation
 
type(space_t), pointer xh_gl
 The additional higher-order space used in dealiasing.
 
type(coef_t), pointer c_xh_gl
 cfs of the higher-order space
 
type(interpolator_t), pointer gll_to_gl
 Interpolator between the original and higher-order spaces.
 
logical dealias
 If dealiasing should be applied.
 
type(scratch_registry_t), pointer scratch_gl
 GL scratch registry.
 
real(kind=rp) weight = 1.0_rp
 
real(kind=rp) value
 Value of the base_functional.
 
type(vector_t) sensitivity
 Sensitivity field.
 
character(len=25) name
 Name of constraint/objective in the logfile.
 
logical has_mask
 containing a mask
 
class(point_zone_t), pointer mask => null()
 A mask for where the objective function is evaluated.
 

Detailed Description

Definition at line 55 of file augmented_lagrangian_objective.f90.

Member Function/Subroutine Documentation

◆ free() [1/2]

procedure(functional_free), deferred, pass base_functional::base_functional_t::free ( class(base_functional_t), intent(inout)  this)
pure virtualinherited

Definition at line 81 of file base_functional.f90.

◆ free() [2/2]

procedure, pass(this), public augmented_lagrangian_objective::augmented_lagrangian_objective_t::free ( class(augmented_lagrangian_objective_t), intent(inout)  this)

Definition at line 98 of file augmented_lagrangian_objective.f90.

◆ free_base()

procedure, pass(this) objective::objective_t::free_base ( class(objective_t), intent(inout), target  this)
inherited

Definition at line 59 of file objective.f90.

◆ get_sensitivity()

procedure, pass(this) base_functional::base_functional_t::get_sensitivity ( class(base_functional_t), intent(in)  this,
type(vector_t), intent(inout)  sensitivity 
)
inherited

Definition at line 92 of file base_functional.f90.

◆ get_value()

procedure, pass(this) base_functional::base_functional_t::get_value ( class(base_functional_t), intent(in)  this)
inherited

Definition at line 90 of file base_functional.f90.

◆ get_weight()

procedure, pass(this) objective::objective_t::get_weight ( class(objective_t), intent(in)  this)
inherited

Definition at line 61 of file objective.f90.

◆ init() [1/2]

generic base_functional::base_functional_t::init ( class(base_functional_t), intent(inout)  this,
type(json_file), intent(inout)  json,
class(design_t), intent(in)  design 
)
inherited

Definition at line 74 of file base_functional.f90.

◆ init() [2/2]

generic base_functional::base_functional_t::init ( class(base_functional_t), intent(inout)  this,
type(json_file), intent(inout)  json,
class(design_t), intent(in)  design,
type(simulation_t), intent(inout), target  simulation 
)
inherited

Definition at line 74 of file base_functional.f90.

◆ init_base()

procedure, pass(this) objective::objective_t::init_base ( class(objective_t), intent(inout)  this,
character(len=*), intent(in)  name,
integer, intent(in)  design_size,
real(kind=rp), intent(in)  weight,
character(len=*), intent(in), optional  mask_name 
)
inherited

Initialize the objective base class.

Parameters
thisThe objective.
nameThe name of the objective.
design_sizeThe number of design variables.
weightThe weight of the objective function.
mask_nameThe name design the mask. [optional]

Definition at line 57 of file objective.f90.

◆ init_from_attributes()

procedure, pass(this), public augmented_lagrangian_objective::augmented_lagrangian_objective_t::init_from_attributes ( class(augmented_lagrangian_objective_t), intent(inout)  this,
class(design_t), intent(in)  design,
type(simulation_t), intent(inout), target  simulation,
real(kind=rp), intent(in)  weight,
character(len=*), intent(in)  name,
character(len=*), intent(in)  mask_name,
logical, intent(in)  dealias 
)
Parameters
thisthe objective.
designthe design.
simulationthe simulation.
weightthe weight of the objective function.
namethe name of the objective.
mask_namethe name of the mask.
dealiasshould dealiasing be applied.

Definition at line 95 of file augmented_lagrangian_objective.f90.

◆ init_json()

procedure, pass(this) base_functional::base_functional_t::init_json ( class(base_functional_t), intent(inout)  this,
type(json_file), intent(inout)  json,
class(design_t), intent(in)  design 
)
inherited

Definition at line 77 of file base_functional.f90.

◆ init_json_sim() [1/2]

procedure, pass(this) base_functional::base_functional_t::init_json_sim ( class(base_functional_t), intent(inout)  this,
type(json_file), intent(inout)  json,
class(design_t), intent(in)  design,
type(simulation_t), intent(inout), target  simulation 
)
inherited

Definition at line 79 of file base_functional.f90.

◆ init_json_sim() [2/2]

procedure, pass(this), public augmented_lagrangian_objective::augmented_lagrangian_objective_t::init_json_sim ( class(augmented_lagrangian_objective_t), intent(inout)  this,
type(json_file), intent(inout)  json,
class(design_t), intent(in)  design,
type(simulation_t), intent(inout), target  simulation 
)
Parameters
thisthe objective.
jsonthe JSON object.
designthe design.
simulationthe simulation.

Definition at line 92 of file augmented_lagrangian_objective.f90.

◆ update_sensitivity() [1/2]

procedure(functional_update_sensitivity), deferred, pass base_functional::base_functional_t::update_sensitivity ( class(base_functional_t), intent(inout)  this,
class(design_t), intent(in)  design 
)
pure virtualinherited

Definition at line 86 of file base_functional.f90.

◆ update_sensitivity() [2/2]

procedure, pass(this), public augmented_lagrangian_objective::augmented_lagrangian_objective_t::update_sensitivity ( class(augmented_lagrangian_objective_t), intent(inout)  this,
class(design_t), intent(in)  design 
)
Parameters
thisthe objective.
designthe design.

Definition at line 103 of file augmented_lagrangian_objective.f90.

◆ update_value() [1/2]

procedure(functional_update_value), deferred, pass base_functional::base_functional_t::update_value ( class(base_functional_t), intent(inout)  this,
class(design_t), intent(in)  design 
)
pure virtualinherited

Definition at line 84 of file base_functional.f90.

◆ update_value() [2/2]

procedure, pass(this), public augmented_lagrangian_objective::augmented_lagrangian_objective_t::update_value ( class(augmented_lagrangian_objective_t), intent(inout)  this,
class(design_t), intent(in)  design 
)
Parameters
thisthe objective.
designthe design.

Definition at line 100 of file augmented_lagrangian_objective.f90.

Member Data Documentation

◆ adjoint_u

type(field_t), pointer augmented_lagrangian_objective::augmented_lagrangian_objective_t::adjoint_u => null()

Definition at line 66 of file augmented_lagrangian_objective.f90.

◆ adjoint_v

type(field_t), pointer augmented_lagrangian_objective::augmented_lagrangian_objective_t::adjoint_v => null()

Definition at line 68 of file augmented_lagrangian_objective.f90.

◆ adjoint_w

type(field_t), pointer augmented_lagrangian_objective::augmented_lagrangian_objective_t::adjoint_w => null()

Definition at line 70 of file augmented_lagrangian_objective.f90.

◆ c_xh_gl

type(coef_t), pointer augmented_lagrangian_objective::augmented_lagrangian_objective_t::c_xh_gl

Definition at line 82 of file augmented_lagrangian_objective.f90.

◆ c_xh_gll

type(coef_t), pointer augmented_lagrangian_objective::augmented_lagrangian_objective_t::c_xh_gll

Definition at line 76 of file augmented_lagrangian_objective.f90.

◆ dealias

logical augmented_lagrangian_objective::augmented_lagrangian_objective_t::dealias

Definition at line 86 of file augmented_lagrangian_objective.f90.

◆ gll_to_gl

type(interpolator_t), pointer augmented_lagrangian_objective::augmented_lagrangian_objective_t::gll_to_gl

Definition at line 84 of file augmented_lagrangian_objective.f90.

◆ has_mask

logical base_functional::base_functional_t::has_mask
inherited

Definition at line 65 of file base_functional.f90.

◆ mask

class(point_zone_t), pointer base_functional::base_functional_t::mask => null()
inherited

Definition at line 67 of file base_functional.f90.

◆ name

character(len=25) base_functional::base_functional_t::name
inherited

Definition at line 63 of file base_functional.f90.

◆ scratch_gl

type(scratch_registry_t), pointer augmented_lagrangian_objective::augmented_lagrangian_objective_t::scratch_gl

Definition at line 88 of file augmented_lagrangian_objective.f90.

◆ sensitivity

type(vector_t) base_functional::base_functional_t::sensitivity
inherited

Definition at line 61 of file base_functional.f90.

◆ v

type(field_t), pointer augmented_lagrangian_objective::augmented_lagrangian_objective_t::v => null()

Definition at line 61 of file augmented_lagrangian_objective.f90.

◆ value

real(kind=rp) base_functional::base_functional_t::value
inherited

Definition at line 59 of file base_functional.f90.

◆ w

type(field_t), pointer augmented_lagrangian_objective::augmented_lagrangian_objective_t::w => null()

Definition at line 63 of file augmented_lagrangian_objective.f90.

◆ weight

real(kind=rp) objective::objective_t::weight = 1.0_rp
inherited

Definition at line 52 of file objective.f90.

◆ xh_gl

type(space_t), pointer augmented_lagrangian_objective::augmented_lagrangian_objective_t::xh_gl

Definition at line 80 of file augmented_lagrangian_objective.f90.

◆ xh_gll

type(space_t), pointer augmented_lagrangian_objective::augmented_lagrangian_objective_t::xh_gll

Definition at line 74 of file augmented_lagrangian_objective.f90.


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