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(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)
 
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.
 

Public Attributes

type(field_t), pointer brinkman_amplitude
 the mapped coefficient (Brinkman term)
 
type(field_t), pointer sensitivity
 
type(pde_filter_tfilter
 
type(ramp_mapping_tmapping
 
type(field_t), pointer filtered_design
 
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.
 

Private Attributes

type(field_t), pointer design_indicator
 the unfilitered design
 
type(fld_file_output_t), private output
 
integer n = 0
 The number of design variables.
 

Detailed Description

Definition at line 61 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 80 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 201 of file design_brinkman.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) brinkman_design::brinkman_design_t::get_design ( class(brinkman_design_t), intent(in this)

Definition at line 178 of file design_brinkman.f90.

◆ init() [1/2]

generic, public brinkman_design::brinkman_design_t::init

Definition at line 169 of file design_brinkman.f90.

◆ init() [2/2]

generic, public brinkman_design::brinkman_design_t::init

Definition at line 169 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

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

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

Definition at line 68 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 171 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 92 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 190 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 89 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 186 of file design_brinkman.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) brinkman_design::brinkman_design_t::update_design ( class(brinkman_design_t), intent(inout this,
type(vector_t), intent(inout x 
)

Definition at line 181 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 95 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 198 of file design_brinkman.f90.

Member Data Documentation

◆ brinkman_amplitude

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

Definition at line 78 of file design_brinkman.f90.

◆ design_indicator

type(field_t), pointer brinkman_design::brinkman_design_t::design_indicator
private

Definition at line 68 of file design_brinkman.f90.

◆ filter

type(pde_filter_t) brinkman_design::brinkman_design_t::filter

Definition at line 144 of file design_brinkman.f90.

◆ filtered_design

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

Definition at line 148 of file design_brinkman.f90.

◆ if_mask

logical brinkman_design::brinkman_design_t::if_mask

Definition at line 154 of file design_brinkman.f90.

◆ mapping

type(ramp_mapping_t) brinkman_design::brinkman_design_t::mapping

Definition at line 145 of file design_brinkman.f90.

◆ n

integer design::design_t::n = 0
privateinherited

Definition at line 52 of file design.f90.

◆ optimization_domain

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

Definition at line 152 of file design_brinkman.f90.

◆ output

type(fld_file_output_t), private brinkman_design::brinkman_design_t::output
private

Definition at line 161 of file design_brinkman.f90.

◆ sensitivity

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

Definition at line 110 of file design_brinkman.f90.


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