PageRenderTime 44ms CodeModel.GetById 13ms RepoModel.GetById 0ms app.codeStats 0ms

/contrib/exodusii/5.22b/exodus/forbind/test/testwt2.f

https://bitbucket.org/vijaysm/libmesh
FORTRAN Legacy | 1432 lines | 778 code | 322 blank | 332 comment | 0 complexity | 5427fe08b528e0765453606fb3ccaa60 MD5 | raw file
Possible License(s): LGPL-2.1, BSD-3-Clause, GPL-3.0, MPL-2.0-no-copyleft-exception, GPL-2.0
  1. program testwt2
  2. c
  3. c This is a test program for the Fortran binding of the EXODUS II
  4. c database write routines. It tests multiple simultaneous output files.
  5. c
  6. c 09/07/93 V.R. Yarberry - Revised for 2.00 API
  7. include 'exodusII.inc'
  8. integer iin, iout
  9. integer exoid, num_dim, num_nodes, num_elem, num_elem_blk
  10. integer exoid2, num_dim2, num_nodes2, num_elem2, num_elem_blk2
  11. integer num_elem_in_block(10), num_node_sets
  12. integer num_elem_in_block2(10), num_node_sets2
  13. integer num_side_sets, num_nodes_per_elem(10), numattr(10)
  14. integer num_side_sets2, num_nodes_per_elem2(10), numattr2(10)
  15. integer i, j, k, m, elem_map(5), connect(10)
  16. integer elem_map2(5), connect2(10)
  17. integer node_list(100), elem_list(100), side_list(100)
  18. integer node_list2(100), elem_list2(100), side_list2(100)
  19. integer ebids(10),ids(10),num_nodes_per_set(10)
  20. integer num_elem_per_set(10), num_df_per_set(10)
  21. integer ebids2(10)
  22. integer df_ind(10), node_ind(10), elem_ind(10)
  23. integer num_qa_rec, num_info
  24. integer num_qa_rec2,num_info2
  25. integer num_glo_vars, num_nod_vars, num_ele_vars
  26. integer num_glo_vars2, num_nod_vars2, num_ele_vars2
  27. integer truth_tab(3,5)
  28. integer whole_time_step, num_time_steps
  29. integer cpu_word_size, io_word_size
  30. integer prop_array(2)
  31. real glob_var_vals(100), nodal_var_vals(100)
  32. real time_value, elem_var_vals(100)
  33. real time_value2
  34. real x(100), y(100), z(100)
  35. real x2(100), y2(100), z2(100)
  36. real attrib(100), dist_fact(100)
  37. real attrib2(100), dist_fact2(100)
  38. character*(MXLNLN) title
  39. character*(MXLNLN) title2
  40. character*(MXSTLN) coord_names(3)
  41. character*(MXSTLN) coord_names2(3)
  42. character*(MXSTLN) cname
  43. character*(MXSTLN) cname2
  44. character*(MXSTLN) var_names(3)
  45. character*(MXSTLN) var_names2(3)
  46. character*(MXSTLN) qa_record(4,2)
  47. character*(MXSTLN) qa_record2(4,2)
  48. character*(MXLNLN) inform(3)
  49. character*(MXLNLN) inform2(3)
  50. character*(MXSTLN) prop_names(2)
  51. data iin /5/, iout /6/
  52. c
  53. c create EXODUS II files
  54. c
  55. cpu_word_size = 0
  56. io_word_size = 4
  57. c
  58. c first create a "regular" file that contains everything except
  59. c history variable info
  60. c
  61. exoid = excre ("test.exo",
  62. 1 EXCLOB, cpu_word_size, io_word_size, ierr)
  63. write (iout,'("after excre for test.exo,id: ",i4,", err=",i3)')
  64. 1 exoid, ierr
  65. write (iout,'(" cpu word size: ",i4," io word size: ",i4)')
  66. 1 cpu_word_size, io_word_size
  67. write (iout, '("after excre, error = ", i4)' ) ierr
  68. exoid2= excre ("test2.exo",
  69. 1 EXCLOB, cpu_word_size, io_word_size, ierr)
  70. write (iout,'("after excre for test2.exo,id: ",i4,", err=",i3)')
  71. 1 exoid2, ierr
  72. write (iout, '("after excre (2), error = ", i4)' ) ierr
  73. c
  74. c initialize file with parameters
  75. c
  76. title = "This is test 2"
  77. num_dim = 3
  78. num_nodes = 26
  79. num_elem = 5
  80. num_elem_blk = 5
  81. num_node_sets = 2
  82. num_side_sets = 5
  83. call expini (exoid, title, num_dim, num_nodes,
  84. 1 num_elem, num_elem_blk, num_node_sets,
  85. 2 num_side_sets, ierr)
  86. write (iout, '("after expini, error = ", i4)' ) ierr
  87. title2 = "This is test 2"
  88. num_dim2 = 3
  89. num_nodes2 = 26
  90. num_elem2 = 5
  91. num_elem_blk2 = 5
  92. num_node_sets2 = 2
  93. num_side_sets2 = 5
  94. call expini (exoid2, title2, num_dim2, num_nodes2,
  95. 1 num_elem2, num_elem_blk2, num_node_sets2,
  96. 2 num_side_sets2, ierr)
  97. write (iout, '("after expini (2), error = ", i4)' ) ierr
  98. c
  99. c write nodal coordinates values and names to database
  100. c
  101. c Quad #1
  102. x(1) = 0.0
  103. x(2) = 1.0
  104. x(3) = 1.0
  105. x(4) = 0.0
  106. y(1) = 0.0
  107. y(2) = 0.0
  108. y(3) = 1.0
  109. y(4) = 1.0
  110. z(1) = 0.0
  111. z(2) = 0.0
  112. z(3) = 0.0
  113. z(4) = 0.0
  114. c Quad #2
  115. x(5) = 1.0
  116. x(6) = 2.0
  117. x(7) = 2.0
  118. x(8) = 1.0
  119. y(5) = 0.0
  120. y(6) = 0.0
  121. y(7) = 1.0
  122. y(8) = 1.0
  123. z(5) = 0.0
  124. z(6) = 0.0
  125. z(7) = 0.0
  126. z(8) = 0.0
  127. c Hex #1
  128. x(9) = 0.0
  129. x(10) = 10.0
  130. x(11) = 10.0
  131. x(12) = 1.0
  132. x(13) = 1.0
  133. x(14) = 10.0
  134. x(15) = 10.0
  135. x(16) = 1.0
  136. y(9) = 0.0
  137. y(10) = 0.0
  138. y(11) = 0.0
  139. y(12) = 0.0
  140. y(13) = 10.0
  141. y(14) = 10.0
  142. y(15) = 10.0
  143. y(16) = 10.0
  144. z(9) = 0.0
  145. z(10) = 0.0
  146. z(11) =-10.0
  147. z(12) =-10.0
  148. z(13) = 0.0
  149. z(14) = 0.0
  150. z(15) =-10.0
  151. z(16) =-10.0
  152. c Tetra #1
  153. x(17) = 0.0
  154. x(18) = 1.0
  155. x(19) = 10.0
  156. x(20) = 7.0
  157. y(17) = 0.0
  158. y(18) = 0.0
  159. y(19) = 0.0
  160. y(20) = 5.0
  161. z(17) = 0.0
  162. z(18) = 5.0
  163. z(19) = 2.0
  164. z(20) = 3.0
  165. c Wedge #1
  166. x(21) = 3.0
  167. x(22) = 6.0
  168. x(23) = 0.0
  169. x(24) = 3.0
  170. x(25) = 6.0
  171. x(26) = 0.0
  172. y(21) = 0.0
  173. y(22) = 0.0
  174. y(23) = 0.0
  175. y(24) = 2.0
  176. y(25) = 2.0
  177. y(26) = 2.0
  178. z(21) = 6.0
  179. z(22) = 0.0
  180. z(23) = 0.0
  181. z(24) = 6.0
  182. z(25) = 2.0
  183. z(26) = 0.0
  184. call expcor (exoid, x, y, z, ierr)
  185. write (iout, '("after expcor, error = ", i4)' ) ierr
  186. c Quad #1
  187. x2(1) = 0.0
  188. x2(2) = 1.0
  189. x2(3) = 1.0
  190. x2(4) = 0.0
  191. y2(1) = 0.0
  192. y2(2) = 0.0
  193. y2(3) = 1.0
  194. y2(4) = 1.0
  195. z2(1) = 0.0
  196. z2(2) = 0.0
  197. z2(3) = 0.0
  198. z2(4) = 0.0
  199. c Quad #2
  200. x2(5) = 1.0
  201. x2(6) = 2.0
  202. x2(7) = 2.0
  203. x2(8) = 1.0
  204. y2(5) = 0.0
  205. y2(6) = 0.0
  206. y2(7) = 1.0
  207. y2(8) = 1.0
  208. z2(5) = 0.0
  209. z2(6) = 0.0
  210. z2(7) = 0.0
  211. z2(8) = 0.0
  212. c Hex #1
  213. x2(9) = 0.0
  214. x2(10) = 10.0
  215. x2(11) = 10.0
  216. x2(12) = 1.0
  217. x2(13) = 1.0
  218. x2(14) = 10.0
  219. x2(15) = 10.0
  220. x2(16) = 1.0
  221. y2(9) = 0.0
  222. y2(10) = 0.0
  223. y2(11) = 0.0
  224. y2(12) = 0.0
  225. y2(13) = 10.0
  226. y2(14) = 10.0
  227. y2(15) = 10.0
  228. y2(16) = 10.0
  229. z2(9) = 0.0
  230. z2(10) = 0.0
  231. z2(11) =-10.0
  232. z2(12) =-10.0
  233. z2(13) = 0.0
  234. z2(14) = 0.0
  235. z2(15) =-10.0
  236. z2(16) =-10.0
  237. c Tetra #1
  238. x2(17) = 0.0
  239. x2(18) = 1.0
  240. x2(19) = 10.0
  241. x2(20) = 7.0
  242. y2(17) = 0.0
  243. y2(18) = 0.0
  244. y2(19) = 0.0
  245. y2(20) = 5.0
  246. z2(17) = 0.0
  247. z2(18) = 5.0
  248. z2(19) = 2.0
  249. z2(20) = 3.0
  250. c Wedge #1
  251. x2(21) = 3.0
  252. x2(22) = 6.0
  253. x2(23) = 0.0
  254. x2(24) = 3.0
  255. x2(25) = 6.0
  256. x2(26) = 0.0
  257. y2(21) = 0.0
  258. y2(22) = 0.0
  259. y2(23) = 0.0
  260. y2(24) = 2.0
  261. y2(25) = 2.0
  262. y2(26) = 2.0
  263. z2(21) = 6.0
  264. z2(22) = 0.0
  265. z2(23) = 0.0
  266. z2(24) = 6.0
  267. z2(25) = 2.0
  268. z2(26) = 0.0
  269. call expcor (exoid2, x2, y2, z2, ierr)
  270. write (iout, '("after expcor (2), error = ", i4)' ) ierr
  271. coord_names(1) = "xcoor"
  272. coord_names(2) = "ycoor"
  273. coord_names(3) = "zcoor"
  274. call expcon (exoid, coord_names, ierr)
  275. write (iout, '("after expcon, error = ", i4)' ) ierr
  276. coord_names2(1) = "xcoor"
  277. coord_names2(2) = "ycoor"
  278. coord_names2(3) = "zcoor"
  279. call expcon (exoid2, coord_names2, ierr)
  280. write (iout, '("after expcon (2), error = ", i4)' ) ierr
  281. c
  282. c write element order map
  283. c
  284. do 10 i = 1, num_elem
  285. elem_map(i) = i
  286. 10 continue
  287. call expmap (exoid, elem_map, ierr)
  288. write (iout, '("after expmap, error = ", i4)' ) ierr
  289. do 12 i = 1, num_elem2
  290. elem_map2(i) = i
  291. 12 continue
  292. call expmap (exoid2, elem_map2, ierr)
  293. write (iout, '("after expmap (2), error = ", i4)' ) ierr
  294. c
  295. c write element block parameters
  296. c
  297. num_elem_in_block(1) = 1
  298. num_elem_in_block(2) = 1
  299. num_elem_in_block(3) = 1
  300. num_elem_in_block(4) = 1
  301. num_elem_in_block(5) = 1
  302. num_nodes_per_elem(1) = 4
  303. num_nodes_per_elem(2) = 4
  304. num_nodes_per_elem(3) = 8
  305. num_nodes_per_elem(4) = 4
  306. num_nodes_per_elem(5) = 6
  307. ebids(1) = 10
  308. ebids(2) = 11
  309. ebids(3) = 12
  310. ebids(4) = 13
  311. ebids(5) = 14
  312. numattr(1) = 1
  313. numattr(2) = 1
  314. numattr(3) = 1
  315. numattr(4) = 1
  316. numattr(5) = 1
  317. cname = "quad"
  318. call expelb (exoid,ebids(1),cname,num_elem_in_block(1),
  319. 1 num_nodes_per_elem(1),numattr(1),ierr)
  320. write (iout, '("after expelb, error = ", i4)' ) ierr
  321. call expelb (exoid,ebids(2),cname,num_elem_in_block(2),
  322. 1 num_nodes_per_elem(2),numattr(2),ierr)
  323. write (iout, '("after expelb, error = ", i4)' ) ierr
  324. cname = "hex"
  325. call expelb (exoid,ebids(3),cname,num_elem_in_block(3),
  326. 1 num_nodes_per_elem(3),numattr(3),ierr)
  327. write (iout, '("after expelb, error = ", i4)' ) ierr
  328. cname = "tetra"
  329. call expelb (exoid,ebids(4),cname,num_elem_in_block(4),
  330. 1 num_nodes_per_elem(4),numattr(4),ierr)
  331. write (iout, '("after expelb, error = ", i4)' ) ierr
  332. cname = "wedge"
  333. call expelb (exoid,ebids(5),cname,num_elem_in_block(5),
  334. 1 num_nodes_per_elem(5),numattr(5),ierr)
  335. write (iout, '("after expelb, error = ", i4)' ) ierr
  336. num_elem_in_block2(1) = 1
  337. num_elem_in_block2(2) = 1
  338. num_elem_in_block2(3) = 1
  339. num_elem_in_block2(4) = 1
  340. num_elem_in_block2(5) = 1
  341. num_nodes_per_elem2(1) = 4
  342. num_nodes_per_elem2(2) = 4
  343. num_nodes_per_elem2(3) = 8
  344. num_nodes_per_elem2(4) = 4
  345. num_nodes_per_elem2(5) = 6
  346. ebids2(1) = 10
  347. ebids2(2) = 11
  348. ebids2(3) = 12
  349. ebids2(4) = 13
  350. ebids2(5) = 14
  351. numattr2(1) = 1
  352. numattr2(2) = 1
  353. numattr2(3) = 1
  354. numattr2(4) = 1
  355. numattr2(5) = 1
  356. cname2 = "quad"
  357. call expelb(exoid2,ebids2(1),cname2,num_elem_in_block2(1),
  358. 1 num_nodes_per_elem2(1),numattr2(1),ierr)
  359. write (iout, '("after expelb (2), error = ", i4)' ) ierr
  360. call expelb(exoid2,ebids2(2),cname2,num_elem_in_block2(2),
  361. 1 num_nodes_per_elem2(2),numattr2(2),ierr)
  362. write (iout, '("after expelb (2), error = ", i4)' ) ierr
  363. cname2 = "hex"
  364. call expelb(exoid2,ebids2(3),cname2,num_elem_in_block2(3),
  365. 1 num_nodes_per_elem(3),numattr(3),ierr)
  366. write (iout, '("after expelb (2), error = ", i4)' ) ierr
  367. cname2 = "tetra"
  368. call expelb(exoid2,ebids2(4),cname2,num_elem_in_block2(4),
  369. 1 num_nodes_per_elem2(4),numattr2(4),ierr)
  370. write (iout, '("after expelb (2), error = ", i4)' ) ierr
  371. cname2 = "wedge"
  372. call expelb(exoid2,ebids2(5),cname2,num_elem_in_block2(5),
  373. 1 num_nodes_per_elem2(5),numattr2(5),ierr)
  374. write (iout, '("after expelb (2), error = ", i4)' ) ierr
  375. c write element block properties
  376. prop_names(1) = "MATL"
  377. prop_names(2) = "DENSITY"
  378. call exppn(exoid,EXEBLK,2,prop_names,ierr)
  379. write (iout, '("after exppn, error = ", i4)' ) ierr
  380. call expp(exoid, EXEBLK, ebids(1), "MATL", 10, ierr)
  381. write (iout, '("after expp, error = ", i4)' ) ierr
  382. call expp(exoid, EXEBLK, ebids(2), "MATL", 20, ierr)
  383. write (iout, '("after expp, error = ", i4)' ) ierr
  384. call expp(exoid, EXEBLK, ebids(3), "MATL", 30, ierr)
  385. write (iout, '("after expp, error = ", i4)' ) ierr
  386. call expp(exoid, EXEBLK, ebids(4), "MATL", 40, ierr)
  387. write (iout, '("after expp, error = ", i4)' ) ierr
  388. call expp(exoid, EXEBLK, ebids(5), "MATL", 50, ierr)
  389. write (iout, '("after expp, error = ", i4)' ) ierr
  390. call exppn(exoid2,EXEBLK,2,prop_names,ierr)
  391. write (iout, '("after exppn (2), error = ", i4)' ) ierr
  392. call expp(exoid2, EXEBLK, ebids(1), "MATL", 100, ierr)
  393. write (iout, '("after expp (2), error = ", i4)' ) ierr
  394. call expp(exoid2, EXEBLK, ebids(2), "MATL", 200, ierr)
  395. write (iout, '("after expp (2), error = ", i4)' ) ierr
  396. call expp(exoid2, EXEBLK, ebids(3), "MATL", 300, ierr)
  397. write (iout, '("after expp (2), error = ", i4)' ) ierr
  398. call expp(exoid2, EXEBLK, ebids(4), "MATL", 400, ierr)
  399. write (iout, '("after expp (2), error = ", i4)' ) ierr
  400. call expp(exoid2, EXEBLK, ebids(5), "MATL", 500, ierr)
  401. write (iout, '("after expp (2), error = ", i4)' ) ierr
  402. c
  403. c write element connectivity
  404. c
  405. connect(1) = 1
  406. connect(2) = 2
  407. connect(3) = 3
  408. connect(4) = 4
  409. call expelc (exoid, ebids(1), connect, ierr)
  410. write (iout, '("after expelc, error = ", i4)' ) ierr
  411. connect(1) = 5
  412. connect(2) = 6
  413. connect(3) = 7
  414. connect(4) = 8
  415. call expelc (exoid, ebids(2), connect, ierr)
  416. write (iout, '("after expelc, error = ", i4)' ) ierr
  417. connect(1) = 9
  418. connect(2) = 10
  419. connect(3) = 11
  420. connect(4) = 12
  421. connect(5) = 13
  422. connect(6) = 14
  423. connect(7) = 15
  424. connect(8) = 16
  425. call expelc (exoid, ebids(3), connect, ierr)
  426. write (iout, '("after expelc, error = ", i4)' ) ierr
  427. connect(1) = 17
  428. connect(2) = 18
  429. connect(3) = 19
  430. connect(4) = 20
  431. call expelc (exoid, ebids(4), connect, ierr)
  432. write (iout, '("after expelc, error = ", i4)' ) ierr
  433. connect(1) = 21
  434. connect(2) = 22
  435. connect(3) = 23
  436. connect(4) = 24
  437. connect(5) = 25
  438. connect(6) = 26
  439. call expelc (exoid, ebids(5), connect, ierr)
  440. write (iout, '("after expelc, error = ", i4)' ) ierr
  441. connect2(1) = 1
  442. connect2(2) = 2
  443. connect2(3) = 3
  444. connect2(4) = 4
  445. call expelc (exoid2, ebids2(1), connect2, ierr)
  446. write (iout, '("after expelc (2), error = ", i4)' ) ierr
  447. connect2(1) = 5
  448. connect2(2) = 6
  449. connect2(3) = 7
  450. connect2(4) = 8
  451. call expelc (exoid2, ebids2(2), connect2, ierr)
  452. write (iout, '("after expelc (2), error = ", i4)' ) ierr
  453. connect2(1) = 9
  454. connect2(2) = 10
  455. connect2(3) = 11
  456. connect2(4) = 12
  457. connect2(5) = 13
  458. connect2(6) = 14
  459. connect2(7) = 15
  460. connect2(8) = 16
  461. call expelc (exoid2, ebids2(3), connect2, ierr)
  462. write (iout, '("after expelc (2), error = ", i4)' ) ierr
  463. connect2(1) = 17
  464. connect2(2) = 18
  465. connect2(3) = 19
  466. connect2(4) = 20
  467. call expelc (exoid2, ebids2(4), connect2, ierr)
  468. write (iout, '("after expelc (2), error = ", i4)' ) ierr
  469. connect2(1) = 21
  470. connect2(2) = 22
  471. connect2(3) = 23
  472. connect2(4) = 24
  473. connect2(5) = 25
  474. connect2(6) = 26
  475. call expelc (exoid2, ebids2(5), connect2, ierr)
  476. write (iout, '("after expelc (2), error = ", i4)' ) ierr
  477. c
  478. c write element block attributes
  479. c
  480. attrib(1) = 3.14159
  481. call expeat (exoid, ebids(1), attrib, ierr)
  482. write (iout, '("after expeat, error = ", i4)' ) ierr
  483. attrib(1) = 6.14159
  484. call expeat (exoid, ebids(2), attrib, ierr)
  485. write (iout, '("after expeat, error = ", i4)' ) ierr
  486. call expeat (exoid, ebids(3), attrib, ierr)
  487. write (iout, '("after expeat, error = ", i4)' ) ierr
  488. call expeat (exoid, ebids(4), attrib, ierr)
  489. write (iout, '("after expeat, error = ", i4)' ) ierr
  490. call expeat (exoid, ebids(5), attrib, ierr)
  491. write (iout, '("after expeat, error = ", i4)' ) ierr
  492. attrib2(1) = 3.
  493. call expeat (exoid2, ebids2(1), attrib2, ierr)
  494. write (iout, '("after expeat (2), error = ", i4)' ) ierr
  495. attrib2(1) = 6.
  496. call expeat (exoid2, ebids2(2), attrib2, ierr)
  497. write (iout, '("after expeat (2), error = ", i4)' ) ierr
  498. call expeat (exoid2, ebids2(3), attrib2, ierr)
  499. write (iout, '("after expeat (2), error = ", i4)' ) ierr
  500. call expeat (exoid2, ebids2(4), attrib2, ierr)
  501. write (iout, '("after expeat (2), error = ", i4)' ) ierr
  502. call expeat (exoid2, ebids(5), attrib2, ierr)
  503. write (iout, '("after expeat (2), error = ", i4)' ) ierr
  504. c
  505. c write individual node sets
  506. c
  507. call expnp (exoid, 20, 5, 5, ierr)
  508. write (iout, '("after expnp, error = ", i4)' ) ierr
  509. node_list(1) = 100
  510. node_list(2) = 101
  511. node_list(3) = 102
  512. node_list(4) = 103
  513. node_list(5) = 104
  514. dist_fact(1) = 1.0
  515. dist_fact(2) = 2.0
  516. dist_fact(3) = 3.0
  517. dist_fact(4) = 4.0
  518. dist_fact(5) = 5.0
  519. call expns (exoid, 20, node_list, ierr)
  520. write (iout, '("after expns, error = ", i4)' ) ierr
  521. call expnsd (exoid, 20, dist_fact, ierr)
  522. write (iout, '("after expnsd, error = ", i4)' ) ierr
  523. call expnp (exoid, 21, 3, 3, ierr)
  524. write (iout, '("after expnp, error = ", i4)' ) ierr
  525. node_list(1) = 200
  526. node_list(2) = 201
  527. node_list(3) = 202
  528. dist_fact(1) = 1.1
  529. dist_fact(2) = 2.1
  530. dist_fact(3) = 3.1
  531. call expns (exoid, 21, node_list, ierr)
  532. write (iout, '("after expns, error = ", i4)' ) ierr
  533. call expnsd (exoid, 21, dist_fact, ierr)
  534. write (iout, '("after expnsd, error = ", i4)' ) ierr
  535. prop_names(1) = "FACE"
  536. call expp(exoid, EXNSET, 20, prop_names(1), 4, ierr)
  537. write (iout, '("after expp, error = ", i4)' ) ierr
  538. call expp(exoid, EXNSET, 21, prop_names(1), 5, ierr)
  539. write (iout, '("after expp, error = ", i4)' ) ierr
  540. prop_array(1) = 1000
  541. prop_array(2) = 2000
  542. prop_names(1) = "VELOCITY"
  543. call exppa(exoid, EXNSET, prop_names(1), prop_array, ierr)
  544. write (iout, '("after exppa, error = ", i4)' ) ierr
  545. C**** file 2
  546. call expnp (exoid2, 20, 5, 5, ierr)
  547. write (iout, '("after expnp (2), error = ", i4)' ) ierr
  548. node_list2(1) = 100
  549. node_list2(2) = 101
  550. node_list2(3) = 102
  551. node_list2(4) = 103
  552. node_list2(5) = 104
  553. dist_fact2(1) = 1.0
  554. dist_fact2(2) = 2.0
  555. dist_fact2(3) = 3.0
  556. dist_fact2(4) = 4.0
  557. dist_fact2(5) = 5.0
  558. call expns (exoid2, 20, node_list2, ierr)
  559. write (iout, '("after expns (2), error = ", i4)' ) ierr
  560. call expnsd (exoid2, 20, dist_fact2, ierr)
  561. write (iout, '("after expnsd (2), error = ", i4)' ) ierr
  562. call expnp (exoid2, 21, 3, 3, ierr)
  563. write (iout, '("after expnp (2), error = ", i4)' ) ierr
  564. node_list2(1) = 200
  565. node_list2(2) = 201
  566. node_list2(3) = 202
  567. dist_fact2(1) = 1.1
  568. dist_fact2(2) = 2.1
  569. dist_fact2(3) = 3.1
  570. call expns (exoid2, 21, node_list2, ierr)
  571. write (iout, '("after expns (2), error = ", i4)' ) ierr
  572. call expnsd (exoid2, 21, dist_fact2, ierr)
  573. write (iout, '("after expnsd (2), error = ", i4)' ) ierr
  574. c
  575. c write concatenated node sets; this produces the same information as
  576. c the above code which writes individual node sets
  577. c
  578. ids(1) = 20
  579. ids(2) = 21
  580. num_nodes_per_set(1) = 5
  581. num_nodes_per_set(2) = 3
  582. node_ind(1) = 1
  583. node_ind(2) = 6
  584. node_list(1) = 100
  585. node_list(2) = 101
  586. node_list(3) = 102
  587. node_list(4) = 103
  588. node_list(5) = 104
  589. node_list(6) = 200
  590. node_list(7) = 201
  591. node_list(8) = 202
  592. dist_fact(1) = 1.0
  593. dist_fact(2) = 2.0
  594. dist_fact(3) = 3.0
  595. dist_fact(4) = 4.0
  596. dist_fact(5) = 5.0
  597. dist_fact(6) = 1.1
  598. dist_fact(7) = 2.1
  599. dist_fact(8) = 3.1
  600. c call expcns (exoid, ids, num_nodes_per_set, node_ind, node_list,
  601. c 1 dist_fact, ierr)
  602. c write (iout, '("after expcns, error = ", i4)' ) ierr
  603. c
  604. prop_names(1) = "FACE"
  605. call expp(exoid2, EXNSET, 20, prop_names(1), 4, ierr)
  606. write (iout, '("after expp (2), error = ", i4)' ) ierr
  607. prop_names(1) = "FACE"
  608. call expp(exoid2, EXNSET, 21, prop_names(1), 5, ierr)
  609. write (iout, '("after expp (2), error = ", i4)' ) ierr
  610. prop_array(1) = 1000
  611. prop_array(2) = 2000
  612. prop_names(1) = "VELOCITY"
  613. call exppa(exoid2, EXNSET, prop_names(1), prop_array, ierr)
  614. write (iout, '("after exppa (2), error = ", i4)' ) ierr
  615. c write individual side sets
  616. c
  617. c side set #1 - quad
  618. elem_list(1) = 2
  619. elem_list(2) = 2
  620. side_list(1) = 4
  621. side_list(2) = 2
  622. dist_fact(1) = 30.0
  623. dist_fact(2) = 30.1
  624. dist_fact(3) = 30.2
  625. dist_fact(4) = 30.3
  626. call expsp (exoid, 30, 2, 4, ierr)
  627. write (iout, '("after expsp, error = ", i4)' ) ierr
  628. call expss (exoid, 30, elem_list, side_list, ierr)
  629. write (iout, '("after expss, error = ", i4)' ) ierr
  630. call expssd (exoid, 30, dist_fact, ierr)
  631. write (iout, '("after expssd, error = ", i4)' ) ierr
  632. c side set #2 - quad, spanning 2 elements
  633. elem_list(1) = 1
  634. elem_list(2) = 2
  635. side_list(1) = 2
  636. side_list(2) = 3
  637. dist_fact(1) = 31.0
  638. dist_fact(2) = 31.1
  639. dist_fact(3) = 31.2
  640. dist_fact(4) = 31.3
  641. call expsp (exoid, 31, 2, 4, ierr)
  642. write (iout, '("after expsp, error = ", i3)' ) ierr
  643. call expss (exoid, 31, elem_list, side_list, ierr)
  644. write (iout, '("after expss, error = ", i3)' ) ierr
  645. call expssd (exoid, 31, dist_fact, ierr)
  646. write (iout, '("after expssd, error = ", i3)' ) ierr
  647. c side set #3 - hex
  648. elem_list(1) = 3
  649. elem_list(2) = 3
  650. elem_list(3) = 3
  651. elem_list(4) = 3
  652. elem_list(5) = 3
  653. elem_list(6) = 3
  654. elem_list(7) = 3
  655. side_list(1) = 5
  656. side_list(2) = 3
  657. side_list(3) = 3
  658. side_list(4) = 2
  659. side_list(5) = 4
  660. side_list(6) = 1
  661. side_list(7) = 6
  662. call expsp (exoid, 32, 7, 0, ierr)
  663. write (iout, '("after expsp, error = ", i4)' ) ierr
  664. call expss (exoid, 32, elem_list, side_list, ierr)
  665. write (iout, '("after expss, error = ", i4)' ) ierr
  666. c side set #4 - tetras
  667. elem_list(1) = 4
  668. elem_list(2) = 4
  669. elem_list(3) = 4
  670. elem_list(4) = 4
  671. side_list(1) = 1
  672. side_list(2) = 2
  673. side_list(3) = 3
  674. side_list(4) = 4
  675. call expsp (exoid, 33, 4, 0, ierr)
  676. write (iout, '("after expsp, error = ", i4)' ) ierr
  677. call expss (exoid, 33, elem_list, side_list, ierr)
  678. write (iout, '("after expss, error = ", i4)' ) ierr
  679. c side set #5 - wedges
  680. elem_list(1) = 5
  681. elem_list(2) = 5
  682. elem_list(3) = 5
  683. elem_list(4) = 5
  684. elem_list(5) = 5
  685. side_list(1) = 1
  686. side_list(2) = 2
  687. side_list(3) = 3
  688. side_list(4) = 4
  689. side_list(5) = 5
  690. call expsp (exoid, 34, 5, 0, ierr)
  691. write (iout, '("after expsp, error = ", i4)' ) ierr
  692. call expss (exoid, 34, elem_list, side_list, ierr)
  693. write (iout, '("after expss, error = ", i4)' ) ierr
  694. c side set #1 - quad
  695. elem_list2(1) = 2
  696. elem_list2(2) = 2
  697. side_list2(1) = 4
  698. side_list2(2) = 2
  699. dist_fact2(1) = 30.0
  700. dist_fact2(2) = 30.1
  701. dist_fact2(3) = 30.2
  702. dist_fact2(4) = 30.3
  703. call expsp (exoid2, 30, 2, 4, ierr)
  704. write (iout, '("after expsp (2), error = ", i4)' ) ierr
  705. call expss (exoid2, 30, elem_list2, side_list2, ierr)
  706. write (iout, '("after expss (2), error = ", i4)' ) ierr
  707. call expssd (exoid2, 30, dist_fact2, ierr)
  708. write (iout, '("after expssd (2), error = ", i4)' ) ierr
  709. c side set #2 - quad, spanning 2 elements
  710. elem_list2(1) = 1
  711. elem_list2(2) = 2
  712. side_list2(1) = 2
  713. side_list2(2) = 3
  714. dist_fact2(1) = 31.0
  715. dist_fact2(2) = 31.1
  716. dist_fact2(3) = 31.2
  717. dist_fact2(4) = 31.3
  718. call expsp (exoid2, 31, 2, 4, ierr)
  719. write (iout, '("after expsp (2), error = ", i3)' ) ierr
  720. call expss (exoid2, 31, elem_list2, side_list2, ierr)
  721. write (iout, '("after expss (2), error = ", i3)' ) ierr
  722. call expssd (exoid2, 31, dist_fact2, ierr)
  723. write (iout, '("after expssd (2), error = ", i3)' ) ierr
  724. c side set #3 - hex
  725. elem_list2(1) = 3
  726. elem_list2(2) = 3
  727. elem_list2(3) = 3
  728. elem_list2(4) = 3
  729. elem_list2(5) = 3
  730. elem_list2(6) = 3
  731. elem_list2(7) = 3
  732. side_list2(1) = 5
  733. side_list2(2) = 3
  734. side_list2(3) = 3
  735. side_list2(4) = 2
  736. side_list2(5) = 4
  737. side_list2(6) = 1
  738. side_list2(7) = 6
  739. call expsp (exoid2, 32, 7, 0, ierr)
  740. write (iout, '("after expsp (2), error = ", i4)' ) ierr
  741. call expss (exoid2, 32, elem_list2, side_list2, ierr)
  742. write (iout, '("after expss (2), error = ", i4)' ) ierr
  743. c side set #4 - tetras
  744. elem_list2(1) = 4
  745. elem_list2(2) = 4
  746. elem_list2(3) = 4
  747. elem_list2(4) = 4
  748. side_list2(1) = 1
  749. side_list2(2) = 2
  750. side_list2(3) = 3
  751. side_list2(4) = 4
  752. call expsp (exoid2, 33, 4, 0, ierr)
  753. write (iout, '("after expsp (2), error = ", i4)' ) ierr
  754. call expss (exoid2, 33, elem_list2, side_list2, ierr)
  755. write (iout, '("after expss (2), error = ", i4)' ) ierr
  756. c side set #5 - wedges
  757. elem_list2(1) = 5
  758. elem_list2(2) = 5
  759. elem_list2(3) = 5
  760. elem_list2(4) = 5
  761. elem_list2(5) = 5
  762. side_list2(1) = 1
  763. side_list2(2) = 2
  764. side_list2(3) = 3
  765. side_list2(4) = 4
  766. side_list2(5) = 5
  767. call expsp (exoid2, 34, 5, 0, ierr)
  768. write (iout, '("after expsp (2), error = ", i4)' ) ierr
  769. call expss (exoid2, 34, elem_list2, side_list2, ierr)
  770. write (iout, '("after expss (2), error = ", i4)' ) ierr
  771. c
  772. c write concatenated side sets; this produces the same information as
  773. c the above code which writes individual side sets
  774. c
  775. ids(1) = 30
  776. ids(2) = 31
  777. ids(3) = 32
  778. ids(4) = 33
  779. ids(5) = 34
  780. c side set #1
  781. node_list(1) = 8
  782. node_list(2) = 5
  783. node_list(3) = 6
  784. node_list(4) = 7
  785. c side set #2
  786. node_list(5) = 2
  787. node_list(6) = 3
  788. node_list(7) = 7
  789. node_list(8) = 8
  790. c side set #3
  791. node_list(9) = 9
  792. node_list(10) = 12
  793. node_list(11) = 11
  794. node_list(12) = 10
  795. node_list(13) = 11
  796. node_list(14) = 12
  797. node_list(15) = 16
  798. node_list(16) = 15
  799. node_list(17) = 16
  800. node_list(18) = 15
  801. node_list(19) = 11
  802. node_list(20) = 12
  803. node_list(21) = 10
  804. node_list(22) = 11
  805. node_list(23) = 15
  806. node_list(24) = 14
  807. node_list(25) = 13
  808. node_list(26) = 16
  809. node_list(27) = 12
  810. node_list(28) = 9
  811. node_list(29) = 14
  812. node_list(30) = 13
  813. node_list(31) = 9
  814. node_list(32) = 10
  815. node_list(33) = 16
  816. node_list(34) = 13
  817. node_list(35) = 14
  818. node_list(36) = 15
  819. c side set #4
  820. node_list(37) = 17
  821. node_list(38) = 18
  822. node_list(39) = 20
  823. node_list(40) = 18
  824. node_list(41) = 19
  825. node_list(42) = 20
  826. node_list(43) = 20
  827. node_list(44) = 19
  828. node_list(45) = 17
  829. node_list(46) = 19
  830. node_list(47) = 18
  831. node_list(48) = 17
  832. c side set #5
  833. node_list(49) = 25
  834. node_list(50) = 24
  835. node_list(51) = 21
  836. node_list(52) = 22
  837. node_list(53) = 26
  838. node_list(54) = 25
  839. node_list(55) = 22
  840. node_list(56) = 23
  841. node_list(57) = 26
  842. node_list(58) = 23
  843. node_list(59) = 21
  844. node_list(60) = 24
  845. node_list(61) = 23
  846. node_list(62) = 22
  847. node_list(63) = 21
  848. node_list(64) = 24
  849. node_list(65) = 25
  850. node_list(66) = 26
  851. num_elem_per_set(1) = 2
  852. num_elem_per_set(2) = 2
  853. num_elem_per_set(3) = 7
  854. num_elem_per_set(4) = 4
  855. num_elem_per_set(5) = 5
  856. num_nodes_per_set(1) = 4
  857. num_nodes_per_set(2) = 4
  858. num_nodes_per_set(3) = 28
  859. num_nodes_per_set(4) = 12
  860. num_nodes_per_set(5) = 20
  861. elem_ind(1) = 1
  862. elem_ind(2) = 3
  863. elem_ind(3) = 5
  864. elem_ind(4) = 12
  865. elem_ind(5) = 16
  866. node_ind(1) = 1
  867. node_ind(2) = 5
  868. node_ind(3) = 9
  869. node_ind(4) = 37
  870. node_ind(5) = 48
  871. elem_list(1) = 3
  872. elem_list(2) = 3
  873. elem_list(3) = 1
  874. elem_list(4) = 3
  875. elem_list(5) = 4
  876. elem_list(6) = 4
  877. elem_list(7) = 4
  878. elem_list(8) = 4
  879. elem_list(9) = 4
  880. elem_list(10) = 4
  881. elem_list(11) = 4
  882. elem_list(12) = 5
  883. elem_list(13) = 5
  884. elem_list(14) = 5
  885. elem_list(15) = 5
  886. elem_list(16) = 6
  887. elem_list(17) = 6
  888. elem_list(18) = 6
  889. elem_list(19) = 6
  890. elem_list(20) = 6
  891. c side_list(1) = 1
  892. c side_list(2) = 2
  893. c side_list(3) = 3
  894. c side_list(4) = 4
  895. c call excn2s(exoid, num_elem_per_set, num_nodes_per_set, elem_ind,
  896. c 1 node_ind, elem_list, node_list, side_list, ierr)
  897. c write (iout, '("after excn2s, error = ", i4)' ) ierr
  898. num_df_per_set(1) = 4
  899. num_df_per_set(2) = 4
  900. num_df_per_set(3) = 0
  901. num_df_per_set(4) = 0
  902. num_df_per_set(5) = 0
  903. df_ind(1) = 1
  904. df_ind(2) = 5
  905. dist_fact(1) = 30.0
  906. dist_fact(2) = 30.1
  907. dist_fact(3) = 30.2
  908. dist_fact(4) = 30.3
  909. dist_fact(5) = 31.0
  910. dist_fact(6) = 31.1
  911. dist_fact(7) = 31.2
  912. dist_fact(8) = 31.3
  913. c call expcss (exoid, ids, num_elem_per_set, num_df_per_set,
  914. c 1 elem_ind, df_ind, elem_list, side_list, dist_fact,
  915. c 2 ierr)
  916. c write (iout, '("after expcss, error = ", i4)' ) ierr
  917. c call expcss (exoid2, ids, num_elem_per_set, num_df_per_set,
  918. c 1 elem_ind, df_ind, elem_list, side_list, dist_fact,
  919. c 2 ierr)
  920. c write (iout, '("after expcss (2), error = ", i4)' ) ierr
  921. prop_names(1) = "COLOR"
  922. call expp(exoid, EXSSET, 30, prop_names(1), 100, ierr)
  923. write (iout, '("after expp, error = ", i4)' ) ierr
  924. call expp(exoid, EXSSET, 31, prop_names(1), 101, ierr)
  925. write (iout, '("after expp, error = ", i4)' ) ierr
  926. prop_names(1) = "COLOR"
  927. call expp(exoid2, EXSSET, 30, prop_names(1), 100, ierr)
  928. write (iout, '("after expp (2), error = ", i4)' ) ierr
  929. call expp(exoid2, EXSSET, 31, prop_names(1), 101, ierr)
  930. write (iout, '("after expp (2), error = ", i4)' ) ierr
  931. c
  932. c write QA records
  933. c
  934. num_qa_rec = 2
  935. qa_record(1,1) = "TESTWT2 fortran version"
  936. qa_record(2,1) = "testwt2"
  937. qa_record(3,1) = "07/07/93"
  938. qa_record(4,1) = "15:41:33"
  939. qa_record(1,2) = "FASTQ"
  940. qa_record(2,2) = "fastq"
  941. qa_record(3,2) = "07/07/93"
  942. qa_record(4,2) = "16:41:33"
  943. call expqa (exoid, num_qa_rec, qa_record, ierr)
  944. write (iout, '("after expqa, error = ", i4)' ) ierr
  945. num_qa_rec2 = 2
  946. qa_record2(1,1) = "TESTWT2 fortran version"
  947. qa_record2(2,1) = "testwt2"
  948. qa_record2(3,1) = "07/07/93"
  949. qa_record2(4,1) = "15:41:33"
  950. qa_record2(1,2) = "FASTQ"
  951. qa_record2(2,2) = "fastq"
  952. qa_record2(3,2) = "07/07/93"
  953. qa_record2(4,2) = "16:41:33"
  954. call expqa (exoid2, num_qa_rec2, qa_record2, ierr)
  955. write (iout, '("after expqa (2), error = ", i4)' ) ierr
  956. c
  957. c write information records
  958. c
  959. num_info = 3
  960. inform(1) = "This is the first information record."
  961. inform(2) = "This is the second information record."
  962. inform(3) = "This is the third information record."
  963. call expinf (exoid, num_info, inform, ierr)
  964. write (iout, '("after expinf, error = ", i4)' ) ierr
  965. num_info2 = 3
  966. inform2(1) = "This is the first information record."
  967. inform2(2) = "This is the second information record."
  968. inform2(3) = "This is the third information record."
  969. call expinf (exoid2, num_info2, inform2, ierr)
  970. write (iout, '("after expinf (2), error = ", i4)' ) ierr
  971. c write results variables parameters and names
  972. num_glo_vars = 1
  973. var_names(1) = "glo_vars"
  974. call expvp (exoid, "g", num_glo_vars, ierr)
  975. write (iout, '("after expvp, error = ", i4)' ) ierr
  976. call expvan (exoid, "g", num_glo_vars, var_names, ierr)
  977. write (iout, '("after expvan, error = ", i4)' ) ierr
  978. num_glo_vars2 = 1
  979. var_names2(1) = "glo_vars"
  980. call expvp (exoid2, "g", num_glo_vars2, ierr)
  981. write (iout, '("after expvp (2), error = ", i4)' ) ierr
  982. call expvan (exoid2, "g", num_glo_vars2, var_names2, ierr)
  983. write (iout, '("after expvan (2), error = ", i4)' ) ierr
  984. num_nod_vars = 2
  985. var_names(1) = "nod_var0"
  986. var_names(2) = "nod_var1"
  987. call expvp (exoid, "n", num_nod_vars, ierr)
  988. write (iout, '("after expvp, error = ", i4)' ) ierr
  989. call expvan (exoid, "n", num_nod_vars, var_names, ierr)
  990. write (iout, '("after expvan, error = ", i4)' ) ierr
  991. num_nod_vars2 = 2
  992. var_names2(1) = "nod_var0"
  993. var_names2(2) = "nod_var1"
  994. call expvp (exoid2, "n", num_nod_vars2, ierr)
  995. write (iout, '("after expvp (2), error = ", i4)' ) ierr
  996. call expvan (exoid2, "n", num_nod_vars2, var_names2, ierr)
  997. write (iout, '("after expvan (2), error = ", i4)' ) ierr
  998. num_ele_vars = 3
  999. var_names(1) = "ele_var0"
  1000. var_names(2) = "ele_var1"
  1001. var_names(3) = "ele_var2"
  1002. call expvp (exoid, "e", num_ele_vars, ierr)
  1003. write (iout, '("after expvp, error = ", i4)' ) ierr
  1004. call expvan (exoid, "e", num_ele_vars, var_names, ierr)
  1005. write (iout, '("after expvan, error = ", i4)' ) ierr
  1006. num_ele_vars2 = 3
  1007. var_names2(1) = "ele_var0"
  1008. var_names2(2) = "ele_var1"
  1009. var_names2(3) = "ele_var2"
  1010. call expvp (exoid2, "e", num_ele_vars2, ierr)
  1011. write (iout, '("after expvp (2), error = ", i4)' ) ierr
  1012. call expvan (exoid2, "e", num_ele_vars2, var_names2, ierr)
  1013. write (iout, '("after expvan, error = ", i4)' ) ierr
  1014. c
  1015. c write element variable truth table
  1016. c
  1017. k = 0
  1018. do 30 i = 1,num_elem_blk
  1019. do 20 j = 1,num_ele_vars
  1020. truth_tab(j,i) = 1
  1021. 20 continue
  1022. 30 continue
  1023. call exgebi (exoid, ebids, ierr)
  1024. write (iout, '("after exgebi, error = ", i4)' ) ierr
  1025. call exgebi (exoid2, ebids2, ierr)
  1026. write (iout, '("after exgebi (2), error = ", i4)' ) ierr
  1027. call expvtt (exoid, num_elem_blk, num_ele_vars, truth_tab, ierr)
  1028. write (iout, '("after expvtt, error = ", i4)' ) ierr
  1029. call expvtt (exoid2, num_elem_blk, num_ele_vars, truth_tab, ierr)
  1030. write (iout, '("after expvtt, error = ", i4)' ) ierr
  1031. c
  1032. c for each time step, write the analysis results;
  1033. c the code below fills the arrays glob_var_vals,
  1034. c nodal_var_vals, and elem_var_vals with values for debugging purposes;
  1035. c obviously the analysis code will populate these arrays
  1036. c
  1037. whole_time_step = 1
  1038. num_time_steps = 10
  1039. do 110 i = 1, num_time_steps
  1040. time_value = real(i)/100
  1041. time_value2 = real(i)/100
  1042. c
  1043. c write time value to regular file
  1044. c
  1045. call exptim (exoid, whole_time_step, time_value, ierr)
  1046. write (iout, '("after exptim, error = ", i4)' ) ierr
  1047. call exptim (exoid2, whole_time_step, time_value2, ierr)
  1048. write (iout, '("after exptim (2), error = ", i4)' ) ierr
  1049. c
  1050. c write global variables
  1051. c
  1052. do 50 j = 1, num_glo_vars
  1053. glob_var_vals(j) = real(j+1) * time_value
  1054. 50 continue
  1055. call expgv (exoid, whole_time_step, num_glo_vars,
  1056. 1 glob_var_vals, ierr)
  1057. write (iout, '("after expgv, error = ", i4)' ) ierr
  1058. call expgv (exoid2, whole_time_step, num_glo_vars,
  1059. 1 glob_var_vals, ierr)
  1060. write (iout, '("after expgv (2), error = ", i4)' ) ierr
  1061. c
  1062. c write nodal variables
  1063. c
  1064. do 70 k = 1, num_nod_vars
  1065. do 60 j = 1, num_nodes
  1066. nodal_var_vals(j) = real(k) + (real(j) * time_value)
  1067. 60 continue
  1068. call expnv (exoid, whole_time_step, k, num_nodes,
  1069. 1 nodal_var_vals, ierr)
  1070. write (iout, '("after expnv, error = ", i4)' ) ierr
  1071. call expnv (exoid2, whole_time_step, k, num_nodes,
  1072. 1 nodal_var_vals, ierr)
  1073. write (iout, '("after expnv (2), error = ", i4)' ) ierr
  1074. 70 continue
  1075. c
  1076. c write element variables
  1077. c
  1078. do 100 k = 1, num_ele_vars
  1079. do 90 j = 1, num_elem_blk
  1080. do 80 m = 1, num_elem_in_block(j)
  1081. elem_var_vals(m) = real(k+1) + real(j+1) +
  1082. 1 (real(m)*time_value)
  1083. 80 continue
  1084. call expev (exoid, whole_time_step, k, ebids(j),
  1085. 1 num_elem_in_block(j), elem_var_vals, ierr)
  1086. write (iout, '("after expev, error = ", i4)' ) ierr
  1087. call expev (exoid2, whole_time_step, k, ebids(j),
  1088. 1 num_elem_in_block(j), elem_var_vals, ierr)
  1089. write (iout, '("after expev (2), error = ", i4)' ) ierr
  1090. 90 continue
  1091. 100 continue
  1092. whole_time_step = whole_time_step + 1
  1093. c
  1094. c update the data file; this should be done at the end of every time
  1095. c step to ensure that no data is lost if the analysis dies
  1096. c
  1097. call exupda (exoid, ierr)
  1098. write (iout, '("after exupda, error = ", i4)' ) ierr
  1099. call exupda (exoid2, ierr)
  1100. write (iout, '("after exupda (2), error = ", i4)' ) ierr
  1101. 110 continue
  1102. c
  1103. c close the EXODUS files
  1104. c
  1105. call exclos (exoid, ierr)
  1106. write (iout, '("after exclos, error = ", i4)' ) ierr
  1107. call exclos (exoid2, ierr)
  1108. write (iout, '("after exclos (2), error = ", i4)' ) ierr
  1109. stop
  1110. end