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

A topology optimization design variable. More...

Inheritance diagram for brinkman_design::brinkman_design_t:
Collaboration diagram for brinkman_design::brinkman_design_t:

Public Member Functions

generic, public init init_from_json_sim
 Initialize the design.
 
generic, public init init_from_components
 Initialize the design.
 
procedure, pass, public init_from_json_sim (this, parameters, simulation)
 Initialize the design from a JSON file.
 
procedure, pass, public init_from_components (this, simulation)
 Initialize the design from components.
 
procedure, pass(this) get_values (this)
 Retrieve the design variables.
 
procedure, pass(this) get_x (this)
 Retrieve the x location of the design variables.
 
procedure, pass(this) get_y (this)
 Retrieve the y location of the design variables.
 
procedure, pass(this) get_z (this)
 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)
 
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)
 Retrieve the design variables.
 
procedure, pass(this), public get_x (this)
 Retrieve the x location of the design variables.
 
procedure, pass(this), public get_y (this)
 Retrieve the y location of the design variables.
 
procedure, pass(this), public get_z (this)
 Retrieve the z location of the design variables.
 
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, 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.
 

Public Attributes

type(field_t), pointer brinkman_amplitude
 the mapped coefficient (Brinkman term)
 
type(field_t), pointer sensitivity
 
type(mapping_handler_tmapping
 A mapper to map the design into coefficients in the PDE.
 
class(point_zone_t), pointer optimization_domain
 A mask indicating the optimization domain.
 
logical if_mask
 A logical if we're restricting the optimization domain.
 
integer n_global = 0
 The global number of design variables.
 

Detailed Description

Definition at line 65 of file design_brinkman.f90.

Member Function/Subroutine Documentation

◆ free() [1/2]

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

Definition at line 86 of file design.f90.

◆ free() [2/2]

procedure, pass(this) brinkman_design::brinkman_design_t::free ( class(brinkman_design_t), intent(inout)  this)

Definition at line 226 of file design_brinkman.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 116 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)
pure virtualinherited

Definition at line 89 of file design.f90.

◆ get_values() [2/2]

procedure, pass(this) brinkman_design::brinkman_design_t::get_values ( class(brinkman_design_t), intent(in)  this)

Definition at line 196 of file design_brinkman.f90.

◆ get_x() [1/2]

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

Definition at line 91 of file design.f90.

◆ get_x() [2/2]

procedure, pass(this) brinkman_design::brinkman_design_t::get_x ( class(brinkman_design_t), intent(in)  this)

Definition at line 199 of file design_brinkman.f90.

◆ get_y() [1/2]

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

Definition at line 93 of file design.f90.

◆ get_y() [2/2]

procedure, pass(this) brinkman_design::brinkman_design_t::get_y ( class(brinkman_design_t), intent(in)  this)

Definition at line 201 of file design_brinkman.f90.

◆ get_z() [1/2]

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

Definition at line 95 of file design.f90.

◆ get_z() [2/2]

procedure, pass(this) brinkman_design::brinkman_design_t::get_z ( class(brinkman_design_t), intent(in)  this)

Definition at line 203 of file design_brinkman.f90.

◆ init() [1/2]

generic, public brinkman_design::brinkman_design_t::init

Definition at line 187 of file design_brinkman.f90.

◆ init() [2/2]

generic, public brinkman_design::brinkman_design_t::init

Definition at line 187 of file design_brinkman.f90.

◆ init_base()

procedure, pass(this) design::design_t::init_base ( class(design_t), intent(inout)  this,
integer, intent(in)  n 
)
inherited
Parameters
thisThe design object.
nThe number of design variables.

Definition at line 114 of file design.f90.

◆ init_from_components()

procedure, pass, public brinkman_design::brinkman_design_t::init_from_components ( class(brinkman_design_t), intent(inout)  this,
type(simulation_t), intent(inout)  simulation 
)

Definition at line 192 of file design_brinkman.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 
)
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 83 of file design.f90.

◆ init_from_json_sim() [1/2]

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

◆ init_from_json_sim() [2/2]

procedure, pass, public brinkman_design::brinkman_design_t::init_from_json_sim ( class(brinkman_design_t), intent(inout)  this,
type(json_file), intent(inout)  parameters,
type(simulation_t), intent(inout)  simulation 
)

Definition at line 189 of file design_brinkman.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 105 of file design.f90.

◆ map_backward() [2/2]

procedure, pass(this) brinkman_design::brinkman_design_t::map_backward ( class(brinkman_design_t), intent(inout)  this,
type(vector_t), intent(in)  sensitivity 
)

Definition at line 215 of file design_brinkman.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 102 of file design.f90.

◆ map_forward() [2/2]

procedure, pass(this) brinkman_design::brinkman_design_t::map_forward ( class(brinkman_design_t), intent(inout)  this)

Definition at line 211 of file design_brinkman.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 118 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 120 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 98 of file design.f90.

◆ update_design() [2/2]

procedure, pass(this) brinkman_design::brinkman_design_t::update_design ( class(brinkman_design_t), intent(inout)  this,
type(vector_t), intent(inout)  values 
)

Definition at line 206 of file design_brinkman.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 108 of file design.f90.

◆ write() [2/2]

procedure, pass(this) brinkman_design::brinkman_design_t::write ( class(brinkman_design_t), intent(inout)  this,
integer, intent(in)  idx 
)

Definition at line 223 of file design_brinkman.f90.

Member Data Documentation

◆ brinkman_amplitude

type(field_t), pointer brinkman_design::brinkman_design_t::brinkman_amplitude

Definition at line 82 of file design_brinkman.f90.

◆ if_mask

logical brinkman_design::brinkman_design_t::if_mask

Definition at line 172 of file design_brinkman.f90.

◆ mapping

type(mapping_handler_t) brinkman_design::brinkman_design_t::mapping
Todo:
It is currently assumed to be the Brinkman amplitude in the fluid equations. Mapping to multiple coeficients is currently not supported, ie, CHT.

Definition at line 167 of file design_brinkman.f90.

◆ n_global

integer design::design_t::n_global = 0
inherited

Definition at line 56 of file design.f90.

◆ optimization_domain

class(point_zone_t), pointer brinkman_design::brinkman_design_t::optimization_domain

Definition at line 170 of file design_brinkman.f90.

◆ sensitivity

type(field_t), pointer brinkman_design::brinkman_design_t::sensitivity

Definition at line 114 of file design_brinkman.f90.


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