Init Subroutine

public subroutine Init(parameterfile)

Uses

  • proc~~init~~UsesGraph proc~init Init module~modgvec_analyze MODgvec_Analyze proc~init->module~modgvec_analyze module~modgvec_globals MODgvec_Globals proc~init->module~modgvec_globals module~modgvec_mhd3d_vars MODgvec_MHD3D_Vars proc~init->module~modgvec_mhd3d_vars module~modgvec_mpi MODgvec_MPI proc~init->module~modgvec_mpi module~modgvec_output MODgvec_Output proc~init->module~modgvec_output module~modgvec_readintools MODgvec_ReadInTools proc~init->module~modgvec_readintools module~modgvec_restart MODgvec_Restart proc~init->module~modgvec_restart module~modgvec_analyze->module~modgvec_globals iso_fortran_env iso_fortran_env module~modgvec_globals->iso_fortran_env module~modgvec_mhd3d_vars->module~modgvec_globals module~modgvec_base MODgvec_base module~modgvec_mhd3d_vars->module~modgvec_base module~modgvec_boundaryfromfile MODgvec_boundaryFromFile module~modgvec_mhd3d_vars->module~modgvec_boundaryfromfile module~modgvec_hmap MODgvec_hmap module~modgvec_mhd3d_vars->module~modgvec_hmap module~modgvec_rprofile_base MODgvec_rProfile_base module~modgvec_mhd3d_vars->module~modgvec_rprofile_base module~modgvec_sgrid MODgvec_sGrid module~modgvec_mhd3d_vars->module~modgvec_sgrid module~modgvec_sol_var_mhd3d MODgvec_sol_var_MHD3D module~modgvec_mhd3d_vars->module~modgvec_sol_var_mhd3d module~modgvec_readintools->module~modgvec_globals module~modgvec_restart->module~modgvec_globals module~modgvec_base->module~modgvec_globals module~modgvec_base->module~modgvec_sgrid module~modgvec_fbase MODgvec_fBase module~modgvec_base->module~modgvec_fbase module~modgvec_sbase MODgvec_sBase module~modgvec_base->module~modgvec_sbase module~modgvec_boundaryfromfile->module~modgvec_globals module~modgvec_io_netcdf MODgvec_IO_NETCDF module~modgvec_boundaryfromfile->module~modgvec_io_netcdf module~modgvec_c_hmap MODgvec_c_hmap module~modgvec_hmap->module~modgvec_c_hmap module~modgvec_hmap_axisnb MODgvec_hmap_axisNB module~modgvec_hmap->module~modgvec_hmap_axisnb module~modgvec_hmap_cyl MODgvec_hmap_cyl module~modgvec_hmap->module~modgvec_hmap_cyl module~modgvec_hmap_frenet MODgvec_hmap_frenet module~modgvec_hmap->module~modgvec_hmap_frenet module~modgvec_hmap_knot MODgvec_hmap_knot module~modgvec_hmap->module~modgvec_hmap_knot module~modgvec_hmap_rz MODgvec_hmap_RZ module~modgvec_hmap->module~modgvec_hmap_rz module~modgvec_rprofile_base->module~modgvec_globals module~modgvec_sgrid->module~modgvec_globals module~modgvec_sol_var_mhd3d->module~modgvec_globals module~modgvec_c_sol_var MODgvec_c_sol_var module~modgvec_sol_var_mhd3d->module~modgvec_c_sol_var module~modgvec_c_hmap->module~modgvec_globals module~modgvec_c_sol_var->module~modgvec_globals module~modgvec_fbase->module~modgvec_globals module~modgvec_hmap_axisnb->module~modgvec_globals module~modgvec_hmap_axisnb->module~modgvec_c_hmap module~modgvec_hmap_axisnb->module~modgvec_fbase module~modgvec_hmap_axisnb->module~modgvec_io_netcdf module~modgvec_hmap_cyl->module~modgvec_globals module~modgvec_hmap_cyl->module~modgvec_c_hmap module~modgvec_hmap_frenet->module~modgvec_globals module~modgvec_hmap_frenet->module~modgvec_c_hmap module~modgvec_hmap_knot->module~modgvec_globals module~modgvec_hmap_knot->module~modgvec_c_hmap module~modgvec_hmap_rz->module~modgvec_globals module~modgvec_hmap_rz->module~modgvec_c_hmap module~modgvec_io_netcdf->module~modgvec_globals module~modgvec_sbase->module~modgvec_globals module~modgvec_sbase->module~modgvec_sgrid module~sll_m_bsplines sll_m_bsplines module~modgvec_sbase->module~sll_m_bsplines module~sll_m_spline_interpolator_1d sll_m_spline_interpolator_1d module~modgvec_sbase->module~sll_m_spline_interpolator_1d module~sll_m_spline_matrix sll_m_spline_matrix module~modgvec_sbase->module~sll_m_spline_matrix module~sll_m_assert sll_m_assert module~sll_m_bsplines->module~sll_m_assert module~sll_m_bsplines_base sll_m_bsplines_base module~sll_m_bsplines->module~sll_m_bsplines_base module~sll_m_bsplines_non_uniform sll_m_bsplines_non_uniform module~sll_m_bsplines->module~sll_m_bsplines_non_uniform module~sll_m_bsplines_uniform sll_m_bsplines_uniform module~sll_m_bsplines->module~sll_m_bsplines_uniform module~sll_m_errors sll_m_errors module~sll_m_bsplines->module~sll_m_errors module~sll_m_working_precision sll_m_working_precision module~sll_m_bsplines->module~sll_m_working_precision module~sll_m_spline_interpolator_1d->module~sll_m_spline_matrix module~sll_m_spline_interpolator_1d->module~sll_m_assert module~sll_m_boundary_condition_descriptors sll_m_boundary_condition_descriptors module~sll_m_spline_interpolator_1d->module~sll_m_boundary_condition_descriptors module~sll_m_spline_interpolator_1d->module~sll_m_bsplines_base module~sll_m_spline_interpolator_1d->module~sll_m_errors module~sll_m_spline_1d sll_m_spline_1d module~sll_m_spline_interpolator_1d->module~sll_m_spline_1d module~sll_m_spline_interpolator_1d->module~sll_m_working_precision module~sll_m_spline_matrix->module~sll_m_errors module~sll_m_spline_matrix_banded sll_m_spline_matrix_banded module~sll_m_spline_matrix->module~sll_m_spline_matrix_banded module~sll_m_spline_matrix_base sll_m_spline_matrix_base module~sll_m_spline_matrix->module~sll_m_spline_matrix_base module~sll_m_spline_matrix_dense sll_m_spline_matrix_dense module~sll_m_spline_matrix->module~sll_m_spline_matrix_dense module~sll_m_spline_matrix->module~sll_m_working_precision module~sll_m_boundary_condition_descriptors->module~sll_m_working_precision module~sll_m_bsplines_base->module~sll_m_assert module~sll_m_bsplines_base->module~sll_m_working_precision module~sll_m_bsplines_non_uniform->module~sll_m_assert module~sll_m_bsplines_non_uniform->module~sll_m_bsplines_base module~sll_m_bsplines_non_uniform->module~sll_m_working_precision module~sll_m_bsplines_uniform->module~sll_m_assert module~sll_m_bsplines_uniform->module~sll_m_bsplines_base module~sll_m_bsplines_uniform->module~sll_m_errors module~sll_m_bsplines_uniform->module~sll_m_working_precision module~sll_m_errors->iso_fortran_env module~sll_m_spline_1d->module~sll_m_assert module~sll_m_spline_1d->module~sll_m_bsplines_base module~sll_m_spline_1d->module~sll_m_working_precision module~sll_m_spline_matrix_banded->iso_fortran_env module~sll_m_spline_matrix_banded->module~sll_m_assert module~sll_m_spline_matrix_banded->module~sll_m_errors module~sll_m_spline_matrix_banded->module~sll_m_spline_matrix_base module~sll_m_spline_matrix_banded->module~sll_m_working_precision module~sll_m_spline_matrix_base->module~sll_m_working_precision module~sll_m_spline_matrix_dense->iso_fortran_env module~sll_m_spline_matrix_dense->module~sll_m_assert module~sll_m_spline_matrix_dense->module~sll_m_errors module~sll_m_spline_matrix_dense->module~sll_m_spline_matrix_base module~sll_m_spline_matrix_dense->module~sll_m_working_precision

Arguments

Type IntentOptional Attributes Name
character(len=*) :: parameterfile

Calls

proc~~init~~CallsGraph proc~init Init fillstrings fillstrings proc~init->fillstrings ignoredstrings ignoredstrings proc~init->ignoredstrings initanalyze initanalyze proc~init->initanalyze initoutput initoutput proc~init->initoutput interface~enter_subregion enter_subregion proc~init->interface~enter_subregion interface~exit_subregion exit_subregion proc~init->interface~exit_subregion interface~reset_subregion reset_subregion proc~init->interface~reset_subregion proc~initmhd3d t_functional_mhd3d%InitMHD3D proc~init->proc~initmhd3d proc~par_init par_Init proc~init->proc~par_init interface~enter_subregion->interface~enter_subregion interface~exit_subregion->interface~exit_subregion interface~reset_subregion->interface~reset_subregion proc~initmhd3d->interface~enter_subregion proc~initmhd3d->interface~exit_subregion antiderivative antiderivative proc~initmhd3d->antiderivative boundaryfromfile_new boundaryfromfile_new proc~initmhd3d->boundaryfromfile_new getint getint proc~initmhd3d->getint getintarray getintarray proc~initmhd3d->getintarray getlogical getlogical proc~initmhd3d->getlogical getreal getreal proc~initmhd3d->getreal getstr getstr proc~initmhd3d->getstr initvmec initvmec proc~initmhd3d->initvmec interface~par_bcast par_Bcast proc~initmhd3d->interface~par_bcast proc~base_new Base_new proc~initmhd3d->proc~base_new proc~bff_convert_to_modes t_boundaryFromFile%bff_convert_to_modes proc~initmhd3d->proc~bff_convert_to_modes proc~get_imode get_iMode proc~initmhd3d->proc~get_imode proc~getrealallocarray GETREALALLOCARRAY proc~initmhd3d->proc~getrealallocarray proc~hmap_new hmap_new proc~initmhd3d->proc~hmap_new proc~hmap_new_auxvar hmap_new_auxvar proc~initmhd3d->proc~hmap_new_auxvar proc~initializemhd3d_evalfunc InitializeMHD3D_evalFunc proc~initmhd3d->proc~initializemhd3d_evalfunc proc~initprofile InitProfile proc~initmhd3d->proc~initprofile proc~new_minimizer new_minimizer proc~initmhd3d->proc~new_minimizer proc~par_barrier par_Barrier proc~initmhd3d->proc~par_barrier proc~sgrid_init t_sGrid%sGrid_init proc~initmhd3d->proc~sgrid_init proc~par_bcast_array1d par_Bcast_array1D interface~par_bcast->proc~par_bcast_array1d proc~par_bcast_array1d_int par_Bcast_array1D_int interface~par_bcast->proc~par_bcast_array1d_int proc~par_bcast_array1d_str par_Bcast_array1D_str interface~par_bcast->proc~par_bcast_array1d_str proc~par_bcast_array2d par_Bcast_array2D interface~par_bcast->proc~par_bcast_array2d proc~par_bcast_scalar par_Bcast_scalar interface~par_bcast->proc~par_bcast_scalar proc~par_bcast_scalar_int par_Bcast_scalar_int interface~par_bcast->proc~par_bcast_scalar_int proc~par_bcast_scalar_str par_Bcast_scalar_str interface~par_bcast->proc~par_bcast_scalar_str proc~base_test Base_test proc~base_new->proc~base_test proc~sbase_new sBase_new proc~base_new->proc~sbase_new proc~fbase_change_base t_fBase%fBase_change_base proc~bff_convert_to_modes->proc~fbase_change_base proc~fbase_evaldof_xn t_fBase%fBase_evalDOF_xn proc~bff_convert_to_modes->proc~fbase_evaldof_xn proc~fbase_initdof t_fBase%fBase_initDOF proc~bff_convert_to_modes->proc~fbase_initdof proc~get_imode->getreal proc~remove_blanks remove_blanks proc~get_imode->proc~remove_blanks interface~findstr FindStr proc~getrealallocarray->interface~findstr proc~converttoproposalstr ConvertToProposalStr proc~getrealallocarray->proc~converttoproposalstr proc~count_sep count_sep proc~getrealallocarray->proc~count_sep proc~hmap_new->interface~enter_subregion proc~hmap_new->interface~exit_subregion proc~initializemhd3d_evalfunc->interface~enter_subregion proc~initializemhd3d_evalfunc->interface~exit_subregion init init proc~initializemhd3d_evalfunc->init proc~initprofile->interface~enter_subregion proc~initprofile->interface~exit_subregion proc~initprofile->getreal proc~initprofile->getstr proc~initprofile->proc~getrealallocarray getrealarray getrealarray proc~initprofile->getrealarray interface~interpolate_cubic_spline interpolate_cubic_spline proc~initprofile->interface~interpolate_cubic_spline proc~sol_var_mhd3d_copy t_sol_var_MHD3D%sol_var_MHD3D_copy proc~new_minimizer->proc~sol_var_mhd3d_copy proc~sol_var_mhd3d_init t_sol_var_MHD3D%sol_var_MHD3D_init proc~new_minimizer->proc~sol_var_mhd3d_init tau tau proc~new_minimizer->tau velocity velocity proc~new_minimizer->velocity proc~sgrid_test sGrid_test proc~sgrid_init->proc~sgrid_test interface~findstr->interface~findstr interface~interpolate_cubic_spline->interface~interpolate_cubic_spline proc~base_evaldof t_base%base_evalDOF proc~base_test->proc~base_evaldof proc~sbase_initdof t_sBase%sBase_initDOF proc~base_test->proc~sbase_initdof proc~converttoproposalstr->proc~remove_blanks proc~fbase_compare t_fBase%fBase_compare proc~fbase_change_base->proc~fbase_compare dgemv dgemv proc~fbase_evaldof_xn->dgemv proc~fbase_eval_xn t_fBase%fBase_eval_xn proc~fbase_evaldof_xn->proc~fbase_eval_xn proc~fbase_projectiptodof_tens t_fBase%fBase_projectIPtoDOF_tens proc~fbase_initdof->proc~fbase_projectiptodof_tens proc~fbase_projectxntodof t_fBase%fBase_projectxntoDOF proc~fbase_initdof->proc~fbase_projectxntodof proc~sbase_init t_sBase%sBase_init proc~sbase_new->proc~sbase_init proc~sgrid_test->proc~sgrid_init proc~sgrid_compare t_sGrid%sGrid_compare proc~sgrid_test->proc~sgrid_compare proc~sgrid_find_elem t_sGrid%sGrid_find_elem proc~sgrid_test->proc~sgrid_find_elem proc~sol_var_mhd3d_copy->proc~sol_var_mhd3d_init none~set_to t_sol_var_MHD3D%set_to proc~sol_var_mhd3d_init->none~set_to proc~sol_var_mhd3d_test sol_var_MHD3D_test proc~sol_var_mhd3d_init->proc~sol_var_mhd3d_test proc~sol_var_mhd3d_set_to_scalar t_sol_var_MHD3D%sol_var_MHD3D_set_to_scalar none~set_to->proc~sol_var_mhd3d_set_to_scalar proc~sol_var_mhd3d_set_to_solvar t_sol_var_MHD3D%sol_var_MHD3D_set_to_solvar none~set_to->proc~sol_var_mhd3d_set_to_solvar proc~fbase_evaldof_ip_tens t_fBase%fBase_evalDOF_IP_tens proc~base_evaldof->proc~fbase_evaldof_ip_tens dgemm dgemm proc~fbase_projectiptodof_tens->dgemm proc~fbase_projectxntodof->dgemv proc~fbase_projectxntodof->proc~fbase_eval_xn proc~sbase_init->init add_element add_element proc~sbase_init->add_element barycentricweights barycentricweights proc~sbase_init->barycentricweights dmatip dmatip proc~sbase_init->dmatip eval_basis eval_basis proc~sbase_init->eval_basis eval_basis_and_n_derivs eval_basis_and_n_derivs proc~sbase_init->eval_basis_and_n_derivs eval_deriv eval_deriv proc~sbase_init->eval_deriv factorize factorize proc~sbase_init->factorize get_interp_points get_interp_points proc~sbase_init->get_interp_points initializevandermonde initializevandermonde proc~sbase_init->initializevandermonde legendregaussnodesandweights legendregaussnodesandweights proc~sbase_init->legendregaussnodesandweights mthpolynomialderivativematrix mthpolynomialderivativematrix proc~sbase_init->mthpolynomialderivativematrix proc~getlu getLU proc~sbase_init->proc~getlu proc~inv INV proc~sbase_init->proc~inv proc~sbase_alloc sBase_alloc proc~sbase_init->proc~sbase_alloc proc~sbase_test sBase_test proc~sbase_init->proc~sbase_test proc~sll_s_bsplines_new sll_s_bsplines_new proc~sbase_init->proc~sll_s_bsplines_new proc~sll_s_spline_matrix_new sll_s_spline_matrix_new proc~sbase_init->proc~sll_s_spline_matrix_new proc~solvemat SOLVEMAT proc~sbase_init->proc~solvemat xiip xiip proc~sbase_init->xiip compute_interpolant compute_interpolant proc~sbase_initdof->compute_interpolant proc~sol_var_mhd3d_test->proc~sol_var_mhd3d_copy proc~sol_var_mhd3d_test->none~set_to proc~sol_var_mhd3d_axby t_sol_var_MHD3D%sol_var_MHD3D_AXBY proc~sol_var_mhd3d_test->proc~sol_var_mhd3d_axby proc~sol_var_mhd3d_norm_2 t_sol_var_MHD3D%sol_var_MHD3D_norm_2 proc~sol_var_mhd3d_test->proc~sol_var_mhd3d_norm_2 proc~fbase_evaldof_ip_tens->proc~fbase_evaldof_xn proc~fbase_evaldof_ip_tens->dgemm dgetrf dgetrf proc~getlu->dgetrf proc~inv->dgetrf dgetri dgetri proc~inv->dgetri proc~sbase_alloc->dmatip proc~sbase_alloc->xiip wbaryip wbaryip proc~sbase_alloc->wbaryip proc~sbase_test->proc~sbase_new proc~sbase_test->proc~sbase_initdof proc~sbase_applybctodof_lgm t_sBase%sBase_applyBCtoDOF_LGM proc~sbase_test->proc~sbase_applybctodof_lgm proc~sbase_change_base t_sBase%sBase_change_base proc~sbase_test->proc~sbase_change_base proc~sbase_compare t_sBase%sBase_compare proc~sbase_test->proc~sbase_compare proc~sbase_eval t_sBase%sBase_eval proc~sbase_test->proc~sbase_eval proc~sbase_evaldof_base t_sBase%sBase_evalDOF_base proc~sbase_test->proc~sbase_evaldof_base proc~sbase_evaldof_gp t_sBase%sBase_evalDOF_GP proc~sbase_test->proc~sbase_evaldof_gp proc~sbase_evaldof_s t_sBase%sBase_evalDOF_s proc~sbase_test->proc~sbase_evaldof_s proc~sll_s_bsplines_new->init proc~sll_s_spline_matrix_new->init proc~sll_s_error_handler sll_s_error_handler proc~sll_s_spline_matrix_new->proc~sll_s_error_handler proc~solvemat->dgetrf dgetrs dgetrs proc~solvemat->dgetrs proc~solve SOLVE proc~sbase_applybctodof_lgm->proc~solve proc~sbase_change_base->proc~sbase_initdof proc~sbase_change_base->proc~sbase_compare eval eval proc~sbase_change_base->eval evalDOF_base evalDOF_base proc~sbase_change_base->evalDOF_base proc~sbase_compare->proc~sgrid_compare proc~sbase_eval->proc~sgrid_find_elem proc~sbase_eval->eval_basis proc~sbase_eval->eval_basis_and_n_derivs lagrangeinterpolationpolys lagrangeinterpolationpolys proc~sbase_eval->lagrangeinterpolationpolys proc~sbase_evaldof_s->proc~sbase_eval proc~sbase_evaldof_s->proc~sbase_evaldof_base interface~c_abort~2 c_abort proc~sll_s_error_handler->interface~c_abort~2 proc~errout errout proc~sll_s_error_handler->proc~errout proc~solve->dgetrf proc~solve->dgetrs

Source Code

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