Write evaluation of the axis and signed axisNB frame to file
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(t_hmap_axisNB), | intent(in) | :: | sf | |||
| integer, | intent(in) | :: | nvisu |
SUBROUTINE Visu_axisNB( sf ,nvisu) ! MODULES USE MODgvec_Output_CSV, ONLY: WriteDataToCSV USE MODgvec_Output_vtk, ONLY: WriteDataToVTK USE MODgvec_Output_netcdf, ONLY: WriteDataToNETCDF USE MODgvec_Analyze_vars, ONLY: outfileType IMPLICIT NONE !----------------------------------------------------------------------------------------------------------------------------------- ! INPUT VARIABLES CLASS(t_hmap_axisNB), INTENT(IN) :: sf INTEGER , INTENT(IN) :: nvisu !! !----------------------------------------------------------------------------------------------------------------------------------- ! OUTPUT VARIABLES !----------------------------------------------------------------------------------------------------------------------------------- ! LOCAL VARIABLES REAL(wp),DIMENSION(3) :: X0,T,N,B,Np,Bp REAL(wp) :: zeta,lp INTEGER :: iVar,ivisu INTEGER,PARAMETER :: nVars=21 CHARACTER(LEN=20) :: VarNames(1:nVars) REAL(wp) :: values(1:nVars,1:nvisu*sf%nfp+1) !=================================================================================================================================== IF(nvisu.LE.0) RETURN iVar=0 VarNames(ivar+1:iVar+3)=(/ "x", "y", "z"/) ;iVar=iVar+3 VarNames(ivar+1:iVar+3)=(/"TX","TY","TZ"/) ;iVar=iVar+3 VarNames(ivar+1:iVar+3)=(/"NX","NY","NZ"/) ;iVar=iVar+3 VarNames(ivar+1:iVar+3)=(/"BX","BY","BZ"/) ;iVar=iVar+3 VarNames(ivar+1:iVar+3)=(/"NpX","NpY","NpZ"/);iVar=iVar+3 VarNames(ivar+1:iVar+3)=(/"BpX","BpY","BpZ"/);iVar=iVar+3 VarNames(iVar+1 )="zeta" ;iVar=iVar+1 VarNames(iVar+1 )="zeta_norm" ;iVar=iVar+1 VarNames(iVar+1 )="lprime" ;iVar=iVar+1 ! values=0. DO ivisu=1,nvisu*sf%nfp+1 zeta=(0.5_wp+REAL(ivisu-1,wp))/REAL(nvisu*sf%nfp,wp)*TWOPI CALL sf%eval_TNB(zeta,X0,T,N,B,Np,Bp) lp=SQRT(SUM(T*T)) iVar=0 values(ivar+1:iVar+3,ivisu)=X0 ;iVar=iVar+3 values(ivar+1:iVar+3,ivisu)=T ;iVar=iVar+3 values(ivar+1:iVar+3,ivisu)=N ;iVar=iVar+3 values(ivar+1:iVar+3,ivisu)=B ;iVar=iVar+3 values(ivar+1:iVar+3,ivisu)=Np ;iVar=iVar+3 values(ivar+1:iVar+3,ivisu)=Bp ;iVar=iVar+3 values(iVar+1 ,ivisu)=zeta ;iVar=iVar+1 values(iVar+1 ,ivisu)=zeta*sf%nfp/TWOPI ;iVar=iVar+1 values(iVar+1 ,ivisu)=lp ;iVar=iVar+1 END DO !ivisu IF((outfileType.EQ.1).OR.(outfileType.EQ.12))THEN CALL WriteDataToVTK(1,3,nVars-3,(/nvisu*sf%nfp/),1,VarNames(4:nVars),values(1:3,:),values(4:nVars,:),"visu_hmap_axisNB.vtu") END IF IF((outfileType.EQ.2).OR.(outfileType.EQ.12))THEN #if NETCDF CALL WriteDataToNETCDF(1,3,nVars-3,(/nvisu*sf%nfp/),(/"dim_zeta"/),VarNames(4:nVars),values(1:3,:),values(4:nVars,:), & "visu_hmap_axisNB") #else CALL WriteDataToCSV(VarNames(:) ,values, TRIM("out_visu_hmap_axisNB.csv") ,append_in=.FALSE.) #endif END IF END SUBROUTINE Visu_axisNB