tem_abort Subroutine

public subroutine tem_abort(errorMsg)

Abort the program with finalization of the environment

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in), optional :: errorMsg

An optional error message to print a reason for the abort.


Calls

proc~~tem_abort~~CallsGraph proc~tem_abort tem_abort mpi_abort mpi_abort proc~tem_abort->mpi_abort

Called by

alloc_matrixwtem_abort
w
append_vectorPnt2grwPointsw
w
build_matrixLSF_linearIntpw
w
build_matrixLSF_quadIntpw
w
check_mpi_errorw
w
check_opVar_prerequisitesw
w
derivePropertyw
w
evalRelDiff_forElementw
w
evaluate_add_spacetime_scalarByTreeIDw
w
evaluate_add_spacetime_vectorByTreeIDw
w
evaluate_first_spacetime_scalarByTreeIDw
w
evaluate_first_spacetime_vectorByTreeIDw
w
evaluate_FOAG_spacetime_scalarByTreeIDw
w
evaluate_FOAG_spacetime_vectorByTreeIDw
w
gen_treelm_line_globalw
w
getHeaderw
w
hvs_ascii_initw
w
hvs_asciiSpatial_initw
w
hvs_output_loadw
w
hvs_vtk_closew
w
hvs_vtk_closePVDw
w
hvs_vtk_config_loadw
w
hvs_vtk_config_loadw
w
hvs_vtk_dump_dataw
w
hvs_vtk_initw
w
hvs_vtk_openw
w
hvs_vtk_write_meshdataw
w
hvs_vtk_write_varSysw
w
identify_listsw
w
init_intpMatrixLSFw
w
invert_matrixw
w
load_datafilew
w
load_defaultTargetStatew
w
load_ic_2dcrvpw
w
load_spacetime_predefinedw
w
load_spatial_asConstw
w
load_spatial_parabolw
w
load_spatial_predefinedw
w
load_spatial_randomw
w
load_spongeLayerw
w
load_temw
w
load_temporal_cosw
w
load_temporal_from_filew
w
load_temporal_linearw
w
load_treelmeshw
w
load_variable_operationw
w
reductionTransient_forPointw
w
reductionTransient_fromIndexw
w
request_remoteHalosw
w
set_params_spacetimew
w
setup_indices_spacetimew
w
single_process_elementw
w
tem_addDep_downw
w
tem_aps_load_couplingw
w
tem_build_faceRecvBuffersw
w
tem_build_faceSendBuffersw
w
tem_checkLabelw
w
tem_create_stencilw
w
tem_create_subTree_ofw
w
tem_debug_HorizontalDependenciesw
w
tem_dump_stlbw
w
tem_evalMultiply_forElementw
w
tem_exchange_doublew
w
tem_exchange_longw
w
tem_finalizew
w
tem_get_elemPrpw
w
tem_get_faceNeighw
w
tem_get_ncoeffs_miescatw
w
tem_global_mesh_internalw
w
tem_init_convergencew
w
tem_init_elemLevelsw
w
tem_init_restart_create_typesw
w
tem_init_trackerw
w
tem_isComputeFacew
w
tem_isFromFinerFacew
w
tem_load_acoustic_pulsew
w
tem_load_bc_statew
w
tem_load_canonicalND_vecw
w
tem_load_commPatternw
w
tem_load_cond_singlew
w
tem_load_convergenceHeaderw
w
tem_load_cubew
w
tem_load_cylinder_singlew
w
tem_load_cylindricalWavew
w
tem_load_cylindricalWavew
w
tem_load_deformationw
w
tem_load_depend_singlew
w
tem_load_ellipsoid_singlew
w
tem_load_icw
w
tem_load_internalw
w
tem_load_miescatterw
w
tem_load_miescatterw
w
tem_load_oneCanonicalNDw
w
tem_load_reduction_singlew
w
tem_load_restartw
w
tem_load_shape_singlew
w
tem_load_spacetime_singlew
w
tem_load_spatialw
w
tem_load_sphere_singlew
w
tem_load_spongeLayer_boxw
w
tem_load_spongeLayer_planew
w
tem_load_spongeLayer_radialw
w
tem_load_stlHead_singlew
w
tem_load_temporalw
w
tem_load_trackingConfigw
w
tem_load_translationw
w
tem_load_triangle_singlew
w
tem_local_subTree_fromw
w
tem_match_bc_headerw
w
tem_openw
w
tem_polygon_material_loadw
w
tem_polygon_material_movement_multiw
w
tem_polygon_material_movement_singlew
w
tem_polygon_material_multi_loadw
w
tem_polygon_material_single_loadw
w
tem_readAndUnify_surfDataw
w
tem_reduction_transient_initw
w
tem_reduction_transient_loadw
w
tem_restart_getTotalChunksw
w
tem_shape2subTreew
w
tem_shape_subTreeFromGeomIntersw
w
tem_size_stlbw
w
tem_spacetime_for_coordw
w
tem_spacetime_for_treeIDsw
w
tem_spacetime_lua_for_coordw
w
tem_spacetime_lua_for_treeIdsw
w
tem_spacetime_lua_vector_for_coordw
w
tem_spacetime_lua_vector_for_treeIdsw
w
tem_spacetime_vector_for_coordw
w
tem_spacetime_vector_for_treeIDsw
w
tem_spatial_for_coordw
w
tem_spatial_for_treeIDsw
w
tem_spatial_lua_for_coordw
w
tem_spatial_lua_for_indexw
w
tem_spatial_lua_for_treeIdsw
w
tem_spatial_lua_vector_for_coordw
w
tem_spatial_lua_vector_for_indexw
w
tem_spatial_lua_vector_for_treeIdsw
w
tem_spatial_vector_for_coordw
w
tem_spatial_vector_for_treeIDsw
w
tem_subTree_fromw
w
tem_temporal_forw
w
tem_tracking_getDataw
w
tem_variable_load_singlew
w
tem_varSys_append_stFun_raww
w
tem_varSys_append_stFunVarw
w
tem_varSys_getElement_dummyw
w
tem_varSys_getParams_dummyw
w
tem_varSys_getPoint_dummyw
w
tem_varSys_getValOfIndex_dummyw
w
tem_varSys_load_singlew
w
tem_varSys_load_vectorw
w
tem_varSys_setParams_dummyw
w
tem_varSys_setupIndices_dummyw
w

Source Code

  subroutine tem_abort( errorMsg )
    ! -------------------------------------------------------------------- !
    !> An optional error message to print a reason for the abort.
    character(len=*), intent(in), optional :: errorMsg
    ! -------------------------------------------------------------------- !
    integer :: iError
    ! -------------------------------------------------------------------- !

    ! @todo JZ: commented out the the tem_finalize here: In case that one rank
    ! while the other ranks are still waiting for communication the solver
    ! will not terminate.
    !call tem_finalize()
    if( present( errorMsg ) ) write(logUnit(1),*) errorMsg
    write(logUnit(1),*)
    write(logUnit(1),*) " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
    write(logUnit(1),*) "               Aborting. "
    write(logUnit(1),*) " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
    write(logUnit(1),*)
    flush(logUnit(1))
    call mpi_abort(MPI_COMM_WORLD, 1, iError)

  end subroutine tem_abort