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

An abstract design type. More...

Inheritance diagram for design::design_t:

Public Member Functions

procedure, pass(thisinit_from_json_sim (this, parameters, simulation)
 Initialize the design.
 
procedure, pass(thisinit_from_json (this, parameters)
 Initialize the design.
 
procedure(design_free), deferred, pass, public free (this)
 Free the design.
 
procedure(design_get_values), deferred, pass, public get_values (this, values)
 Retrieve the design variables.
 
generic get_x (this, x)
 Retrieve the x location of the design variables.
 
generic x (this, i)
 Getter of i'th element of x.
 
generic get_y (this, y)
 Retrieve the y location of the design variables.
 
generic y (this, i)
 Getter of i'th element of y.
 
generic get_z (this, z)
 Retrieve the z location of the design variables.
 
generic z (this, i)
 Getter of i'th element of z.
 
procedure(design_update_design), deferred, pass, public update_design (this, values)
 Update the design variables.
 
procedure(design_map_forward), deferred, pass, public map_forward (this)
 Run the forward mapping of the design.
 
procedure(design_map_backward), deferred, pass, public map_backward (this, sensitivity)
 Run the backward mapping of the design.
 
procedure(design_write), deferred, pass, public write (this, idx)
 Write the design.
 
procedure, pass(thisinit_base (this, name, n)
 Initialize the base design.
 
procedure, pass(thisfree_base (this)
 Free the base design.
 
procedure, pass(this), public size (this)
 Return the number of design variables.
 
procedure, pass(this), public size_global (this)
 Return the number of global design variables.
 
procedure, pass(thisdesign_get_x (this, x)
 Getter of x vector.
 
procedure, pass(thisdesign_get_x_i (this, i)
 Getter of i'th element of x.
 
procedure, pass(thisdesign_get_y (this, y)
 Getter of y vector.
 
procedure, pass(thisdesign_get_y_i (this, i)
 Getter of i'th element of y.
 
procedure, pass(thisdesign_get_z (this, z)
 Getter of z vector.
 
procedure, pass(thisdesign_get_z_i (this, i)
 Getter of i'th element of z.
 

Public Attributes

integer n = 0
 The number of design variables.
 
integer n_global = 0
 The global number of design variables.
 

Detailed Description

This type is used to define the interface for the design variables. These design are used to define the optimization problem. A given design can be initialized from the factory and is responsible for providing any alterations to the simulation based on the design variables.

Definition at line 54 of file design.f90.

Member Function/Subroutine Documentation

◆ design_get_x()

procedure, pass(this) design::design_t::design_get_x ( class(design_t), intent(in this,
type(vector_t), intent(inout x 
)

Definition at line 132 of file design.f90.

◆ design_get_x_i()

procedure, pass(this) design::design_t::design_get_x_i ( class(design_t), intent(in this,
integer, intent(in i 
)

Definition at line 134 of file design.f90.

◆ design_get_y()

procedure, pass(this) design::design_t::design_get_y ( class(design_t), intent(in this,
type(vector_t), intent(inout y 
)

Definition at line 136 of file design.f90.

◆ design_get_y_i()

procedure, pass(this) design::design_t::design_get_y_i ( class(design_t), intent(in this,
integer, intent(in i 
)

Definition at line 138 of file design.f90.

◆ design_get_z()

procedure, pass(this) design::design_t::design_get_z ( class(design_t), intent(in this,
type(vector_t), intent(inout z 
)

Definition at line 140 of file design.f90.

◆ design_get_z_i()

procedure, pass(this) design::design_t::design_get_z_i ( class(design_t), intent(in this,
integer, intent(in i 
)

Definition at line 142 of file design.f90.

◆ free()

procedure(design_free), deferred, pass, public design::design_t::free ( class(design_t), intent(inout this)
pure virtual

Definition at line 92 of file design.f90.

◆ free_base()

procedure, pass(this) design::design_t::free_base ( class(design_t), intent(inout this)
Parameters
thisThe design object.

Definition at line 125 of file design.f90.

◆ get_values()

procedure(design_get_values), deferred, pass, public design::design_t::get_values ( class(design_t), intent(in this,
type(vector_t), intent(inout values 
)
pure virtual

Definition at line 95 of file design.f90.

◆ get_x()

generic design::design_t::get_x ( class(design_t), intent(in this,
type(vector_t), intent(inout x 
)

Definition at line 97 of file design.f90.

◆ get_y()

generic design::design_t::get_y ( class(design_t), intent(in this,
type(vector_t), intent(inout y 
)

Definition at line 100 of file design.f90.

◆ get_z()

generic design::design_t::get_z ( class(design_t), intent(in this,
type(vector_t), intent(inout z 
)

Definition at line 103 of file design.f90.

◆ init_base()

procedure, pass(this) design::design_t::init_base ( class(design_t), intent(inout this,
character(len=*), intent(in name,
integer, intent(in n 
)
Parameters
thisThe design object.
nameThe name of the design.
nThe number of design variables.

Definition at line 123 of file design.f90.

◆ init_from_json()

procedure, pass(this) design::design_t::init_from_json ( class(design_t), intent(inout this,
type(json_file), intent(inout parameters 
)

This method is used to initialize the design from a JSON file. The design object will be initialized based on the parameters provided in the JSON file.

Parameters
thisThe design object.
parametersThe JSON parameters.

Definition at line 89 of file design.f90.

◆ init_from_json_sim()

procedure, pass(this) design::design_t::init_from_json_sim ( class(design_t), intent(inout this,
type(json_file), intent(inout parameters,
type(simulation_t), intent(inout simulation 
)

This method is used to initialize the design from a JSON file. The design object will be initialized based on the parameters provided in the JSON file. The simulation object is also provided to allow for any additional setup.

Parameters
thisThe design object.
parametersThe JSON parameters.
simulationThe simulation object.

Definition at line 79 of file design.f90.

◆ map_backward()

procedure(design_map_backward), deferred, pass, public design::design_t::map_backward ( class(design_t), intent(inout this,
type(vector_t), intent(in sensitivity 
)
pure virtual

Definition at line 114 of file design.f90.

◆ map_forward()

procedure(design_map_forward), deferred, pass, public design::design_t::map_forward ( class(design_t), intent(inout this)
pure virtual

Definition at line 111 of file design.f90.

◆ size()

procedure, pass(this), public design::design_t::size ( class(design_t), intent(in this)
Parameters
thisThe design object.
Returns
The number of design variables.

Definition at line 127 of file design.f90.

◆ size_global()

procedure, pass(this), public design::design_t::size_global ( class(design_t), intent(in this)

Definition at line 129 of file design.f90.

◆ update_design()

procedure(design_update_design), deferred, pass, public design::design_t::update_design ( class(design_t), intent(inout this,
type(vector_t), intent(inout values 
)
pure virtual

Definition at line 107 of file design.f90.

◆ write()

procedure(design_write), deferred, pass, public design::design_t::write ( class(design_t), intent(inout this,
integer, intent(in idx 
)
pure virtual

Definition at line 117 of file design.f90.

◆ x()

generic design::design_t::x ( class(design_t), intent(in this,
integer, intent(in i 
)

Definition at line 98 of file design.f90.

◆ y()

generic design::design_t::y ( class(design_t), intent(in this,
integer, intent(in i 
)

Definition at line 101 of file design.f90.

◆ z()

generic design::design_t::z ( class(design_t), intent(in this,
integer, intent(in i 
)

Definition at line 104 of file design.f90.

Member Data Documentation

◆ n

integer design::design_t::n = 0

Definition at line 60 of file design.f90.

◆ n_global

integer design::design_t::n_global = 0

Definition at line 62 of file design.f90.


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