shortest_dist_to_bound Subroutine

public subroutine shortest_dist_to_bound(equi, x, y, phi, dphi_max, shortest_dist, maxstep, dirind)

It computes the shortest distance to the boundary along B. If (x, y, phi) is located inside the wall, the output is negative. If (x, y, phi) is located in the closed flux surface region, the output is the largest allowable number for PARALLAX precision.

Arguments

Type IntentOptional Attributes Name
class(equilibrium_t), intent(inout), target :: equi

Equilibrium defining the field line

real(kind=FP), intent(in) :: x

Spatial coordinate x at which the field line is located

real(kind=FP), intent(in) :: y

Spatial coordinate y at which the field line is located

real(kind=FP), intent(in) :: phi

Spatial coordinate phi at which the field line is located

real(kind=FP), intent(in) :: dphi_max

Maximum toroidal angle to be traced

real(kind=FP), intent(out) :: shortest_dist

Shortest distance to boundary along the field line from (x,y,phi)

real(kind=FP), intent(in), optional :: maxstep

Maximum stepsize for the DOP853 integrator

integer, intent(out), optional :: dirind

Refers to the direction to the closest boundary along B: = 1, if the closest transition is in the +phi direction = -1, if the closest transition is in the -phi direction = 0, if the it could not found any boundary along the field line.


Calls

proc~~shortest_dist_to_bound~~CallsGraph proc~shortest_dist_to_bound shortest_dist_to_bound proc~distance_to_boundary distance_to_boundary proc~shortest_dist_to_bound->proc~distance_to_boundary in_vessel in_vessel proc~distance_to_boundary->in_vessel proc~handle_error handle_error proc~distance_to_boundary->proc~handle_error proc~trace trace proc~distance_to_boundary->proc~trace none~handle_error error_handler_t%handle_error proc~handle_error->none~handle_error proc~trace->proc~handle_error destroy destroy proc~trace->destroy initialize initialize proc~trace->initialize integrate integrate proc~trace->integrate proc~get_stderr get_stderr proc~trace->proc~get_stderr