|
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_sim (this, json, design, simulation) |
| The common constructor using a JSON object. | |
| procedure, pass(this), public | init_from_components (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. | |
| generic | init (this, json, design) |
| Constructor interface. | |
| generic | init (this, json, design, simulation) |
| Constructor interface. | |
| procedure, pass(this) | init_json (this, json, design) |
| Constructor based on json input. | |
| procedure, pass(this) | init_json_sim (this, json, design, simulation) |
| Constructor based on json input and simulation. | |
| 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. | |
| procedure, pass(this) | get_value (this) |
| Get the value of the function. | |
| procedure, pass(this) | get_sensitivity (this, sensitivity) |
| Get the sensitivity of the function. | |
| procedure, pass(this) | reset_value (this) |
| Set the value to zero. | |
| procedure, pass(this) | reset_sensitivity (this) |
| Set the sensitivity to zero. | |
| procedure, pass(this) | accumulate_value (this, design, dt) |
| Accumulate the value. | |
| procedure, pass(this) | accumulate_sensitivity (this, design, dt) |
| Accumulate the sensitivity. | |
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. | |
| type(mapping_handler_t) | mapping |
| Mapping cascade. | |
| logical | if_mapping = .false. |
| if mapping is needed | |
| real(kind=rp) | value = 0.0_rp |
| Value of the base_functional. | |
| real(kind=rp) | value_old = 0.0_rp |
| Old value for time integration. | |
| type(vector_t) | sensitivity |
| Sensitivity field. | |
| type(vector_t) | sensitivity_old |
| Old sensitivity field for time integration. | |
| character(len=25) | name = "" |
| Name of constraint/objective in the logfile. | |
| logical | has_mask = .false. |
| containing a mask | |
| class(point_zone_t), pointer | mask => null() |
| A mask for where the objective function is evaluated. | |
Definition at line 67 of file volume_constraint.f90.
|
inherited |
Definition at line 108 of file base_functional.f90.
|
inherited |
Definition at line 106 of file base_functional.f90.
|
pure virtualinherited |
Definition at line 89 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 94 of file volume_constraint.f90.
|
inherited |
Definition at line 57 of file constraint.f90.
|
inherited |
Definition at line 100 of file base_functional.f90.
|
inherited |
Definition at line 98 of file base_functional.f90.
|
inherited |
Definition at line 82 of file base_functional.f90.
|
inherited |
Definition at line 82 of file base_functional.f90.
|
inherited |
| this | The constraint object. |
| name | The name of the constraint. |
| design_size | The number of design variables. |
| mask_name | The name design the mask. [optional] |
Definition at line 55 of file constraint.f90.
| procedure, pass(this), public volume_constraint::volume_constraint_t::init_from_components | ( | 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 | ||
| ) |
| this | the constraint. |
| design | the design. |
| simulation | the simulation. |
| name | the name of the constraint. |
| mask_name | the name of the mask. |
| is_max | whether it is a maximum volume constraint. |
| limit | The volume limit value. |
Definition at line 91 of file volume_constraint.f90.
|
inherited |
Definition at line 85 of file base_functional.f90.
|
inherited |
Definition at line 87 of file base_functional.f90.
| procedure, pass(this), public volume_constraint::volume_constraint_t::init_json_sim | ( | 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 | ||
| ) |
| this | the constraint. |
| json | the JSON object. |
| design | the design. |
| simulation | the simulation. |
Definition at line 88 of file volume_constraint.f90.
|
inherited |
Definition at line 104 of file base_functional.f90.
|
inherited |
Definition at line 102 of file base_functional.f90.
|
pure virtualinherited |
Definition at line 94 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 | ||
| ) |
| this | the constraint |
| design | the design |
Definition at line 99 of file volume_constraint.f90.
|
pure virtualinherited |
Definition at line 92 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 | ||
| ) |
| this | the constraint |
| design | the design |
Definition at line 96 of file volume_constraint.f90.
Definition at line 79 of file volume_constraint.f90.
|
inherited |
Definition at line 72 of file base_functional.f90.
| logical volume_constraint::volume_constraint_t::if_mapping = .false. |
Definition at line 83 of file volume_constraint.f90.
Definition at line 75 of file volume_constraint.f90.
| type(mapping_handler_t) volume_constraint::volume_constraint_t::mapping |
Definition at line 81 of file volume_constraint.f90.
Definition at line 74 of file base_functional.f90.
Definition at line 70 of file base_functional.f90.
|
inherited |
Definition at line 66 of file base_functional.f90.
|
inherited |
Definition at line 68 of file base_functional.f90.
Definition at line 62 of file base_functional.f90.
Definition at line 64 of file base_functional.f90.
Definition at line 77 of file volume_constraint.f90.