Neko-TOP
A portable framework for high-order spectral element flow toplogy optimization.
|
Public Member Functions | |
generic, public | init init_from_json |
Interface for initializing the MMA object. | |
generic, public | init init_from_components |
Interface for initializing the MMA object. | |
procedure, pass(this), public | init_from_json (this, x, n, m, json, scale, auto_scale) |
CPU update function, runs one iteration of MMA. | |
procedure, pass(this), public | init_from_components (this, x, n, m, a0, a, c, d, xmin, xmax, max_iter, epsimin, asyinit, asyincr, asydecr, bcknd) |
Initialize the mma object based on the attributes from the json file. | |
procedure, pass(this), public | free (this) |
Deallocate mma object. | |
procedure, pass(this), public | get_n (this) |
Get the number of design variables (nloc) | |
procedure, pass(this), public | get_m (this) |
Get the number of constriants. | |
procedure, pass(this), public | get_residumax (this) |
Get L^{inf} norm (Max Norm) of the KKT conditions. | |
procedure, pass(this), public | get_residunorm (this) |
Get L^{2} norm (Euclidean Norm) of the KKT conditions. | |
procedure, pass(this), public | get_max_iter (this) |
Get the maximum number of iterations for the mma_subsolve inner loop. | |
procedure, pass(this), public | kkt (this, x, df0dx, fval, dfdx) |
Call the KKT ckeck function based on the backend. | |
procedure, pass(this), public | update (this, iter, x, df0dx, fval, dfdx) |
Call the update function based on the backend. | |
Public Attributes | |
integer | m |
integer | max_iter |
real(kind=rp) | a0 |
real(kind=rp) | f0val |
real(kind=rp) | asyinit |
real(kind=rp) | asyincr |
real(kind=rp) | asydecr |
real(kind=rp) | epsimin |
real(kind=rp) | residumax |
real(kind=rp) | residunorm |
type(vector_t) | xold1 |
type(vector_t) | xold2 |
type(vector_t) | low |
type(vector_t) | upp |
type(vector_t) | alpha |
type(vector_t) | beta |
type(vector_t) | a |
type(vector_t) | c |
type(vector_t) | d |
type(vector_t) | xmax |
type(vector_t) | xmin |
logical | is_initialized = .false. |
logical | is_updated = .false. |
character(len=:), allocatable | bcknd |
type(vector_t) | p0j |
type(vector_t) | q0j |
type(matrix_t) | pij |
type(matrix_t) | qij |
type(vector_t) | bi |
real(kind=rp) | z |
real(kind=rp) | zeta |
type(vector_t) | y |
type(vector_t) | lambda |
type(vector_t) | s |
type(vector_t) | mu |
type(vector_t) | xsi |
type(vector_t) | eta |
Private Attributes | |
integer | n |
procedure, pass(this), public mma::mma_t::init_from_components | ( | class(mma_t), intent(inout) | this, |
real(kind=rp), dimension(n), intent(in) | x, | ||
integer, intent(in) | n, | ||
integer, intent(in) | m, | ||
real(kind=rp), intent(in) | a0, | ||
real(kind=rp), dimension(m), intent(in) | a, | ||
real(kind=rp), dimension(m), intent(in) | c, | ||
real(kind=rp), dimension(m), intent(in) | d, | ||
real(kind=rp), dimension(n), intent(in) | xmin, | ||
real(kind=rp), dimension(n), intent(in) | xmax, | ||
integer, intent(in), optional | max_iter, | ||
real(kind=rp), intent(in), optional | epsimin, | ||
real(kind=rp), intent(in), optional | asyinit, | ||
real(kind=rp), intent(in), optional | asyincr, | ||
real(kind=rp), intent(in), optional | asydecr, | ||
character(len=:), intent(in), allocatable | bcknd | ||
) |
character(len=:), allocatable mma::mma_t::bcknd |