SUBROUTINE Grid(Rho, S, NS, CapTheta, NT, Chi, Theta, xij)
USE Numeric_Kinds_Module
USE Numbers_Module
USE FileUnits_Module
IMPLICIT NONE
INTEGER k, IS, NS, JT, NT, KM
REAL(Kind=WP_Kind) xmin, xmax, Sin2Chi, Cos2Chi, CapS, CapSDots, Denominator, TanTheta
REAL(Kind=WP_Kind) RHO, S(0:NS), CapTheta(0:NT), Chi(0:NS,0:NT), Theta(0:NS,0:NT), xij(0:7)
KM=1
Xij(0)= -Pi/6.d0
Xij(1)= Zero
Xij(2)= Pi/6.d0
Xij(3)= 2*Pi/6.d0
Xij(4)= 3*Pi/6.d0
Xij(5)= 4*Pi/6.d0
Xij(6)= 5*Pi/6.d0
Xij(7)= 6*Pi/6.d0
xmin=-Pi/12
xmax= Pi/12
OPEN(UNIT=GridNodes_Unit,FILE='Nodes.txt')
OPEN(UNIT=GridDebug_Unit,FILE='Debug.txt')
Chi=-1024.d0
DO IS=0,NS
WRITE(GridDebug_Unit,*)"IS=",IS
DO k=1,KM
WRITE(GridDebug_Unit,*)"---- k=",k
DO JT=0,NT
Caps=SQRT(Rho**2-s(IS)**2)
CapSDots=CapS*s(IS)*Cos(CapTheta(JT))
Denominator=SQRT((CapS**2-s(IS)**2)**2+(Two*CapSDots)**2)
Sin2Chi=Two*CapSDots/Denominator
Cos2Chi=(CapS**2-s(IS)**2)/Denominator
Chi(IS,JT)=Half*ATAN2(Sin2Chi,Cos2Chi)
TanTheta=Denominator/(Two*CapS*s(IS)*Sin(CapTheta(JT)))
Theta(IS,JT)=ATAN(TanTheta)
!IF(Chi(IS,JT)-xij(k).ge.-(Xij(k)+Xij(k+1))/2.and.Chi(IS,JT)-xij(k).le.-(Xij(k)+Xij(k-1))/2)THEN
WRITE(GridNodes_Unit,*)Theta(IS,JT),Chi(IS,JT)-xij(k)
WRITE(GridDebug_Unit,'(4es14.7)')S(IS),CapTheta(JT),Theta(IS,JT),Chi(IS,JT)-xij(k)
!ENDIF
ENDDO
ENDDO
WRITE(GridNodes_Unit,'(A1)')'&'
ENDDO
!IF(Pi.ne.0)RETURN
DO k=1,KM
DO JT=0,NT
DO IS=0,NS
WRITE(GridNodes_Unit,*)Theta(IS,JT),Chi(IS,JT)-xij(k)
ENDDO
WRITE(GridNodes_Unit,'(A1)')'&'
ENDDO
ENDDO
RETURN
END SUBROUTINE Grid