Skip to content

Commit b20e363

Browse files
committed
ensure OP2 is opened before actually closing it (prevents fort.14 creation on FATAL)
1 parent 61ece86 commit b20e363

1 file changed

Lines changed: 15 additions & 11 deletions

File tree

Source/UTIL/OUTPUT2_UTILS.f90

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -58,22 +58,26 @@ END SUBROUTINE END_OP2_TABLE
5858

5959
!===================================================================================================================================
6060
SUBROUTINE END_OP2_TABLES()
61-
USE IOUNT1, ONLY : ERR, OP2
61+
USE IOUNT1, ONLY : ERR, OP2, OP2FIL
6262
IMPLICIT NONE
63+
LOGICAL :: FILE_OPND
6364
9115 FORMAT(" *DEBUG: END_OP2_TABLES", A)
6465
WRITE(ERR,9115) " "
65-
WRITE(OP2) 0
66+
INQUIRE ( FILE=OP2FIL, OPENED=FILE_OPND )
67+
IF (FILE_OPND) THEN
68+
WRITE(OP2) 0
69+
ENDIF
6670
END SUBROUTINE END_OP2_TABLES
6771

6872
!===================================================================================================================================
6973
SUBROUTINE WRITE_OP2_GEOM()
7074
USE PENTIUM_II_KIND, ONLY : LONG, BYTE
7175
USE IOUNT1, ONLY : ERR, OP2
72-
76+
7377
! GEOM1 - GRID/COORDs
7478
USE SCONTR, ONLY : NGRID
7579
USE MODEL_STUF, ONLY : GRID_ID, GRID
76-
80+
7781
! GEOM2 - elements
7882
!USE MODEL_STUF, ONLY : ELAS1, ELAS2, ELAS3, ELAS4, ROD, TETRA4, TETRA10
7983
USE SCONTR, ONLY : NCTETRA4, NCTETRA10, NCPENTA6, NCPENTA15, NCHEXA8, NCHEXA20
@@ -118,7 +122,7 @@ SUBROUTINE WRITE_OP2_GEOM()
118122
1 FORMAT("****DEBUG: WRITE_OP2 GEOM ngrid",i4)
119123
IF (IS_GEOM1) THEN
120124
WRITE(ERR,1) NGRID
121-
125+
122126
TABLE_NAME = "GEOM1"
123127
CALL WRITE_OP2_GEOM_HEADER(TABLE_NAME, ITABLE)
124128

@@ -140,7 +144,7 @@ SUBROUTINE WRITE_OP2_GEOM()
140144
! is GRID_ID(I) the same as GRID(I,1)???
141145
!
142146
!(nid, cp, x1, x2, x3, cd, ps, seid)
143-
! nid cp x y z
147+
! nid cp x y z
144148
! WRITE(ERR,2) GRID_ID(I), GRID(I,1), GRID(I,2), REAL(RGRID(I,1),4), REAL(RGRID(I,2),4), REAL(RGRID(I,3),4), &
145149
! cd ps ndof
146150
! GRID(I,3), GRID(I,4), GRID(I,6)
@@ -160,7 +164,7 @@ SUBROUTINE GET_PROD_INDEX(PID, IPROD)
160164
USE SCONTR, ONLY : NPROD
161165
USE MODEL_STUF, ONLY : PROD
162166
USE IOUNT1, ONLY : ERR
163-
167+
164168
INTEGER(LONG), INTENT(IN) :: PID
165169
INTEGER(LONG), INTENT(INOUT) :: IPROD
166170
INTEGER(LONG) :: I
@@ -177,14 +181,14 @@ SUBROUTINE GET_PROD_INDEX(PID, IPROD)
177181
2 FORMAT("GET_PROD_INDEX MID: *********FOUND PID=",i4)
178182
3 FORMAT("GET_PROD_INDEX END: PID=",i4,"; IPROD=",i4,"; PROD(I,1)=",i4)
179183
END SUBROUTINE GET_PROD_INDEX
180-
184+
181185
!===================================================================================================================================
182186
SUBROUTINE WRITE_OP2_GEOM_EPT()
183187
! writes the element property table (EPT)
184188
USE PENTIUM_II_KIND, ONLY : LONG, BYTE
185189
USE IOUNT1, ONLY : ERR, OP2
186-
USE SCONTR, ONLY : NPELAS, NPROD, NPBUSH, NPCOMP, NPSHEAR, NPSOLID ! NPSHELL,
187-
USE MODEL_STUF, ONLY : PELAS, PROD, PBAR, PBEAM, PSHEAR, PCOMP, PSOLID ! PSHELL,
190+
USE SCONTR, ONLY : NPELAS, NPROD, NPBUSH, NPCOMP, NPSHEAR, NPSOLID ! NPSHELL,
191+
USE MODEL_STUF, ONLY : PELAS, PROD, PBAR, PBEAM, PSHEAR, PCOMP, PSOLID ! PSHELL,
188192
USE MODEL_STUF, ONLY : RPELAS, RPROD, RPROD, RPBAR, RPBEAM, RPSHEAR, RPCOMP ! RPSHELL, RPSOLID
189193

190194
IMPLICIT NONE
@@ -223,7 +227,7 @@ SUBROUTINE WRITE_OP2_GEOM_EPT()
223227

224228
IF (IS_EPT) THEN
225229
CALL WRITE_OP2_GEOM_HEADER(TABLE_NAME, ITABLE)
226-
230+
227231
IF (NPROD > 0) THEN
228232
NUM_WIDE = 6
229233
! (pid, mid, a, j, c, nsm)

0 commit comments

Comments
 (0)