GVEC Program

Uses

  • program~~gvec~~UsesGraph program~gvec GVEC module~modgvec_cla MODgvec_cla program~gvec->module~modgvec_cla module~modgvec_globals MODgvec_Globals program~gvec->module~modgvec_globals module~modgvec_mpi MODgvec_MPI program~gvec->module~modgvec_mpi module~modgvec_rungvec MODgvec_rungvec program~gvec->module~modgvec_rungvec iso_fortran_env iso_fortran_env module~modgvec_cla->iso_fortran_env module~modgvec_cla_kinds MODgvec_cla_kinds module~modgvec_cla->module~modgvec_cla_kinds module~modgvec_globals->iso_fortran_env

GVEC Driver program


Calls

program~~gvec~~CallsGraph program~gvec GVEC interface~cla_get cla_get program~gvec->interface~cla_get interface~cla_init cla_init program~gvec->interface~cla_init proc~cla_help cla_help program~gvec->proc~cla_help proc~cla_posarg_register cla_posarg_register program~gvec->proc~cla_posarg_register proc~cla_validate cla_validate program~gvec->proc~cla_validate proc~par_finalize par_Finalize program~gvec->proc~par_finalize proc~par_init par_Init program~gvec->proc~par_init proc~rungvec rungvec program~gvec->proc~rungvec swrite swrite program~gvec->swrite proc~cla_get_char cla_get_char interface~cla_get->proc~cla_get_char proc~cla_get_float_r4 cla_get_float_r4 interface~cla_get->proc~cla_get_float_r4 proc~cla_get_float_r8 cla_get_float_r8 interface~cla_get->proc~cla_get_float_r8 proc~cla_get_int_i4 cla_get_int_i4 interface~cla_get->proc~cla_get_int_i4 proc~cla_get_int_i8 cla_get_int_i8 interface~cla_get->proc~cla_get_int_i8 proc~cla_get_logical cla_get_logical interface~cla_get->proc~cla_get_logical proc~cla_init_default cla_init_default interface~cla_init->proc~cla_init_default proc~cla_init_str cla_init_str interface~cla_init->proc~cla_init_str proc~cla_fatal cla_fatal proc~cla_posarg_register->proc~cla_fatal proc~cla_str_eq cla_str_eq proc~cla_posarg_register->proc~cla_str_eq proc~cla_validate_info cla_validate_info proc~cla_validate->proc~cla_validate_info mpi_finalize mpi_finalize proc~par_finalize->mpi_finalize mpi_comm_rank mpi_comm_rank proc~par_init->mpi_comm_rank mpi_comm_size mpi_comm_size proc~par_init->mpi_comm_size mpi_init_thread mpi_init_thread proc~par_init->mpi_init_thread req req proc~par_init->req req1 req1 proc~par_init->req1 req2 req2 proc~par_init->req2 req3 req3 proc~par_init->req3 proc~rungvec->swrite __perfoff __perfoff proc~rungvec->__perfoff __perfon __perfon proc~rungvec->__perfon __perfout __perfout proc~rungvec->__perfout fillstrings fillstrings proc~rungvec->fillstrings finalizeanalyze finalizeanalyze proc~rungvec->finalizeanalyze finalizeoutput finalizeoutput proc~rungvec->finalizeoutput finalizerestart finalizerestart proc~rungvec->finalizerestart getint getint proc~rungvec->getint getlogical getlogical proc~rungvec->getlogical ignoredstrings ignoredstrings proc~rungvec->ignoredstrings initSolution initSolution proc~rungvec->initSolution initanalyze initanalyze proc~rungvec->initanalyze initoutput initoutput proc~rungvec->initoutput initrestart initrestart proc~rungvec->initrestart interface~getfreeunit GETFREEUNIT proc~rungvec->interface~getfreeunit interface~gettime GetTime proc~rungvec->interface~gettime minimize minimize proc~rungvec->minimize proc~finalizefunctional FinalizeFunctional proc~rungvec->proc~finalizefunctional proc~finalizereadin FinalizeReadIn proc~rungvec->proc~finalizereadin proc~initfunctional InitFunctional proc~rungvec->proc~initfunctional interface~getfreeunit->interface~getfreeunit interface~gettime->interface~gettime proc~cla_get_char->proc~cla_str_eq proc~cla_command_argument_count cla_command_argument_count proc~cla_get_char->proc~cla_command_argument_count proc~cla_get_command_argument cla_get_command_argument proc~cla_get_char->proc~cla_get_command_argument proc~cla_key_arg_match cla_key_arg_match proc~cla_get_char->proc~cla_key_arg_match proc~cla_show cla_show proc~cla_get_char->proc~cla_show proc~cla_get_float_r4->proc~cla_fatal proc~cla_get_float_r4->proc~cla_get_char proc~cla_get_float_r8->proc~cla_fatal proc~cla_get_float_r8->proc~cla_get_char proc~cla_get_int_i4->proc~cla_fatal proc~cla_get_int_i4->proc~cla_get_char proc~cla_get_int_i8->proc~cla_fatal proc~cla_get_int_i8->proc~cla_get_char proc~cla_get_logical->proc~cla_get_char proc~cla_validate_info->proc~cla_help proc~cla_validate_info->proc~cla_str_eq proc~cla_validate_info->proc~cla_command_argument_count proc~cla_validate_info->proc~cla_get_command_argument proc~cla_validate_info->proc~cla_key_arg_match interface~ignoredstrings IgnoredStrings proc~finalizereadin->interface~ignoredstrings init init proc~initfunctional->init interface~ignoredstrings->interface~ignoredstrings proc~cla_key_arg_match->proc~cla_str_eq proc~cla_show->proc~cla_get_char proc~cla_key_present cla_key_present proc~cla_show->proc~cla_key_present proc~cla_message cla_message proc~cla_show->proc~cla_message proc~cla_key_present->proc~cla_fatal proc~cla_key_present->proc~cla_command_argument_count proc~cla_key_present->proc~cla_get_command_argument proc~cla_key_present->proc~cla_key_arg_match proc~cla_key_present->proc~cla_show

Variables

Type Attributes Name Initial
character(len=STRLEN) :: Parameterfile = ""
character(len=STRLEN) :: RestartFile = ""
character(len=STRLEN) :: f_str
character(len=24) :: execname = "gvec"
logical :: commandFailed
logical :: doRestart

Source Code

PROGRAM GVEC
  USE_MPI
  USE MODgvec_Globals, ONLY : UNIT_stdOut,abort,MPIroot
  USE MODgvec_MPI    ,ONLY  : par_Init,par_finalize
  USE MODgvec_rungvec, ONLY : rungvec
  USE MODgvec_cla
  IMPLICIT NONE
  !-----------------------------------------------------------------------------------------------------------------------------------
  !local variables
  CHARACTER(LEN=STRLEN)   :: Parameterfile=""
  CHARACTER(LEN=STRLEN)   :: RestartFile=""
  CHARACTER(LEN=STRLEN)   :: f_str
  CHARACTER(LEN=24)       :: execname="gvec"
  LOGICAL                 :: commandFailed
  LOGICAL                 :: doRestart
  !===================================================================================================================================
  CALL par_Init() !USE MPI_COMM_WORLD

  IF(MPIroot)THEN
    !USING CLAF90 module to get command line arguments!
    CALL cla_init()

    CALL cla_posarg_register('parameterfile', &
         ' path/filename of GVEC input parameter file [MANDATORY]',  cla_char,'') !
    CALL cla_posarg_register('statefile', &
         'path/filename of a GVEC State. if provided, a restart from this State is done  [OPTIONAL, DEFAULT: None provided]',  cla_char,'')
    CALL cla_validate('gvec')
    CALL cla_get('parameterfile',f_str)
    parameterfile=TRIM(f_str)
    CALL cla_get('statefile',f_str)
    RestartFile=TRIM(f_str)
    commandFailed=.FALSE.
    IF((LEN(TRIM(parameterfile)).EQ.0))THEN
      IF(.NOT.commandFailed) CALL cla_help(execname)
      commandFailed=.TRUE.
      SWRITE(UNIT_StdOut,*) " ==> input parameter filename is MANDATORY must be specified as first positional argument!!!"
    END IF
    dorestart=(LEN(TRIM(restartFile)).GT.0)

    IF(commandFailed) STOP " ...check your command line arguments!"
  END IF !MPIroot
  IF(dorestart)THEN
    CALL rungvec(parameterfile,restartfile_in=restartfile)
  ELSE
    CALL rungvec(parameterfile)
  END IF

  CALL par_finalize()
END PROGRAM GVEC