| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | n_coefs | ||||
| real(kind=wp), | public, | ALLOCATABLE | :: | coefs(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(c_rProfile), | intent(in) | :: | sf | |||
| real(kind=wp), | intent(in) | :: | rho2 | |||
| integer, | intent(in), | optional | :: | deriv |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(c_rProfile), | intent(in) | :: | sf |
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).
TYPE, ABSTRACT :: c_rProfile INTEGER :: n_coefs REAL(wp), ALLOCATABLE :: coefs(:) contains PROCEDURE(i_fun_eval_at_rho2), DEFERRED :: eval_at_rho2 PROCEDURE(i_fun_antiderivative), DEFERRED :: antiderivative PROCEDURE :: eval_at_rho => rProfile_eval_at_rho ! hard coded derivatives with respect to rho=sqrt(phi/phi_edge) PROCEDURE :: rProfile_drho2 PROCEDURE :: rProfile_drho3 PROCEDURE :: rProfile_drho4 end type c_rProfile