Finalize Module
SUBROUTINE FinalizeMHD3D_EvalFunc() ! MODULES USE MODgvec_MHD3D_Vars,ONLY:X1_base,X2_base,LA_base,PrecondType IMPLICIT NONE !----------------------------------------------------------------------------------------------------------------------------------- ! OUTPUT VARIABLES !----------------------------------------------------------------------------------------------------------------------------------- ! LOCAL VARIABLES INTEGER :: iMode !=================================================================================================================================== nElems=-1 degGP =-1 nGP =-1 mn_IP =-1 dthet_dzeta=0.0_wp SDEALLOCATE(s_GP ) SDEALLOCATE(w_GP ) SDEALLOCATE(zeta_IP ) SDEALLOCATE(pres_GP ) SDEALLOCATE(chiPrime_GP ) SDEALLOCATE(phiPrime_GP ) SDEALLOCATE(phiPrime2_GP ) SDEALLOCATE(J_h ) SDEALLOCATE(J_p ) SDEALLOCATE(sJ_h ) SDEALLOCATE(sJ_p ) SDEALLOCATE(detJ ) SDEALLOCATE(sdetJ ) SDEALLOCATE(X1_IP_GP ) SDEALLOCATE(X2_IP_GP ) SDEALLOCATE(dX1_ds ) SDEALLOCATE(dX2_ds ) SDEALLOCATE(dX1_dthet ) SDEALLOCATE(dX2_dthet ) SDEALLOCATE(dLA_dthet ) SDEALLOCATE(dX1_dzeta ) SDEALLOCATE(dX2_dzeta ) SDEALLOCATE(dLA_dzeta ) SDEALLOCATE(b_thet ) SDEALLOCATE(b_zeta ) SDEALLOCATE(sJ_bcov_thet ) SDEALLOCATE(sJ_bcov_zeta ) SDEALLOCATE(bbcov_sJ ) SDEALLOCATE(g_tt) SDEALLOCATE(g_tz) SDEALLOCATE(g_zz) SDEALLOCATE(g_t1) SDEALLOCATE(g_t2) SDEALLOCATE(g_z1) SDEALLOCATE(g_z2) SDEALLOCATE(Jh_dq1) SDEALLOCATE(Jh_dq2) SDEALLOCATE(gtt_dq1) SDEALLOCATE(gtt_dq2) SDEALLOCATE(gtz_dq1) SDEALLOCATE(gtz_dq2) SDEALLOCATE(gzz_dq1) SDEALLOCATE(gzz_dq2) SDEALLOCATE(Gh11) SDEALLOCATE(Gh22) IF(PrecondType.GT.0)THEN NULLIFY(DX1_tt); NULLIFY(DX1_tz); NULLIFY(DX1_zz); NULLIFY(DX1); NULLIFY(DX1_ss) NULLIFY(DX2_tt); NULLIFY(DX2_tz); NULLIFY(DX2_zz); NULLIFY(DX2); NULLIFY(DX2_ss) NULLIFY(DLA_tt); NULLIFY(DLA_tz); NULLIFY(DLA_zz) SDEALLOCATE(D_buf) IF(MPIroot)THEN IF(ALLOCATED(precond_X1))THEN SELECT TYPE(precond_X1); TYPE IS(sll_t_spline_matrix_banded) DO iMode=1,SIZE(precond_X1) CALL precond_X1(iMode)%free() END DO !iMode END SELECT !TYPE DEALLOCATE(precond_X1) END IF IF(ALLOCATED(precond_X2))THEN SELECT TYPE(precond_X2); TYPE IS(sll_t_spline_matrix_banded) DO iMode=1,SIZE(precond_X2) CALL precond_X2(iMode)%free() END DO !iMode END SELECT !TYPE DEALLOCATE(precond_X2) END IF IF(ALLOCATED(precond_LA))THEN SELECT TYPE(precond_LA); TYPE IS(sll_t_spline_matrix_banded) DO iMode=1,SIZE(precond_LA) CALL precond_LA(iMode)%free() END DO !iMode END SELECT !TYPE DEALLOCATE(precond_LA) END IF END IF !MPIroot END IF !PrecondType>0 END SUBROUTINE FinalizeMHD3D_EvalFunc