Neko-TOP
A portable framework for high-order spectral element flow toplogy optimization.
|
The base functional type. More...
Public Member Functions | |
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) | 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. | |
This is the base class for objectives and constraints alike. A base functional should be able to evaluate itself and its sensitivity with respect to the design variables.
The base functional is also responsible for managing the adjoint forcing terms that are required for the adjoint problem, any source terms simulation components that are required to evaluate the base functional. All of which should be prepared in the init
method.
Definition at line 54 of file base_functional.f90.
|
pure virtual |
Definition at line 75 of file base_functional.f90.
|
pure virtual |
Definition at line 73 of file base_functional.f90.
|
pure virtual |
Definition at line 80 of file base_functional.f90.
|
pure virtual |
Definition at line 78 of file base_functional.f90.
logical base_functional::base_functional_t::has_mask |
Definition at line 63 of file base_functional.f90.
Definition at line 65 of file base_functional.f90.
Definition at line 61 of file base_functional.f90.
type(vector_t) base_functional::base_functional_t::sensitivity |
Definition at line 59 of file base_functional.f90.
Definition at line 57 of file base_functional.f90.