File: /nfs/home/0/users/jenkins/mfix.git/model/exit.f
1 SUBROUTINE MFIX_EXIT(myID)
2
3
4 USE funits, only : UNIT_OUT
5
6 USE funits, only : UNIT_LOG
7
8 use compar
9 use mpi_utility
10
11 implicit none
12
13
14 INTEGER, INTENT(IN) :: myID
15
16 LOGICAL :: isOpen
17
18 INTEGER :: myID_l
19
20 CHARACTER(len=64) :: myID_c
21
22
23 =''; WRITE(myID_c,*) myID
24
25
26 IF(myPE == PE_IO) WRITE(*,1000)
27 IF(DMP_LOG) THEN
28 INQUIRE(UNIT=UNIT_LOG,OPENED=isOpen)
29 IF(isOPEN) WRITE(UNIT_LOG,1001) trim(adjustl(myID_c))
30 ENDIF
31
32
33 CALL exitMPI(myID_l)
34
35
36 CALL CLOSE_FILE(UNIT_OUT)
37 CALL CLOSE_FILE(UNIT_LOG)
38
39
40 IF(myPE == PE_IO) WRITE(*,1002)
41
42
43 STOP 1
44
45 1000 FORMAT(2/,1x,70('*'),/' Fatal error reported on one or more', &
46 ' processes. The .LOG file',/' may contain additional', &
47 ' information about the failure.',/1x,70('*'))
48
49 1001 FORMAT(2/,1x,70('*'),/' Fatal error reported on PE ', &
50 A,'. The .LOG file may contain',/' additional ', &
51 'information about the failure.',/1x,70('*'))
52
53 1002 FORMAT(2/,1x,'Program Terminated.',2/)
54
55 END SUBROUTINE MFIX_EXIT
56
57
58
59
60
61
62
63
64 SUBROUTINE CLOSE_FILE(UNIT_l)
65
66
67
68
69
70 implicit none
71
72
73
74 INTEGER, INTENT(IN) :: UNIT_l
75
76
77
78
79 INTEGER :: IOS
80
81 LOGICAL :: FOPEN
82
83
84 INQUIRE(UNIT=UNIT_l, OPENED=FOPEN, IOSTAT=IOS )
85
86 IF(FOPEN) CLOSE(UNIT_l)
87
88 RETURN
89 END SUBROUTINE CLOSE_FILE
90
91
92
93
94