| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | n_coefs | ||||
| real(kind=wp), | public, | ALLOCATABLE | :: | coefs(:) | |||
| integer, | public | :: | deg | = | 0 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real, | intent(in) | :: | coefs(:) |
B-Spline coefficients |
finalize the type rProfile
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(t_rProfile_poly), | intent(inout) | :: | sf |
self |
evaluate the n-th derivative of a radial profile with respect to rho ~sqrt(magnetic flux). NOTE: n has to be in [0,4] due to an explicit implementation of the product rule.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(c_rProfile) | :: | sf |
self |
|||
| real(kind=wp), | intent(in) | :: | rho |
rho position rho ~sqrt(magnetic flux) |
||
| integer, | intent(in), | optional | :: | deriv |
derivative in rho |
n-th derivative of a radial profile with respect to rho ~sqrt(magnetic flux).
evaluate the 2nd derivative of a radial profile with respect to rho ~sqrt(magnetic flux).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(c_rProfile) | :: | sf |
self |
|||
| real(kind=wp), | intent(in) | :: | rho |
rho position rho ~sqrt(magnetic flux) |
2nd derivative of a radial profile with respect to rho ~sqrt(magnetic flux).
evaluate the 3rd derivative of a radial profile with respect to rho ~sqrt(magnetic flux).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(c_rProfile) | :: | sf |
self |
|||
| real(kind=wp), | intent(in) | :: | rho |
rho position rho ~sqrt(magnetic flux) |
3rd derivative of a radial profile with respect to rho ~sqrt(magnetic flux)
evaluate the 4th derivative of a radial profile with respect to rho ~sqrt(magnetic flux)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(c_rProfile) | :: | sf |
self |
|||
| real(kind=wp), | intent(in) | :: | rho |
rho position rho ~sqrt(magnetic flux) |
4th derivative of a radial profile with respect to rho ~sqrt(magnetic flux).
evaluate the n-th derivative of a power polynomial
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(t_rProfile_poly), | intent(in) | :: | sf |
self |
||
| real(kind=wp), | intent(in) | :: | rho2 |
evaluation point in the toroidal flux coordinate (rho2=phi/phi_edge= spos^2) |
||
| integer, | intent(in), | optional | :: | deriv |
get the exact polynomial antiderivative, with respect to rho2
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(t_rProfile_poly), | intent(in) | :: | sf |
self |
TYPE, EXTENDS(c_rProfile) :: t_rProfile_poly !INTEGER :: n_coefs !! number of polynomial coefficients, part of abstract type INTEGER :: deg = 0 !REAL(wp), ALLOCATABLE :: coefs(:) !! polynomial coefficients, part of abstract type CONTAINS PROCEDURE :: eval_at_rho2 => polyProfile_eval_at_rho2 PROCEDURE :: antiderivative => polyProfile_antiderivative FINAL :: polyProfile_free END TYPE t_rProfile_poly