Neko-TOP
A portable framework for high-order spectral element flow toplogy optimization.
|
A constraint on the volume of the design. More...
Public Member Functions | |
procedure, pass(this), public | init_json (this, json, design, simulation) |
The common constructor using a JSON object. | |
procedure, pass(this), public | init_from_attributes (this, design, simulation, name, mask_name, is_max, limit) |
The direct initializer from attributes. | |
procedure, pass(this), public | free (this) |
Destructor. | |
procedure, pass(this), public | update_value (this, design) |
Computes the source term and adds the result to fields . | |
procedure, pass(this), public | update_sensitivity (this, design) |
Computes the source term and adds the result to fields . | |
procedure, pass(this) | init_base (this, name, design_size, mask_name) |
Initializer for the base class. | |
procedure, pass(this) | free_base (this) |
Destructor of the base class. | |
procedure(functional_init), deferred, pass | init_json (this, json, design, simulation) |
Constructor. | |
procedure(functional_free), deferred, pass | free (this) |
Destructor. | |
procedure(functional_update_value), deferred, pass | update_value (this, design) |
Update the value of the function. | |
procedure(functional_update_sensitivity), deferred, pass | update_sensitivity (this, design) |
Update the sensitivity of the function. | |
Public Attributes | |
real(kind=rp) | limit |
Maximum (or minimum) volume. | |
real(kind=rp) | volume_domain |
Volume of the optimization domain. | |
class(coef_t), pointer | c_xh => null() |
Pointer to the SEM field. | |
real(kind=rp) | value |
Value of the base_functional. | |
type(vector_t) | sensitivity |
Sensitivity field. | |
character(len=25) | name |
Name of constraint/objective in the logfile. | |
logical | has_mask |
containing a mask | |
class(point_zone_t), pointer | mask => null() |
A mask for where the objective function is evaluated. | |
Private Member Functions | |
procedure, pass(this), private | compute_volume (this, design) |
Computes the volume of the brinkman_design. | |
Private Attributes | |
logical | is_max |
whether it is minimum or maximum volume is_max = .false., ie V > V_min => -V + V_max < 0 is_max = .true. , ie V < V_max => V - V_max < 0 | |
Definition at line 63 of file volume_constraint.f90.
|
private |
Automatically select which design type, or throw an error.
design | the design. |
Definition at line 94 of file volume_constraint.f90.
|
pure virtualinherited |
Definition at line 75 of file base_functional.f90.
procedure, pass(this), public volume_constraint::volume_constraint_t::free | ( | class(volume_constraint_t), intent(inout) | this | ) |
Definition at line 85 of file volume_constraint.f90.
|
inherited |
Definition at line 57 of file constraint.f90.
|
inherited |
Initialize the constraint base class.
design_size | The number of design variables. |
weight | The weight of the constraint function. |
[optional] | mask_name The name design the mask. |
Definition at line 55 of file constraint.f90.
procedure, pass(this), public volume_constraint::volume_constraint_t::init_from_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 | ||
) |
design | the design. |
simulation | the simulation. |
mask_name | the name of the mask. |
is_max | whether it is a maximum volume constraint. |
limit | The volume limit value. |
Definition at line 82 of file volume_constraint.f90.
|
pure virtualinherited |
Definition at line 73 of file base_functional.f90.
procedure, pass(this), public volume_constraint::volume_constraint_t::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 | ||
) |
json | the JSON object. |
design | the design. |
simulation | the simulation. |
Definition at line 80 of file volume_constraint.f90.
|
pure virtualinherited |
Definition at line 80 of file base_functional.f90.
procedure, pass(this), public volume_constraint::volume_constraint_t::update_sensitivity | ( | class(volume_constraint_t), intent(inout) | this, |
class(design_t), intent(in) | design | ||
) |
design | the design |
fluid | the fluid scheme |
adjoint | the adjoint scheme |
Definition at line 90 of file volume_constraint.f90.
|
pure virtualinherited |
Definition at line 78 of file base_functional.f90.
procedure, pass(this), public volume_constraint::volume_constraint_t::update_value | ( | class(volume_constraint_t), intent(inout) | this, |
class(design_t), intent(in) | design | ||
) |
design | the design |
fluid | the fluid scheme |
Definition at line 87 of file volume_constraint.f90.
Definition at line 76 of file volume_constraint.f90.
|
inherited |
Definition at line 63 of file base_functional.f90.
|
private |
Definition at line 69 of file volume_constraint.f90.
Definition at line 71 of file volume_constraint.f90.
Definition at line 65 of file base_functional.f90.
Definition at line 61 of file base_functional.f90.
|
inherited |
Definition at line 59 of file base_functional.f90.
Definition at line 57 of file base_functional.f90.
Definition at line 73 of file volume_constraint.f90.