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

A topology optimization design variable. More...

Inheritance diagram for simple_design::simple_design_t:
Collaboration diagram for simple_design::simple_design_t:

Public Member Functions

generic, public init init_from_json
 Initialize the design.
 
generic, public init init_from_components
 Initialize the design.
 
procedure, pass(this) init_from_json (this, parameters)
 Initialize the design from a JSON file.
 
procedure, pass(this) init_from_components (this, name, n, x, y, z)
 Initialize the design from components.
 
procedure, pass(this) add_mapping (this, parameters, simulation)
 Add mappings to the design.
 
procedure, pass(this) get_values (this, values)
 Retrieve the design variables.
 
procedure, pass(this) design_get_x (this, x)
 Retrieve the x location of the design variables.
 
procedure, pass(this) design_get_y (this, y)
 Retrieve the y location of the design variables.
 
procedure, pass(this) design_get_z (this, z)
 Retrieve the z location of the design variables.
 
procedure, pass(this) update_design (this, values)
 Update the design.
 
procedure, pass(this) map_forward (this)
 map (this will include everything from mapping
 
procedure, pass(this) map_backward (this, sensitivity)
 this will contain chain rule for going backwards
 
procedure, pass(this) write (this, idx)
 Write the design.
 
procedure, pass(this) free (this)
 Destructor.
 
procedure, pass(this) init_from_json_sim (this, parameters, simulation)
 Initialize the design.
 
procedure, pass(this) init_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(this) init_base (this, name, n)
 Initialize the base design.
 
procedure, pass(this) free_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(this) design_get_x (this, x)
 Getter of x vector.
 
procedure, pass(this) design_get_x_i (this, i)
 Getter of i'th element of x.
 
procedure, pass(this) design_get_y (this, y)
 Getter of y vector.
 
procedure, pass(this) design_get_y_i (this, i)
 Getter of i'th element of y.
 
procedure, pass(this) design_get_z (this, z)
 Getter of z vector.
 
procedure, pass(this) design_get_z_i (this, i)
 Getter of i'th element of z.
 

Public Attributes

type(vector_t) x_coord
 
type(vector_t) y_coord
 
type(vector_t) z_coord
 
integer n = 0
 The number of design variables.
 
integer n_global = 0
 The global number of design variables.
 

Detailed Description

Definition at line 63 of file design_simple.f90.

Member Function/Subroutine Documentation

◆ add_mapping()

procedure, pass(this) simple_design::simple_design_t::add_mapping ( class(simple_design_t), intent(inout)  this,
type(json_file), intent(inout)  parameters,
type(simulation_t), intent(inout)  simulation 
)

Definition at line 86 of file design_simple.f90.

◆ design_get_x() [1/2]

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

Definition at line 130 of file design.f90.

◆ design_get_x() [2/2]

procedure, pass(this) simple_design::simple_design_t::design_get_x ( class(simple_design_t), intent(in)  this,
type(vector_t), intent(inout)  x 
)

Definition at line 91 of file design_simple.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 
)
inherited

Definition at line 132 of file design.f90.

◆ design_get_y() [1/2]

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

Definition at line 134 of file design.f90.

◆ design_get_y() [2/2]

procedure, pass(this) simple_design::simple_design_t::design_get_y ( class(simple_design_t), intent(in)  this,
type(vector_t), intent(inout)  y 
)

Definition at line 93 of file design_simple.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 
)
inherited

Definition at line 136 of file design.f90.

◆ design_get_z() [1/2]

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

Definition at line 138 of file design.f90.

◆ design_get_z() [2/2]

procedure, pass(this) simple_design::simple_design_t::design_get_z ( class(simple_design_t), intent(in)  this,
type(vector_t), intent(inout)  z 
)

Definition at line 95 of file design_simple.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 
)
inherited

Definition at line 140 of file design.f90.

◆ free() [1/2]

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

Definition at line 90 of file design.f90.

◆ free() [2/2]

procedure, pass(this) simple_design::simple_design_t::free ( class(simple_design_t), intent(inout)  this)

Definition at line 110 of file design_simple.f90.

◆ free_base()

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

Definition at line 123 of file design.f90.

◆ get_values() [1/2]

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 virtualinherited

Definition at line 93 of file design.f90.

◆ get_values() [2/2]

procedure, pass(this) simple_design::simple_design_t::get_values ( class(simple_design_t), intent(in)  this,
type(vector_t), intent(inout)  values 
)

Definition at line 89 of file design_simple.f90.

◆ get_x()

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

Definition at line 95 of file design.f90.

◆ get_y()

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

Definition at line 98 of file design.f90.

◆ get_z()

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

Definition at line 101 of file design.f90.

◆ init() [1/2]

generic, public simple_design::simple_design_t::init

Definition at line 77 of file design_simple.f90.

◆ init() [2/2]

generic, public simple_design::simple_design_t::init

Definition at line 77 of file design_simple.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 
)
inherited
Parameters
thisThe design object.
nameThe name of the design.
nThe number of design variables.

Definition at line 121 of file design.f90.

◆ init_from_components()

procedure, pass(this) simple_design::simple_design_t::init_from_components ( class(simple_design_t), intent(inout)  this,
character(len=*), intent(in)  name,
integer, intent(in)  n,
type(vector_t), intent(in)  x,
type(vector_t), intent(in)  y,
type(vector_t), intent(in)  z 
)

Definition at line 82 of file design_simple.f90.

◆ init_from_json() [1/2]

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

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 87 of file design.f90.

◆ init_from_json() [2/2]

procedure, pass(this) simple_design::simple_design_t::init_from_json ( class(simple_design_t), intent(inout)  this,
type(json_file), intent(inout)  parameters 
)

Definition at line 79 of file design_simple.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 
)
inherited

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 77 of file design.f90.

◆ map_backward() [1/2]

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 virtualinherited

Definition at line 112 of file design.f90.

◆ map_backward() [2/2]

procedure, pass(this) simple_design::simple_design_t::map_backward ( class(simple_design_t), intent(inout)  this,
type(vector_t), intent(in)  sensitivity 
)

Definition at line 104 of file design_simple.f90.

◆ map_forward() [1/2]

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

Definition at line 109 of file design.f90.

◆ map_forward() [2/2]

procedure, pass(this) simple_design::simple_design_t::map_forward ( class(simple_design_t), intent(inout)  this)

Definition at line 101 of file design_simple.f90.

◆ size()

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

Definition at line 125 of file design.f90.

◆ size_global()

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

Definition at line 127 of file design.f90.

◆ update_design() [1/2]

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 virtualinherited

Definition at line 105 of file design.f90.

◆ update_design() [2/2]

procedure, pass(this) simple_design::simple_design_t::update_design ( class(simple_design_t), intent(inout)  this,
type(vector_t), intent(inout)  values 
)

Definition at line 98 of file design_simple.f90.

◆ write() [1/2]

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

Definition at line 115 of file design.f90.

◆ write() [2/2]

procedure, pass(this) simple_design::simple_design_t::write ( class(simple_design_t), intent(inout)  this,
integer, intent(in)  idx 
)

Definition at line 107 of file design_simple.f90.

◆ x()

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

Definition at line 96 of file design.f90.

◆ y()

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

Definition at line 99 of file design.f90.

◆ z()

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

Definition at line 102 of file design.f90.

Member Data Documentation

◆ n

integer design::design_t::n = 0
inherited

Definition at line 58 of file design.f90.

◆ n_global

integer design::design_t::n_global = 0
inherited

Definition at line 60 of file design.f90.

◆ x_coord

type(vector_t) simple_design::simple_design_t::x_coord

Definition at line 67 of file design_simple.f90.

◆ y_coord

type(vector_t) simple_design::simple_design_t::y_coord

Definition at line 68 of file design_simple.f90.

◆ z_coord

type(vector_t) simple_design::simple_design_t::z_coord

Definition at line 69 of file design_simple.f90.


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