| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | n | ||||
| real(kind=dp), | public, | dimension(:), allocatable | :: | phi | |||
| real(kind=dp), | public, | dimension(:), allocatable | :: | B | |||
| real(kind=dp), | public, | dimension(:), allocatable | :: | B_error | |||
| real(kind=dp), | public, | dimension(:), allocatable | :: | phi_error |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | x | |||
| real(kind=dp), | intent(in) | :: | tol |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(fieldline_t), | intent(in), | dimension(:) | :: | fieldlines |
Build a flock of field lines spanning the region between neighbouring maxima contours centered around the minima contours through the field origin.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(flock_of_fieldlines_t), | intent(inout) | :: | flock | |||
| integer, | intent(in) | :: | max_n_fieldlines |
upper bound on number of field lines |
||
| real(kind=dp), | intent(in) | :: | iota |
rotational transform of field lines |
||
| class(field_t), | intent(in) | :: | field |
magnetic field representation in Boozer coordinates |
||
| real(kind=dp), | intent(in) | :: | M_pol |
poloidal helicity mode number; may be negative |
||
| real(kind=dp), | intent(in) | :: | N_tor |
toroidal helicity mode number; must equal nfp when nonzero |
||
| real(kind=dp), | intent(in) | :: | nfp |
number of field periods; must be positive integer |
||
| integer, | intent(out), | optional | :: | split_maxima |
1 if a split of maxima contours was detected |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(flock_of_fieldlines_t), | intent(inout) | :: | flock | |||
| real(kind=dp), | intent(in), | dimension(:) | :: | xi_0 | ||
| real(kind=dp), | intent(in) | :: | iota | |||
| class(field_t), | intent(in) | :: | field | |||
| real(kind=dp), | intent(in) | :: | M_pol | |||
| real(kind=dp), | intent(in) | :: | N_tor | |||
| real(kind=dp), | intent(in) | :: | nfp | |||
| integer, | intent(out), | optional | :: | split_maxima |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(field_t), | intent(in) | :: | field | |||
| type(fieldline_t), | intent(inout) | :: | fieldline | |||
| real(kind=dp), | intent(in) | :: | interval(2) | |||
| type(maxima_t), | intent(out) | :: | maxima |
Pick the biggest maximum on each side of phi_0, with ties broken by proximity to phi_0 to respect stellarator symmetry.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(maxima_t), | intent(in) | :: | maxima | |||
| real(kind=dp), | intent(in) | :: | phi_0 | |||
| real(kind=dp), | intent(in) | :: | symmetry_violation | |||
| real(kind=dp), | intent(out), | dimension(2) | :: | phi_max | ||
| real(kind=dp), | intent(out), | dimension(2) | :: | phi_max_error |