in_gyro_surface Function

public function in_gyro_surface(gs, p) result(in_gs)

Indicator function for determining if a point is inside the gyro_surface

Arguments

Type IntentOptional AttributesName
type(GyroSurface), intent(in) :: gs

Gyro-surface

real(kind=Float64), intent(in), dimension(3):: p

Point

Return Value logical


Called by

proc~~in_gyro_surface~~CalledByGraph proc~in_gyro_surface in_gyro_surface proc~gyro_range gyro_range proc~gyro_range->proc~in_gyro_surface proc~npa_gyro_range npa_gyro_range proc~npa_gyro_range->proc~gyro_range proc~npa_f npa_f proc~npa_f->proc~npa_gyro_range proc~npa_mc npa_mc proc~npa_mc->proc~npa_gyro_range program~fidasim fidasim program~fidasim->proc~npa_f program~fidasim->proc~npa_mc

Contents

Source Code


Source Code

function in_gyro_surface(gs, p) result(in_gs)
    !+ Indicator function for determining if a point is inside the gyro_surface
    type(GyroSurface), intent(in)           :: gs
        !+ Gyro-surface
    real(Float64), dimension(3), intent(in) :: p
        !+ Point
    logical :: in_gs

    real(Float64), dimension(3) :: pp

    pp = p - gs%center
    in_gs = dot_product(pp, matmul(gs%A, pp)).le.1.d0

end function in_gyro_surface