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(thisinit_from_json (this, parameters)
 Initialize the design from a JSON file.
 
procedure, pass(thisinit_from_components (this, n)
 Initialize the design from components.
 
procedure, pass(thisadd_mapping (this, parameters, simulation)
 Add mappings to the design.
 
procedure, pass(thisget_design (this)
 Retrieve the design variables.
 
procedure, pass(thisupdate_design (this, x)
 Update the design.
 
procedure, pass(thismap_forward (this)
 map (this will include everything from mapping
 
procedure, pass(thismap_backward (this, sensitivity)
 this will contain chain rule for going backwards
 
procedure, pass(thiswrite (this, idx)
 Write the design.
 
procedure, pass(thisfree (this)
 Destructor.
 
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_design), deferred, pass, public get_design (this)
 Retrieve the design variables.
 
procedure(design_update_design), deferred, pass, public update_design (this, x)
 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, 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.
 

Private Attributes

type(vector_t) x
 
integer n = 0
 The number of design variables.
 

Detailed Description

Definition at line 62 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 82 of file design_simple.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 80 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 100 of file design_simple.f90.

◆ free_base()

procedure, pass(this) design::design_t::free_base ( class(design_t), intent(inout this)
inherited

Definition at line 103 of file design.f90.

◆ get_design() [1/2]

procedure(design_get_design), deferred, pass, public design::design_t::get_design ( class(design_t), intent(in this)
pure virtualinherited

Definition at line 83 of file design.f90.

◆ get_design() [2/2]

procedure, pass(this) simple_design::simple_design_t::get_design ( class(simple_design_t), intent(in this)

Definition at line 85 of file design_simple.f90.

◆ init() [1/2]

generic, public simple_design::simple_design_t::init

Definition at line 73 of file design_simple.f90.

◆ init() [2/2]

generic, public simple_design::simple_design_t::init

Definition at line 73 of file design_simple.f90.

◆ init_base()

procedure, pass(this) design::design_t::init_base ( class(design_t), intent(inout this,
integer, intent(in n 
)
inherited

Definition at line 101 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,
integer, intent(in n 
)

Definition at line 78 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
parametersThe JSON parameters.

Definition at line 77 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 75 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
parametersThe JSON parameters.
simulationThe simulation object.

Definition at line 68 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 92 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 94 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 89 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 91 of file design_simple.f90.

◆ size()

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

Definition at line 105 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 x 
)
pure virtualinherited

Definition at line 85 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 x 
)

Definition at line 88 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 95 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 97 of file design_simple.f90.

Member Data Documentation

◆ n

integer design::design_t::n = 0
privateinherited

Definition at line 52 of file design.f90.

◆ x

type(vector_t) simple_design::simple_design_t::x
private

Definition at line 65 of file design_simple.f90.


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