Finalize Module
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(t_functional_mhd3d), | intent(inout) | :: | sf |
SUBROUTINE FinalizeMHD3D(sf) ! MODULES USE MODgvec_MHD3D_Vars USE MODgvec_MHD3D_EvalFunc,ONLY:FinalizeMHD3D_EvalFunc USE MODgvec_VMEC,ONLY: FinalizeVMEC IMPLICIT NONE !----------------------------------------------------------------------------------------------------------------------------------- ! OUTPUT VARIABLES CLASS(t_functional_mhd3d), INTENT(INOUT) :: sf !----------------------------------------------------------------------------------------------------------------------------------- ! LOCAL VARIABLES !=================================================================================================================================== CALL enter_subregion("finalize-MHD3D") IF(ALLOCATED(X1_base)) CALL X1_base%free() IF(ALLOCATED(X2_base)) CALL X2_base%free() IF(ALLOCATED(LA_base)) CALL LA_base%free() CALL sgrid%free() IF(ALLOCATED(BFF)) THEN CALL BFF%free() DEALLOCATE(BFF) END IF IF(ALLOCATED(sf%minimizer)) CALL sf%minimizer%free() SDEALLOCATE(X1_BC_type) SDEALLOCATE(X2_BC_type) SDEALLOCATE(LA_BC_type) SDEALLOCATE(X1_b) SDEALLOCATE(X2_b) SDEALLOCATE(X1pert_b) SDEALLOCATE(X2pert_b) SDEALLOCATE(LA_b) SDEALLOCATE(X1_a) SDEALLOCATE(X2_a) SDEALLOCATE(iota_profile) SDEALLOCATE(pres_profile) SDEALLOCATE(Phi_profile) SDEALLOCATE(chi_profile) CALL FinalizeMHD3D_EvalFunc() IF(which_init.EQ.1) CALL FinalizeVMEC() SDEALLOCATE(hmap) SDEALLOCATE(hmap_auxvar) SDEALLOCATE(X1_base) SDEALLOCATE(X2_base) SDEALLOCATE(LA_base) CALL exit_subregion("finalize-MHD3D") END SUBROUTINE FinalizeMHD3D