seikon Subroutine

private subroutine seikon(rp, theta, invR, qval, bi, nperiod, seik)

This is not right for cart types, but ok for those compatible with bishop=0.

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: rp
real, intent(in), dimension(-ntgrid:) :: theta
real, intent(in), dimension(-ntgrid:) :: invR
real, intent(inout) :: qval
real, intent(in) :: bi
integer, intent(in) :: nperiod
real, intent(out), dimension(-ntgrid:) :: seik

Contents

Source Code


Source Code

  subroutine seikon(rp, theta, invR, qval, bi, nperiod, seik)
    real, intent(in) :: rp
    real, dimension(-ntgrid:), intent(in) :: theta, invR
    real, intent(in out) :: qval
    real, intent(in) :: bi
    integer, intent(in) :: nperiod
    real, dimension(-ntgrid:), intent(out) :: seik
    real :: dpsidrp
    real, dimension(-ntgrid:ntgrid, 2) :: thgrad, rpgrad
    real, dimension(-ntgrid:ntgrid) :: trip, dsdthet, rgrid
    rgrid = rp !<This is not right for cart types, but ok for those compatible with bishop=0.
    call geom%gradient(rgrid, theta, rpgrad, 'P', rp, nth, ntgrid, bishop /= 0)
    call geom%gradient(rgrid, theta, thgrad, 'T', rp, nth, ntgrid, bishop /= 0)
    call tripprod2dtgrid(rpgrad, thgrad, invR, trip) ; call periodic_copy(trip, 0., nperiod)
    call eikonal(theta, invR, trip, qval, bi, seik, dsdthet, dpsidrp)
  end subroutine seikon