| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*) | :: | parameterfile |
SUBROUTINE Init(parameterfile) ! MODULES USE MODgvec_Globals, ONLY: fmt_sep USE MODgvec_MHD3D_vars, ONLY: X1_base USE MODgvec_Analyze, ONLY: InitAnalyze USE MODgvec_Output, ONLY: InitOutput USE MODgvec_Restart, ONLY: InitRestart USE MODgvec_ReadInTools, ONLY: FillStrings,GETLOGICAL,GETINT,IgnoredStrings !$ USE omp_lib USE MODgvec_MPI ,ONLY: par_Init ! INPUT/OUTPUT VARIABLES ------------------------------------------------------------------------------------------------------! CHARACTER(LEN=*) :: parameterfile ! LOCAL VARIABLES -------------------------------------------------------------------------------------------------------------! ! CODE ========================================================================================================================! CALL reset_subregion() CALL enter_subregion("startup") CALL par_Init() !USE MPI_COMM_WORLD SWRITE(Unit_stdOut,'(132("="))') SWRITE(UNIT_stdOut,'(A)') "GVEC POST ! GVEC POST ! GVEC POST ! GVEC POST" SWRITE(Unit_stdOut,'(132("="))') !.only executes if compiled with OpenMP !$ SWRITE(UNIT_stdOut,'(A,I6)')' Number of OpenMP threads : ',OMP_GET_MAX_THREADS() !$ SWRITE(Unit_stdOut,'(132("="))') !.only executes if compiled with MPI # if MPI SWRITE(UNIT_stdOut,'(A,I6)')' Number of MPI tasks : ',nRanks SWRITE(Unit_stdOut,fmt_sep) IF(nRanks.GT.1) CALL abort(__STAMP__,& "GVEC is compiled with MPI, but can only be called with 1 MPI rank." ) # endif CALL exit_subregion("startup") ! read parameter file CALL FillStrings(parameterfile) ! initialization phase CALL enter_subregion("initialize") CALL InitOutput() CALL InitAnalyze() ! initialize the functional ALLOCATE(t_functional_mhd3d :: functional) CALL functional%init() ! print the ignored parameters CALL IgnoredStrings() ! additional global variables nfp = X1_base%f%nfp initialized = .TRUE. CALL exit_subregion("initialize") END SUBROUTINE Init