Neko-TOP
A portable framework for high-order spectral element flow toplogy optimization.
Loading...
Searching...
No Matches
volume_constraint Module Reference

Implements the volume_constraint_t type.

Data Types

type  volume_constraint_t
 A constraint on the volume of the design. More...
 

Functions/Subroutines

subroutine volume_constraint_init_json (this, json, design, simulation)
 The common constructor using a JSON object.
 
subroutine volume_constraint_init_attributes (this, design, simulation, name, mask_name, is_max, limit)
 The direct initializer from attributes.
 
subroutine volume_constraint_free (this)
 Destructor.
 
subroutine volume_constraint_update_value (this, design)
 The computation of the constraint.
 
subroutine volume_constraint_update_sensitivity (this, design)
 The computation of the sensitivity.
 
real(kind=rp) function compute_volume (this, design)
 Computes the volume of the design.
 
real(kind=rp) function volume_brinkman_design (this, design)
 Computes the volume of the brinkman_design.
 

Function/Subroutine Documentation

◆ compute_volume()

real(kind=rp) function volume_constraint::compute_volume ( class(volume_constraint_t), intent(inout this,
class(design_t), intent(in design 
)
private

Automatically select which design type, or throw an error.

Parameters
designthe design.

Definition at line 245 of file volume_constraint.f90.

Here is the call graph for this function:

◆ volume_brinkman_design()

real(kind=rp) function volume_constraint::volume_brinkman_design ( class(volume_constraint_t), intent(inout this,
type(brinkman_design_t), intent(in design 
)
private
Parameters
designthe design.

Definition at line 263 of file volume_constraint.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ volume_constraint_free()

subroutine volume_constraint::volume_constraint_free ( class(volume_constraint_t), intent(inout this)
private

Definition at line 200 of file volume_constraint.f90.

◆ volume_constraint_init_attributes()

subroutine volume_constraint::volume_constraint_init_attributes ( class(volume_constraint_t), intent(inout this,
class(design_t), intent(in design,
type(simulation_t), intent(inout), target  simulation,
character(len=*), intent(in name,
character(len=*), intent(in mask_name,
logical, intent(in is_max,
real(kind=rp), intent(in limit 
)
private
Parameters
designthe design.
simulationthe simulation.
mask_namethe name of the mask.
is_maxwhether it is a maximum volume constraint.
limitThe volume limit value.

Definition at line 130 of file volume_constraint.f90.

Here is the call graph for this function:

◆ volume_constraint_init_json()

subroutine volume_constraint::volume_constraint_init_json ( class(volume_constraint_t), intent(inout this,
type(json_file), intent(inout json,
class(design_t), intent(in design,
type(simulation_t), intent(inout), target  simulation 
)
Parameters
jsonthe JSON object.
designthe design.
simulationthe simulation.

Definition at line 104 of file volume_constraint.f90.

◆ volume_constraint_update_sensitivity()

subroutine volume_constraint::volume_constraint_update_sensitivity ( class(volume_constraint_t), intent(inout this,
class(design_t), intent(in design 
)
private
Parameters
designthe design
fluidthe fluid scheme
adjointthe adjoint scheme

Definition at line 228 of file volume_constraint.f90.

◆ volume_constraint_update_value()

subroutine volume_constraint::volume_constraint_update_value ( class(volume_constraint_t), intent(inout this,
class(design_t), intent(in design 
)
private
Parameters
designthe design
fluidthe fluid scheme

Definition at line 209 of file volume_constraint.f90.