Exodus  7.22
/exodus_for/test/testwt2.f
1 C Copyright (c) 2005-2017 National Technology & Engineering Solutions
2 C of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
3 C NTESS, the U.S. Government retains certain rights in this software.
4 C
5 C Redistribution and use in source and binary forms, with or without
6 C modification, are permitted provided that the following conditions are
7 C met:
8 C
9 C * Redistributions of source code must retain the above copyright
10 C notice, this list of conditions and the following disclaimer.
11 C
12 C * Redistributions in binary form must reproduce the above
13 C copyright notice, this list of conditions and the following
14 C disclaimer in the documentation and/or other materials provided
15 C with the distribution.
16 C
17 C * Neither the name of NTESS nor the names of its
18 C contributors may be used to endorse or promote products derived
19 C from this software without specific prior written permission.
20 C
21 C THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 C "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 C LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 C A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 C OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 C SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 C LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 C DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 C THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 C (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 C OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 C
33 
34  program testwt2
35 c
36 c This is a test program for the Fortran binding of the EXODUS II
37 c database write routines. It tests multiple simultaneous output files.
38 c
39 c 09/07/93 V.R. Yarberry - Revised for 2.00 API
40 
41  include 'exodusII.inc'
42 
43  integer iin, iout
44  integer exoid, num_dim, num_nodes, num_elem, num_elem_blk
45  integer exoid2, num_dim2, num_nodes2, num_elem2, num_elem_blk2
46  integer num_elem_in_block(10), num_node_sets
47  integer num_elem_in_block2(10), num_node_sets2
48  integer num_side_sets, num_nodes_per_elem(10), numattr(10)
49  integer num_side_sets2, num_nodes_per_elem2(10), numattr2(10)
50  integer i, j, k, m, elem_map(5), connect(10)
51  integer elem_map2(5), connect2(10)
52  integer node_list(100), elem_list(100), side_list(100)
53  integer node_list2(100), elem_list2(100), side_list2(100)
54  integer ebids(10),ids(10),num_nodes_per_set(10)
55  integer num_elem_per_set(10), num_df_per_set(10)
56  integer ebids2(10)
57  integer df_ind(10), node_ind(10), elem_ind(10)
58  integer num_qa_rec, num_info
59  integer num_qa_rec2,num_info2
60  integer num_glo_vars, num_nod_vars, num_ele_vars
61  integer num_glo_vars2, num_nod_vars2, num_ele_vars2
62  integer truth_tab(3,5)
63  integer whole_time_step, num_time_steps
64  integer cpu_word_size, io_word_size
65  integer prop_array(2)
66 
67  real glob_var_vals(100), nodal_var_vals(100)
68  real time_value, elem_var_vals(100)
69  real time_value2
70  real x(100), y(100), z(100)
71  real x2(100), y2(100), z2(100)
72  real attrib(100), dist_fact(100)
73  real attrib2(100), dist_fact2(100)
74 
75  character*(MXLNLN) title
76  character*(MXLNLN) title2
77  character*(MXSTLN) coord_names(3)
78  character*(MXSTLN) coord_names2(3)
79  character*(MXSTLN) cname
80  character*(MXSTLN) cname2
81  character*(MXSTLN) var_names(3)
82  character*(MXSTLN) var_names2(3)
83  character*(MXSTLN) qa_record(4,2)
84  character*(MXSTLN) qa_record2(4,2)
85  character*(MXLNLN) inform(3)
86  character*(MXLNLN) inform2(3)
87  character*(MXSTLN) prop_names(2)
88 
89  data iin /5/, iout /6/
90 
91 c
92 c create EXODUS II files
93 c
94  cpu_word_size = 0
95  io_word_size = 4
96 c
97 c first create a "regular" file that contains everything except
98 c history variable info
99 c
100  exoid = excre("test.exo",
101  1 exclob, cpu_word_size, io_word_size, ierr)
102  write (iout,'("after excre for test.exo,id: ",i4,", err=",i3)')
103  1 exoid, ierr
104  write (iout,'(" cpu word size: ",i4," io word size: ",i4)')
105  1 cpu_word_size, io_word_size
106  write (iout, '("after excre, error = ", i4)' ) ierr
107 
108  exoid2= excre("test2.exo",
109  1 exclob, cpu_word_size, io_word_size, ierr)
110  write (iout,'("after excre for test2.exo,id: ",i4,", err=",i3)')
111  1 exoid2, ierr
112  write (iout, '("after excre (2), error = ", i4)' ) ierr
113 
114 c
115 c initialize file with parameters
116 c
117 
118  title = "This is test 2"
119  num_dim = 3
120  num_nodes = 26
121  num_elem = 5
122  num_elem_blk = 5
123  num_node_sets = 2
124  num_side_sets = 5
125 
126  call expini (exoid, title, num_dim, num_nodes,
127  1 num_elem, num_elem_blk, num_node_sets,
128  2 num_side_sets, ierr)
129 
130  write (iout, '("after expini, error = ", i4)' ) ierr
131 
132  title2 = "This is test 2"
133  num_dim2 = 3
134  num_nodes2 = 26
135  num_elem2 = 5
136  num_elem_blk2 = 5
137  num_node_sets2 = 2
138  num_side_sets2 = 5
139 
140  call expini (exoid2, title2, num_dim2, num_nodes2,
141  1 num_elem2, num_elem_blk2, num_node_sets2,
142  2 num_side_sets2, ierr)
143 
144  write (iout, '("after expini (2), error = ", i4)' ) ierr
145 
146 
147 c
148 c write nodal coordinates values and names to database
149 c
150 c Quad #1
151  x(1) = 0.0
152  x(2) = 1.0
153  x(3) = 1.0
154  x(4) = 0.0
155 
156  y(1) = 0.0
157  y(2) = 0.0
158  y(3) = 1.0
159  y(4) = 1.0
160 
161  z(1) = 0.0
162  z(2) = 0.0
163  z(3) = 0.0
164  z(4) = 0.0
165 
166 c Quad #2
167  x(5) = 1.0
168  x(6) = 2.0
169  x(7) = 2.0
170  x(8) = 1.0
171 
172  y(5) = 0.0
173  y(6) = 0.0
174  y(7) = 1.0
175  y(8) = 1.0
176 
177  z(5) = 0.0
178  z(6) = 0.0
179  z(7) = 0.0
180  z(8) = 0.0
181 
182 c Hex #1
183  x(9) = 0.0
184  x(10) = 10.0
185  x(11) = 10.0
186  x(12) = 1.0
187  x(13) = 1.0
188  x(14) = 10.0
189  x(15) = 10.0
190  x(16) = 1.0
191 
192  y(9) = 0.0
193  y(10) = 0.0
194  y(11) = 0.0
195  y(12) = 0.0
196  y(13) = 10.0
197  y(14) = 10.0
198  y(15) = 10.0
199  y(16) = 10.0
200 
201  z(9) = 0.0
202  z(10) = 0.0
203  z(11) =-10.0
204  z(12) =-10.0
205  z(13) = 0.0
206  z(14) = 0.0
207  z(15) =-10.0
208  z(16) =-10.0
209 
210 c Tetra #1
211  x(17) = 0.0
212  x(18) = 1.0
213  x(19) = 10.0
214  x(20) = 7.0
215 
216  y(17) = 0.0
217  y(18) = 0.0
218  y(19) = 0.0
219  y(20) = 5.0
220 
221  z(17) = 0.0
222  z(18) = 5.0
223  z(19) = 2.0
224  z(20) = 3.0
225 
226 c Wedge #1
227  x(21) = 3.0
228  x(22) = 6.0
229  x(23) = 0.0
230  x(24) = 3.0
231  x(25) = 6.0
232  x(26) = 0.0
233 
234  y(21) = 0.0
235  y(22) = 0.0
236  y(23) = 0.0
237  y(24) = 2.0
238  y(25) = 2.0
239  y(26) = 2.0
240 
241  z(21) = 6.0
242  z(22) = 0.0
243  z(23) = 0.0
244  z(24) = 6.0
245  z(25) = 2.0
246  z(26) = 0.0
247 
248  call expcor (exoid, x, y, z, ierr)
249  write (iout, '("after expcor, error = ", i4)' ) ierr
250 
251 c Quad #1
252  x2(1) = 0.0
253  x2(2) = 1.0
254  x2(3) = 1.0
255  x2(4) = 0.0
256 
257  y2(1) = 0.0
258  y2(2) = 0.0
259  y2(3) = 1.0
260  y2(4) = 1.0
261 
262  z2(1) = 0.0
263  z2(2) = 0.0
264  z2(3) = 0.0
265  z2(4) = 0.0
266 
267 c Quad #2
268  x2(5) = 1.0
269  x2(6) = 2.0
270  x2(7) = 2.0
271  x2(8) = 1.0
272 
273  y2(5) = 0.0
274  y2(6) = 0.0
275  y2(7) = 1.0
276  y2(8) = 1.0
277 
278  z2(5) = 0.0
279  z2(6) = 0.0
280  z2(7) = 0.0
281  z2(8) = 0.0
282 
283 c Hex #1
284  x2(9) = 0.0
285  x2(10) = 10.0
286  x2(11) = 10.0
287  x2(12) = 1.0
288  x2(13) = 1.0
289  x2(14) = 10.0
290  x2(15) = 10.0
291  x2(16) = 1.0
292 
293  y2(9) = 0.0
294  y2(10) = 0.0
295  y2(11) = 0.0
296  y2(12) = 0.0
297  y2(13) = 10.0
298  y2(14) = 10.0
299  y2(15) = 10.0
300  y2(16) = 10.0
301 
302  z2(9) = 0.0
303  z2(10) = 0.0
304  z2(11) =-10.0
305  z2(12) =-10.0
306  z2(13) = 0.0
307  z2(14) = 0.0
308  z2(15) =-10.0
309  z2(16) =-10.0
310 
311 c Tetra #1
312  x2(17) = 0.0
313  x2(18) = 1.0
314  x2(19) = 10.0
315  x2(20) = 7.0
316 
317  y2(17) = 0.0
318  y2(18) = 0.0
319  y2(19) = 0.0
320  y2(20) = 5.0
321 
322  z2(17) = 0.0
323  z2(18) = 5.0
324  z2(19) = 2.0
325  z2(20) = 3.0
326 
327 c Wedge #1
328  x2(21) = 3.0
329  x2(22) = 6.0
330  x2(23) = 0.0
331  x2(24) = 3.0
332  x2(25) = 6.0
333  x2(26) = 0.0
334 
335  y2(21) = 0.0
336  y2(22) = 0.0
337  y2(23) = 0.0
338  y2(24) = 2.0
339  y2(25) = 2.0
340  y2(26) = 2.0
341 
342  z2(21) = 6.0
343  z2(22) = 0.0
344  z2(23) = 0.0
345  z2(24) = 6.0
346  z2(25) = 2.0
347  z2(26) = 0.0
348 
349 
350  call expcor (exoid2, x2, y2, z2, ierr)
351  write (iout, '("after expcor (2), error = ", i4)' ) ierr
352 
353  coord_names(1) = "xcoor"
354  coord_names(2) = "ycoor"
355  coord_names(3) = "zcoor"
356 
357  call expcon (exoid, coord_names, ierr)
358  write (iout, '("after expcon, error = ", i4)' ) ierr
359 
360  coord_names2(1) = "xcoor"
361  coord_names2(2) = "ycoor"
362  coord_names2(3) = "zcoor"
363 
364  call expcon (exoid2, coord_names2, ierr)
365  write (iout, '("after expcon (2), error = ", i4)' ) ierr
366 
367 
368 c
369 c write element order map
370 c
371 
372  do 10 i = 1, num_elem
373  elem_map(i) = i
374 10 continue
375 
376  call expmap (exoid, elem_map, ierr)
377  write (iout, '("after expmap, error = ", i4)' ) ierr
378 
379  do 12 i = 1, num_elem2
380  elem_map2(i) = i
381 12 continue
382 
383  call expmap (exoid2, elem_map2, ierr)
384  write (iout, '("after expmap (2), error = ", i4)' ) ierr
385 
386 c
387 c write element block parameters
388 c
389 
390  num_elem_in_block(1) = 1
391  num_elem_in_block(2) = 1
392  num_elem_in_block(3) = 1
393  num_elem_in_block(4) = 1
394  num_elem_in_block(5) = 1
395 
396  num_nodes_per_elem(1) = 4
397  num_nodes_per_elem(2) = 4
398  num_nodes_per_elem(3) = 8
399  num_nodes_per_elem(4) = 4
400  num_nodes_per_elem(5) = 6
401 
402  ebids(1) = 10
403  ebids(2) = 11
404  ebids(3) = 12
405  ebids(4) = 13
406  ebids(5) = 14
407 
408  numattr(1) = 1
409  numattr(2) = 1
410  numattr(3) = 1
411  numattr(4) = 1
412  numattr(5) = 1
413 
414  cname = "quad"
415 
416  call expelb (exoid,ebids(1),cname,num_elem_in_block(1),
417  1 num_nodes_per_elem(1),numattr(1),ierr)
418  write (iout, '("after expelb, error = ", i4)' ) ierr
419 
420  call expelb (exoid,ebids(2),cname,num_elem_in_block(2),
421  1 num_nodes_per_elem(2),numattr(2),ierr)
422  write (iout, '("after expelb, error = ", i4)' ) ierr
423 
424  cname = "hex"
425  call expelb (exoid,ebids(3),cname,num_elem_in_block(3),
426  1 num_nodes_per_elem(3),numattr(3),ierr)
427  write (iout, '("after expelb, error = ", i4)' ) ierr
428 
429  cname = "tetra"
430  call expelb (exoid,ebids(4),cname,num_elem_in_block(4),
431  1 num_nodes_per_elem(4),numattr(4),ierr)
432  write (iout, '("after expelb, error = ", i4)' ) ierr
433 
434  cname = "wedge"
435  call expelb (exoid,ebids(5),cname,num_elem_in_block(5),
436  1 num_nodes_per_elem(5),numattr(5),ierr)
437  write (iout, '("after expelb, error = ", i4)' ) ierr
438 
439  num_elem_in_block2(1) = 1
440  num_elem_in_block2(2) = 1
441  num_elem_in_block2(3) = 1
442  num_elem_in_block2(4) = 1
443  num_elem_in_block2(5) = 1
444 
445  num_nodes_per_elem2(1) = 4
446  num_nodes_per_elem2(2) = 4
447  num_nodes_per_elem2(3) = 8
448  num_nodes_per_elem2(4) = 4
449  num_nodes_per_elem2(5) = 6
450 
451  ebids2(1) = 10
452  ebids2(2) = 11
453  ebids2(3) = 12
454  ebids2(4) = 13
455  ebids2(5) = 14
456 
457  numattr2(1) = 1
458  numattr2(2) = 1
459  numattr2(3) = 1
460  numattr2(4) = 1
461  numattr2(5) = 1
462 
463  cname2 = "quad"
464 
465  call expelb(exoid2,ebids2(1),cname2,num_elem_in_block2(1),
466  1 num_nodes_per_elem2(1),numattr2(1),ierr)
467  write (iout, '("after expelb (2), error = ", i4)' ) ierr
468 
469  call expelb(exoid2,ebids2(2),cname2,num_elem_in_block2(2),
470  1 num_nodes_per_elem2(2),numattr2(2),ierr)
471  write (iout, '("after expelb (2), error = ", i4)' ) ierr
472 
473  cname2 = "hex"
474  call expelb(exoid2,ebids2(3),cname2,num_elem_in_block2(3),
475  1 num_nodes_per_elem(3),numattr(3),ierr)
476  write (iout, '("after expelb (2), error = ", i4)' ) ierr
477 
478  cname2 = "tetra"
479  call expelb(exoid2,ebids2(4),cname2,num_elem_in_block2(4),
480  1 num_nodes_per_elem2(4),numattr2(4),ierr)
481  write (iout, '("after expelb (2), error = ", i4)' ) ierr
482 
483  cname2 = "wedge"
484  call expelb(exoid2,ebids2(5),cname2,num_elem_in_block2(5),
485  1 num_nodes_per_elem2(5),numattr2(5),ierr)
486  write (iout, '("after expelb (2), error = ", i4)' ) ierr
487 
488 
489 c write element block properties
490 
491  prop_names(1) = "MATL"
492  prop_names(2) = "DENSITY"
493  call exppn(exoid,exeblk,2,prop_names,ierr)
494  write (iout, '("after exppn, error = ", i4)' ) ierr
495 
496  call expp(exoid, exeblk, ebids(1), "MATL", 10, ierr)
497  write (iout, '("after expp, error = ", i4)' ) ierr
498  call expp(exoid, exeblk, ebids(2), "MATL", 20, ierr)
499  write (iout, '("after expp, error = ", i4)' ) ierr
500  call expp(exoid, exeblk, ebids(3), "MATL", 30, ierr)
501  write (iout, '("after expp, error = ", i4)' ) ierr
502  call expp(exoid, exeblk, ebids(4), "MATL", 40, ierr)
503  write (iout, '("after expp, error = ", i4)' ) ierr
504  call expp(exoid, exeblk, ebids(5), "MATL", 50, ierr)
505  write (iout, '("after expp, error = ", i4)' ) ierr
506 
507  call exppn(exoid2,exeblk,2,prop_names,ierr)
508  write (iout, '("after exppn (2), error = ", i4)' ) ierr
509 
510  call expp(exoid2, exeblk, ebids(1), "MATL", 100, ierr)
511  write (iout, '("after expp (2), error = ", i4)' ) ierr
512  call expp(exoid2, exeblk, ebids(2), "MATL", 200, ierr)
513  write (iout, '("after expp (2), error = ", i4)' ) ierr
514  call expp(exoid2, exeblk, ebids(3), "MATL", 300, ierr)
515  write (iout, '("after expp (2), error = ", i4)' ) ierr
516  call expp(exoid2, exeblk, ebids(4), "MATL", 400, ierr)
517  write (iout, '("after expp (2), error = ", i4)' ) ierr
518  call expp(exoid2, exeblk, ebids(5), "MATL", 500, ierr)
519  write (iout, '("after expp (2), error = ", i4)' ) ierr
520 
521 
522 c
523 c write element connectivity
524 c
525 
526  connect(1) = 1
527  connect(2) = 2
528  connect(3) = 3
529  connect(4) = 4
530 
531  call expelc (exoid, ebids(1), connect, ierr)
532  write (iout, '("after expelc, error = ", i4)' ) ierr
533 
534  connect(1) = 5
535  connect(2) = 6
536  connect(3) = 7
537  connect(4) = 8
538 
539  call expelc (exoid, ebids(2), connect, ierr)
540  write (iout, '("after expelc, error = ", i4)' ) ierr
541 
542  connect(1) = 9
543  connect(2) = 10
544  connect(3) = 11
545  connect(4) = 12
546  connect(5) = 13
547  connect(6) = 14
548  connect(7) = 15
549  connect(8) = 16
550 
551  call expelc (exoid, ebids(3), connect, ierr)
552  write (iout, '("after expelc, error = ", i4)' ) ierr
553 
554  connect(1) = 17
555  connect(2) = 18
556  connect(3) = 19
557  connect(4) = 20
558 
559  call expelc (exoid, ebids(4), connect, ierr)
560  write (iout, '("after expelc, error = ", i4)' ) ierr
561 
562  connect(1) = 21
563  connect(2) = 22
564  connect(3) = 23
565  connect(4) = 24
566  connect(5) = 25
567  connect(6) = 26
568 
569  call expelc (exoid, ebids(5), connect, ierr)
570  write (iout, '("after expelc, error = ", i4)' ) ierr
571 
572  connect2(1) = 1
573  connect2(2) = 2
574  connect2(3) = 3
575  connect2(4) = 4
576 
577  call expelc (exoid2, ebids2(1), connect2, ierr)
578  write (iout, '("after expelc (2), error = ", i4)' ) ierr
579 
580  connect2(1) = 5
581  connect2(2) = 6
582  connect2(3) = 7
583  connect2(4) = 8
584 
585  call expelc (exoid2, ebids2(2), connect2, ierr)
586  write (iout, '("after expelc (2), error = ", i4)' ) ierr
587 
588  connect2(1) = 9
589  connect2(2) = 10
590  connect2(3) = 11
591  connect2(4) = 12
592  connect2(5) = 13
593  connect2(6) = 14
594  connect2(7) = 15
595  connect2(8) = 16
596 
597  call expelc (exoid2, ebids2(3), connect2, ierr)
598  write (iout, '("after expelc (2), error = ", i4)' ) ierr
599 
600  connect2(1) = 17
601  connect2(2) = 18
602  connect2(3) = 19
603  connect2(4) = 20
604 
605  call expelc (exoid2, ebids2(4), connect2, ierr)
606  write (iout, '("after expelc (2), error = ", i4)' ) ierr
607 
608  connect2(1) = 21
609  connect2(2) = 22
610  connect2(3) = 23
611  connect2(4) = 24
612  connect2(5) = 25
613  connect2(6) = 26
614 
615  call expelc (exoid2, ebids2(5), connect2, ierr)
616  write (iout, '("after expelc (2), error = ", i4)' ) ierr
617 
618 c
619 c write element block attributes
620 c
621 
622  attrib(1) = 3.14159
623  call expeat (exoid, ebids(1), attrib, ierr)
624  write (iout, '("after expeat, error = ", i4)' ) ierr
625 
626  attrib(1) = 6.14159
627  call expeat (exoid, ebids(2), attrib, ierr)
628  write (iout, '("after expeat, error = ", i4)' ) ierr
629 
630  call expeat (exoid, ebids(3), attrib, ierr)
631  write (iout, '("after expeat, error = ", i4)' ) ierr
632 
633  call expeat (exoid, ebids(4), attrib, ierr)
634  write (iout, '("after expeat, error = ", i4)' ) ierr
635 
636  call expeat (exoid, ebids(5), attrib, ierr)
637  write (iout, '("after expeat, error = ", i4)' ) ierr
638 
639 
640  attrib2(1) = 3.
641  call expeat (exoid2, ebids2(1), attrib2, ierr)
642  write (iout, '("after expeat (2), error = ", i4)' ) ierr
643 
644  attrib2(1) = 6.
645  call expeat (exoid2, ebids2(2), attrib2, ierr)
646  write (iout, '("after expeat (2), error = ", i4)' ) ierr
647 
648  call expeat (exoid2, ebids2(3), attrib2, ierr)
649  write (iout, '("after expeat (2), error = ", i4)' ) ierr
650 
651  call expeat (exoid2, ebids2(4), attrib2, ierr)
652  write (iout, '("after expeat (2), error = ", i4)' ) ierr
653 
654  call expeat (exoid2, ebids(5), attrib2, ierr)
655  write (iout, '("after expeat (2), error = ", i4)' ) ierr
656 
657 
658 c
659 c write individual node sets
660 c
661 
662  call expnp (exoid, 20, 5, 5, ierr)
663  write (iout, '("after expnp, error = ", i4)' ) ierr
664 
665  node_list(1) = 100
666  node_list(2) = 101
667  node_list(3) = 102
668  node_list(4) = 103
669  node_list(5) = 104
670 
671  dist_fact(1) = 1.0
672  dist_fact(2) = 2.0
673  dist_fact(3) = 3.0
674  dist_fact(4) = 4.0
675  dist_fact(5) = 5.0
676 
677  call expns (exoid, 20, node_list, ierr)
678  write (iout, '("after expns, error = ", i4)' ) ierr
679  call expnsd (exoid, 20, dist_fact, ierr)
680  write (iout, '("after expnsd, error = ", i4)' ) ierr
681 
682  call expnp (exoid, 21, 3, 3, ierr)
683  write (iout, '("after expnp, error = ", i4)' ) ierr
684 
685  node_list(1) = 200
686  node_list(2) = 201
687  node_list(3) = 202
688 
689  dist_fact(1) = 1.1
690  dist_fact(2) = 2.1
691  dist_fact(3) = 3.1
692 
693  call expns (exoid, 21, node_list, ierr)
694  write (iout, '("after expns, error = ", i4)' ) ierr
695  call expnsd (exoid, 21, dist_fact, ierr)
696  write (iout, '("after expnsd, error = ", i4)' ) ierr
697 
698  prop_names(1) = "FACE"
699  call expp(exoid, exnset, 20, prop_names(1), 4, ierr)
700  write (iout, '("after expp, error = ", i4)' ) ierr
701 
702  call expp(exoid, exnset, 21, prop_names(1), 5, ierr)
703  write (iout, '("after expp, error = ", i4)' ) ierr
704 
705  prop_array(1) = 1000
706  prop_array(2) = 2000
707 
708  prop_names(1) = "VELOCITY"
709  call exppa(exoid, exnset, prop_names(1), prop_array, ierr)
710  write (iout, '("after exppa, error = ", i4)' ) ierr
711 
712 C**** file 2
713 
714  call expnp (exoid2, 20, 5, 5, ierr)
715  write (iout, '("after expnp (2), error = ", i4)' ) ierr
716 
717  node_list2(1) = 100
718  node_list2(2) = 101
719  node_list2(3) = 102
720  node_list2(4) = 103
721  node_list2(5) = 104
722 
723  dist_fact2(1) = 1.0
724  dist_fact2(2) = 2.0
725  dist_fact2(3) = 3.0
726  dist_fact2(4) = 4.0
727  dist_fact2(5) = 5.0
728 
729  call expns (exoid2, 20, node_list2, ierr)
730  write (iout, '("after expns (2), error = ", i4)' ) ierr
731  call expnsd (exoid2, 20, dist_fact2, ierr)
732  write (iout, '("after expnsd (2), error = ", i4)' ) ierr
733 
734  call expnp (exoid2, 21, 3, 3, ierr)
735  write (iout, '("after expnp (2), error = ", i4)' ) ierr
736 
737  node_list2(1) = 200
738  node_list2(2) = 201
739  node_list2(3) = 202
740 
741  dist_fact2(1) = 1.1
742  dist_fact2(2) = 2.1
743  dist_fact2(3) = 3.1
744 
745  call expns (exoid2, 21, node_list2, ierr)
746  write (iout, '("after expns (2), error = ", i4)' ) ierr
747  call expnsd (exoid2, 21, dist_fact2, ierr)
748  write (iout, '("after expnsd (2), error = ", i4)' ) ierr
749 
750 c
751 c write concatenated node sets; this produces the same information as
752 c the above code which writes individual node sets
753 c
754 
755  ids(1) = 20
756  ids(2) = 21
757 
758  num_nodes_per_set(1) = 5
759  num_nodes_per_set(2) = 3
760 
761  node_ind(1) = 1
762  node_ind(2) = 6
763 
764  node_list(1) = 100
765  node_list(2) = 101
766  node_list(3) = 102
767  node_list(4) = 103
768  node_list(5) = 104
769  node_list(6) = 200
770  node_list(7) = 201
771  node_list(8) = 202
772 
773  dist_fact(1) = 1.0
774  dist_fact(2) = 2.0
775  dist_fact(3) = 3.0
776  dist_fact(4) = 4.0
777  dist_fact(5) = 5.0
778  dist_fact(6) = 1.1
779  dist_fact(7) = 2.1
780  dist_fact(8) = 3.1
781 
782 c call expcns (exoid, ids, num_nodes_per_set, node_ind, node_list,
783 c 1 dist_fact, ierr)
784 c write (iout, '("after expcns, error = ", i4)' ) ierr
785 c
786 
787  prop_names(1) = "FACE"
788  call expp(exoid2, exnset, 20, prop_names(1), 4, ierr)
789  write (iout, '("after expp (2), error = ", i4)' ) ierr
790 
791  prop_names(1) = "FACE"
792  call expp(exoid2, exnset, 21, prop_names(1), 5, ierr)
793  write (iout, '("after expp (2), error = ", i4)' ) ierr
794 
795  prop_array(1) = 1000
796  prop_array(2) = 2000
797 
798  prop_names(1) = "VELOCITY"
799  call exppa(exoid2, exnset, prop_names(1), prop_array, ierr)
800  write (iout, '("after exppa (2), error = ", i4)' ) ierr
801 
802 c write individual side sets
803 c
804 
805 c side set #1 - quad
806 
807  elem_list(1) = 2
808  elem_list(2) = 2
809 
810  side_list(1) = 4
811  side_list(2) = 2
812 
813  dist_fact(1) = 30.0
814  dist_fact(2) = 30.1
815  dist_fact(3) = 30.2
816  dist_fact(4) = 30.3
817 
818  call expsp (exoid, 30, 2, 4, ierr)
819  write (iout, '("after expsp, error = ", i4)' ) ierr
820 
821  call expss (exoid, 30, elem_list, side_list, ierr)
822  write (iout, '("after expss, error = ", i4)' ) ierr
823 
824  call expssd (exoid, 30, dist_fact, ierr)
825  write (iout, '("after expssd, error = ", i4)' ) ierr
826 
827 c side set #2 - quad, spanning 2 elements
828 
829  elem_list(1) = 1
830  elem_list(2) = 2
831 
832  side_list(1) = 2
833  side_list(2) = 3
834 
835  dist_fact(1) = 31.0
836  dist_fact(2) = 31.1
837  dist_fact(3) = 31.2
838  dist_fact(4) = 31.3
839 
840  call expsp (exoid, 31, 2, 4, ierr)
841  write (iout, '("after expsp, error = ", i3)' ) ierr
842 
843  call expss (exoid, 31, elem_list, side_list, ierr)
844  write (iout, '("after expss, error = ", i3)' ) ierr
845 
846  call expssd (exoid, 31, dist_fact, ierr)
847  write (iout, '("after expssd, error = ", i3)' ) ierr
848 
849 c side set #3 - hex
850 
851  elem_list(1) = 3
852  elem_list(2) = 3
853  elem_list(3) = 3
854  elem_list(4) = 3
855  elem_list(5) = 3
856  elem_list(6) = 3
857  elem_list(7) = 3
858 
859  side_list(1) = 5
860  side_list(2) = 3
861  side_list(3) = 3
862  side_list(4) = 2
863  side_list(5) = 4
864  side_list(6) = 1
865  side_list(7) = 6
866 
867  call expsp (exoid, 32, 7, 0, ierr)
868  write (iout, '("after expsp, error = ", i4)' ) ierr
869 
870  call expss (exoid, 32, elem_list, side_list, ierr)
871  write (iout, '("after expss, error = ", i4)' ) ierr
872 
873 c side set #4 - tetras
874 
875  elem_list(1) = 4
876  elem_list(2) = 4
877  elem_list(3) = 4
878  elem_list(4) = 4
879 
880  side_list(1) = 1
881  side_list(2) = 2
882  side_list(3) = 3
883  side_list(4) = 4
884 
885  call expsp (exoid, 33, 4, 0, ierr)
886  write (iout, '("after expsp, error = ", i4)' ) ierr
887 
888  call expss (exoid, 33, elem_list, side_list, ierr)
889  write (iout, '("after expss, error = ", i4)' ) ierr
890 
891 c side set #5 - wedges
892 
893  elem_list(1) = 5
894  elem_list(2) = 5
895  elem_list(3) = 5
896  elem_list(4) = 5
897  elem_list(5) = 5
898 
899  side_list(1) = 1
900  side_list(2) = 2
901  side_list(3) = 3
902  side_list(4) = 4
903  side_list(5) = 5
904 
905  call expsp (exoid, 34, 5, 0, ierr)
906  write (iout, '("after expsp, error = ", i4)' ) ierr
907 
908  call expss (exoid, 34, elem_list, side_list, ierr)
909  write (iout, '("after expss, error = ", i4)' ) ierr
910 
911 
912 c side set #1 - quad
913 
914  elem_list2(1) = 2
915  elem_list2(2) = 2
916 
917  side_list2(1) = 4
918  side_list2(2) = 2
919 
920  dist_fact2(1) = 30.0
921  dist_fact2(2) = 30.1
922  dist_fact2(3) = 30.2
923  dist_fact2(4) = 30.3
924 
925  call expsp (exoid2, 30, 2, 4, ierr)
926  write (iout, '("after expsp (2), error = ", i4)' ) ierr
927 
928  call expss (exoid2, 30, elem_list2, side_list2, ierr)
929  write (iout, '("after expss (2), error = ", i4)' ) ierr
930 
931  call expssd (exoid2, 30, dist_fact2, ierr)
932  write (iout, '("after expssd (2), error = ", i4)' ) ierr
933 
934 c side set #2 - quad, spanning 2 elements
935 
936  elem_list2(1) = 1
937  elem_list2(2) = 2
938 
939  side_list2(1) = 2
940  side_list2(2) = 3
941 
942  dist_fact2(1) = 31.0
943  dist_fact2(2) = 31.1
944  dist_fact2(3) = 31.2
945  dist_fact2(4) = 31.3
946 
947  call expsp (exoid2, 31, 2, 4, ierr)
948  write (iout, '("after expsp (2), error = ", i3)' ) ierr
949 
950  call expss (exoid2, 31, elem_list2, side_list2, ierr)
951  write (iout, '("after expss (2), error = ", i3)' ) ierr
952 
953  call expssd (exoid2, 31, dist_fact2, ierr)
954  write (iout, '("after expssd (2), error = ", i3)' ) ierr
955 
956 c side set #3 - hex
957 
958  elem_list2(1) = 3
959  elem_list2(2) = 3
960  elem_list2(3) = 3
961  elem_list2(4) = 3
962  elem_list2(5) = 3
963  elem_list2(6) = 3
964  elem_list2(7) = 3
965 
966  side_list2(1) = 5
967  side_list2(2) = 3
968  side_list2(3) = 3
969  side_list2(4) = 2
970  side_list2(5) = 4
971  side_list2(6) = 1
972  side_list2(7) = 6
973 
974  call expsp (exoid2, 32, 7, 0, ierr)
975  write (iout, '("after expsp (2), error = ", i4)' ) ierr
976 
977  call expss (exoid2, 32, elem_list2, side_list2, ierr)
978  write (iout, '("after expss (2), error = ", i4)' ) ierr
979 
980 c side set #4 - tetras
981 
982  elem_list2(1) = 4
983  elem_list2(2) = 4
984  elem_list2(3) = 4
985  elem_list2(4) = 4
986 
987  side_list2(1) = 1
988  side_list2(2) = 2
989  side_list2(3) = 3
990  side_list2(4) = 4
991 
992  call expsp (exoid2, 33, 4, 0, ierr)
993  write (iout, '("after expsp (2), error = ", i4)' ) ierr
994 
995  call expss (exoid2, 33, elem_list2, side_list2, ierr)
996  write (iout, '("after expss (2), error = ", i4)' ) ierr
997 
998 c side set #5 - wedges
999 
1000  elem_list2(1) = 5
1001  elem_list2(2) = 5
1002  elem_list2(3) = 5
1003  elem_list2(4) = 5
1004  elem_list2(5) = 5
1005 
1006  side_list2(1) = 1
1007  side_list2(2) = 2
1008  side_list2(3) = 3
1009  side_list2(4) = 4
1010  side_list2(5) = 5
1011 
1012  call expsp (exoid2, 34, 5, 0, ierr)
1013  write (iout, '("after expsp (2), error = ", i4)' ) ierr
1014 
1015  call expss (exoid2, 34, elem_list2, side_list2, ierr)
1016  write (iout, '("after expss (2), error = ", i4)' ) ierr
1017 
1018 c
1019 c write concatenated side sets; this produces the same information as
1020 c the above code which writes individual side sets
1021 c
1022  ids(1) = 30
1023  ids(2) = 31
1024  ids(3) = 32
1025  ids(4) = 33
1026  ids(5) = 34
1027 
1028 c side set #1
1029  node_list(1) = 8
1030  node_list(2) = 5
1031  node_list(3) = 6
1032  node_list(4) = 7
1033 
1034 c side set #2
1035  node_list(5) = 2
1036  node_list(6) = 3
1037  node_list(7) = 7
1038  node_list(8) = 8
1039 
1040 c side set #3
1041  node_list(9) = 9
1042  node_list(10) = 12
1043  node_list(11) = 11
1044  node_list(12) = 10
1045 
1046  node_list(13) = 11
1047  node_list(14) = 12
1048  node_list(15) = 16
1049  node_list(16) = 15
1050 
1051  node_list(17) = 16
1052  node_list(18) = 15
1053  node_list(19) = 11
1054  node_list(20) = 12
1055 
1056  node_list(21) = 10
1057  node_list(22) = 11
1058  node_list(23) = 15
1059  node_list(24) = 14
1060 
1061  node_list(25) = 13
1062  node_list(26) = 16
1063  node_list(27) = 12
1064  node_list(28) = 9
1065 
1066  node_list(29) = 14
1067  node_list(30) = 13
1068  node_list(31) = 9
1069  node_list(32) = 10
1070 
1071  node_list(33) = 16
1072  node_list(34) = 13
1073  node_list(35) = 14
1074  node_list(36) = 15
1075 
1076 c side set #4
1077  node_list(37) = 17
1078  node_list(38) = 18
1079  node_list(39) = 20
1080 
1081  node_list(40) = 18
1082  node_list(41) = 19
1083  node_list(42) = 20
1084 
1085  node_list(43) = 20
1086  node_list(44) = 19
1087  node_list(45) = 17
1088 
1089  node_list(46) = 19
1090  node_list(47) = 18
1091  node_list(48) = 17
1092 
1093 c side set #5
1094  node_list(49) = 25
1095  node_list(50) = 24
1096  node_list(51) = 21
1097  node_list(52) = 22
1098 
1099  node_list(53) = 26
1100  node_list(54) = 25
1101  node_list(55) = 22
1102  node_list(56) = 23
1103 
1104  node_list(57) = 26
1105  node_list(58) = 23
1106  node_list(59) = 21
1107  node_list(60) = 24
1108 
1109  node_list(61) = 23
1110  node_list(62) = 22
1111  node_list(63) = 21
1112 
1113  node_list(64) = 24
1114  node_list(65) = 25
1115  node_list(66) = 26
1116 
1117  num_elem_per_set(1) = 2
1118  num_elem_per_set(2) = 2
1119  num_elem_per_set(3) = 7
1120  num_elem_per_set(4) = 4
1121  num_elem_per_set(5) = 5
1122 
1123  num_nodes_per_set(1) = 4
1124  num_nodes_per_set(2) = 4
1125  num_nodes_per_set(3) = 28
1126  num_nodes_per_set(4) = 12
1127  num_nodes_per_set(5) = 20
1128 
1129  elem_ind(1) = 1
1130  elem_ind(2) = 3
1131  elem_ind(3) = 5
1132  elem_ind(4) = 12
1133  elem_ind(5) = 16
1134 
1135  node_ind(1) = 1
1136  node_ind(2) = 5
1137  node_ind(3) = 9
1138  node_ind(4) = 37
1139  node_ind(5) = 48
1140 
1141  elem_list(1) = 3
1142  elem_list(2) = 3
1143  elem_list(3) = 1
1144  elem_list(4) = 3
1145  elem_list(5) = 4
1146  elem_list(6) = 4
1147  elem_list(7) = 4
1148  elem_list(8) = 4
1149  elem_list(9) = 4
1150  elem_list(10) = 4
1151  elem_list(11) = 4
1152  elem_list(12) = 5
1153  elem_list(13) = 5
1154  elem_list(14) = 5
1155  elem_list(15) = 5
1156  elem_list(16) = 6
1157  elem_list(17) = 6
1158  elem_list(18) = 6
1159  elem_list(19) = 6
1160  elem_list(20) = 6
1161 
1162 c side_list(1) = 1
1163 c side_list(2) = 2
1164 c side_list(3) = 3
1165 c side_list(4) = 4
1166 
1167 
1168 c call excn2s(exoid, num_elem_per_set, num_nodes_per_set, elem_ind,
1169 c 1 node_ind, elem_list, node_list, side_list, ierr)
1170 c write (iout, '("after excn2s, error = ", i4)' ) ierr
1171 
1172  num_df_per_set(1) = 4
1173  num_df_per_set(2) = 4
1174  num_df_per_set(3) = 0
1175  num_df_per_set(4) = 0
1176  num_df_per_set(5) = 0
1177 
1178  df_ind(1) = 1
1179  df_ind(2) = 5
1180 
1181 
1182  dist_fact(1) = 30.0
1183  dist_fact(2) = 30.1
1184  dist_fact(3) = 30.2
1185  dist_fact(4) = 30.3
1186  dist_fact(5) = 31.0
1187  dist_fact(6) = 31.1
1188  dist_fact(7) = 31.2
1189  dist_fact(8) = 31.3
1190 
1191 c call expcss (exoid, ids, num_elem_per_set, num_df_per_set,
1192 c 1 elem_ind, df_ind, elem_list, side_list, dist_fact,
1193 c 2 ierr)
1194 c write (iout, '("after expcss, error = ", i4)' ) ierr
1195 
1196 c call expcss (exoid2, ids, num_elem_per_set, num_df_per_set,
1197 c 1 elem_ind, df_ind, elem_list, side_list, dist_fact,
1198 c 2 ierr)
1199 c write (iout, '("after expcss (2), error = ", i4)' ) ierr
1200 
1201  prop_names(1) = "COLOR"
1202  call expp(exoid, exsset, 30, prop_names(1), 100, ierr)
1203  write (iout, '("after expp, error = ", i4)' ) ierr
1204 
1205  call expp(exoid, exsset, 31, prop_names(1), 101, ierr)
1206  write (iout, '("after expp, error = ", i4)' ) ierr
1207 
1208 
1209  prop_names(1) = "COLOR"
1210  call expp(exoid2, exsset, 30, prop_names(1), 100, ierr)
1211  write (iout, '("after expp (2), error = ", i4)' ) ierr
1212 
1213  call expp(exoid2, exsset, 31, prop_names(1), 101, ierr)
1214  write (iout, '("after expp (2), error = ", i4)' ) ierr
1215 
1216 
1217 c
1218 c write QA records
1219 c
1220 
1221  num_qa_rec = 2
1222 
1223  qa_record(1,1) = "TESTWT2 fortran version"
1224  qa_record(2,1) = "testwt2"
1225  qa_record(3,1) = "07/07/93"
1226  qa_record(4,1) = "15:41:33"
1227  qa_record(1,2) = "FASTQ"
1228  qa_record(2,2) = "fastq"
1229  qa_record(3,2) = "07/07/93"
1230  qa_record(4,2) = "16:41:33"
1231 
1232  call expqa (exoid, num_qa_rec, qa_record, ierr)
1233  write (iout, '("after expqa, error = ", i4)' ) ierr
1234 
1235  num_qa_rec2 = 2
1236 
1237  qa_record2(1,1) = "TESTWT2 fortran version"
1238  qa_record2(2,1) = "testwt2"
1239  qa_record2(3,1) = "07/07/93"
1240  qa_record2(4,1) = "15:41:33"
1241  qa_record2(1,2) = "FASTQ"
1242  qa_record2(2,2) = "fastq"
1243  qa_record2(3,2) = "07/07/93"
1244  qa_record2(4,2) = "16:41:33"
1245 
1246  call expqa (exoid2, num_qa_rec2, qa_record2, ierr)
1247  write (iout, '("after expqa (2), error = ", i4)' ) ierr
1248 
1249 
1250 c
1251 c write information records
1252 c
1253 
1254  num_info = 3
1255 
1256  inform(1) = "This is the first information record."
1257  inform(2) = "This is the second information record."
1258  inform(3) = "This is the third information record."
1259 
1260  call expinf (exoid, num_info, inform, ierr)
1261  write (iout, '("after expinf, error = ", i4)' ) ierr
1262 
1263  num_info2 = 3
1264 
1265  inform2(1) = "This is the first information record."
1266  inform2(2) = "This is the second information record."
1267  inform2(3) = "This is the third information record."
1268 
1269  call expinf (exoid2, num_info2, inform2, ierr)
1270  write (iout, '("after expinf (2), error = ", i4)' ) ierr
1271 
1272 
1273 c write results variables parameters and names
1274 
1275  num_glo_vars = 1
1276 
1277  var_names(1) = "glo_vars"
1278 
1279  call expvp (exoid, "g", num_glo_vars, ierr)
1280  write (iout, '("after expvp, error = ", i4)' ) ierr
1281  call expvan (exoid, "g", num_glo_vars, var_names, ierr)
1282  write (iout, '("after expvan, error = ", i4)' ) ierr
1283 
1284  num_glo_vars2 = 1
1285 
1286  var_names2(1) = "glo_vars"
1287 
1288  call expvp (exoid2, "g", num_glo_vars2, ierr)
1289  write (iout, '("after expvp (2), error = ", i4)' ) ierr
1290  call expvan (exoid2, "g", num_glo_vars2, var_names2, ierr)
1291  write (iout, '("after expvan (2), error = ", i4)' ) ierr
1292 
1293 
1294  num_nod_vars = 2
1295 
1296  var_names(1) = "nod_var0"
1297  var_names(2) = "nod_var1"
1298 
1299  call expvp (exoid, "n", num_nod_vars, ierr)
1300  write (iout, '("after expvp, error = ", i4)' ) ierr
1301  call expvan (exoid, "n", num_nod_vars, var_names, ierr)
1302  write (iout, '("after expvan, error = ", i4)' ) ierr
1303 
1304  num_nod_vars2 = 2
1305 
1306  var_names2(1) = "nod_var0"
1307  var_names2(2) = "nod_var1"
1308 
1309  call expvp (exoid2, "n", num_nod_vars2, ierr)
1310  write (iout, '("after expvp (2), error = ", i4)' ) ierr
1311  call expvan (exoid2, "n", num_nod_vars2, var_names2, ierr)
1312  write (iout, '("after expvan (2), error = ", i4)' ) ierr
1313 
1314 
1315  num_ele_vars = 3
1316 
1317  var_names(1) = "ele_var0"
1318  var_names(2) = "ele_var1"
1319  var_names(3) = "ele_var2"
1320 
1321  call expvp (exoid, "e", num_ele_vars, ierr)
1322  write (iout, '("after expvp, error = ", i4)' ) ierr
1323  call expvan (exoid, "e", num_ele_vars, var_names, ierr)
1324  write (iout, '("after expvan, error = ", i4)' ) ierr
1325 
1326  num_ele_vars2 = 3
1327 
1328  var_names2(1) = "ele_var0"
1329  var_names2(2) = "ele_var1"
1330  var_names2(3) = "ele_var2"
1331 
1332  call expvp (exoid2, "e", num_ele_vars2, ierr)
1333  write (iout, '("after expvp (2), error = ", i4)' ) ierr
1334  call expvan (exoid2, "e", num_ele_vars2, var_names2, ierr)
1335  write (iout, '("after expvan, error = ", i4)' ) ierr
1336 
1337 c
1338 c write element variable truth table
1339 c
1340 
1341  k = 0
1342 
1343  do 30 i = 1,num_elem_blk
1344  do 20 j = 1,num_ele_vars
1345  truth_tab(j,i) = 1
1346 20 continue
1347 30 continue
1348 
1349  call exgebi (exoid, ebids, ierr)
1350  write (iout, '("after exgebi, error = ", i4)' ) ierr
1351  call exgebi (exoid2, ebids2, ierr)
1352  write (iout, '("after exgebi (2), error = ", i4)' ) ierr
1353  call expvtt (exoid, num_elem_blk, num_ele_vars, truth_tab, ierr)
1354  write (iout, '("after expvtt, error = ", i4)' ) ierr
1355  call expvtt (exoid2, num_elem_blk, num_ele_vars, truth_tab, ierr)
1356  write (iout, '("after expvtt, error = ", i4)' ) ierr
1357 
1358 c
1359 c for each time step, write the analysis results;
1360 c the code below fills the arrays glob_var_vals,
1361 c nodal_var_vals, and elem_var_vals with values for debugging purposes;
1362 c obviously the analysis code will populate these arrays
1363 c
1364 
1365  whole_time_step = 1
1366  num_time_steps = 10
1367 
1368  do 110 i = 1, num_time_steps
1369  time_value = real(i)/100
1370  time_value2 = real(i)/100
1371 c
1372 c write time value to regular file
1373 c
1374 
1375  call exptim (exoid, whole_time_step, time_value, ierr)
1376  write (iout, '("after exptim, error = ", i4)' ) ierr
1377 
1378  call exptim (exoid2, whole_time_step, time_value2, ierr)
1379  write (iout, '("after exptim (2), error = ", i4)' ) ierr
1380 
1381 c
1382 c write global variables
1383 c
1384 
1385  do 50 j = 1, num_glo_vars
1386  glob_var_vals(j) = real(j+1) * time_value
1387 50 continue
1388 
1389  call expgv (exoid, whole_time_step, num_glo_vars,
1390  1 glob_var_vals, ierr)
1391  write (iout, '("after expgv, error = ", i4)' ) ierr
1392 
1393  call expgv (exoid2, whole_time_step, num_glo_vars,
1394  1 glob_var_vals, ierr)
1395  write (iout, '("after expgv (2), error = ", i4)' ) ierr
1396 
1397 c
1398 c write nodal variables
1399 c
1400 
1401  do 70 k = 1, num_nod_vars
1402  do 60 j = 1, num_nodes
1403 
1404  nodal_var_vals(j) = real(k) + (real(j) * time_value)
1405 
1406 60 continue
1407 
1408  call expnv (exoid, whole_time_step, k, num_nodes,
1409  1 nodal_var_vals, ierr)
1410  write (iout, '("after expnv, error = ", i4)' ) ierr
1411 
1412  call expnv (exoid2, whole_time_step, k, num_nodes,
1413  1 nodal_var_vals, ierr)
1414  write (iout, '("after expnv (2), error = ", i4)' ) ierr
1415 
1416 70 continue
1417 
1418 c
1419 c write element variables
1420 c
1421 
1422  do 100 k = 1, num_ele_vars
1423  do 90 j = 1, num_elem_blk
1424  do 80 m = 1, num_elem_in_block(j)
1425 
1426  elem_var_vals(m) = real(k+1) + real(j+1) +
1427  1 (real(m)*time_value)
1428 
1429 80 continue
1430 
1431  call expev (exoid, whole_time_step, k, ebids(j),
1432  1 num_elem_in_block(j), elem_var_vals, ierr)
1433  write (iout, '("after expev, error = ", i4)' ) ierr
1434  call expev (exoid2, whole_time_step, k, ebids(j),
1435  1 num_elem_in_block(j), elem_var_vals, ierr)
1436  write (iout, '("after expev (2), error = ", i4)' ) ierr
1437 
1438 90 continue
1439 100 continue
1440 
1441  whole_time_step = whole_time_step + 1
1442 
1443 c
1444 c update the data file; this should be done at the end of every time
1445 c step to ensure that no data is lost if the analysis dies
1446 c
1447  call exupda (exoid, ierr)
1448  write (iout, '("after exupda, error = ", i4)' ) ierr
1449  call exupda (exoid2, ierr)
1450  write (iout, '("after exupda (2), error = ", i4)' ) ierr
1451 
1452 110 continue
1453 
1454 c
1455 c close the EXODUS files
1456 c
1457  call exclos (exoid, ierr)
1458  write (iout, '("after exclos, error = ", i4)' ) ierr
1459 
1460  call exclos (exoid2, ierr)
1461  write (iout, '("after exclos (2), error = ", i4)' ) ierr
1462 
1463  stop
1464  end
1465 
expelb
void expelb(int *idexo, entity_id *elem_blk_id, char *elem_type, void_int *num_elem_this_blk, void_int *num_nodes_per_elem, void_int *num_attr, int *ierr, int elem_typelen)
Definition: exo_jack.c:783
expns
void expns(int *idexo, entity_id *node_set_id, void_int *node_set_node_list, int *ierr)
Definition: exo_jack.c:1529
expss
void expss(int *idexo, entity_id *side_set_id, void_int *side_set_elem_list, void_int *side_set_side_list, int *ierr)
Definition: exo_jack.c:1723
exppa
void exppa(int *idexo, int *obj_type, char *prop_name, void_int *values, int *ierr, int prop_namelen)
Definition: exo_jack.c:1464
expvan
void expvan(int *idexo, char *var_type, int *num_vars, char *var_names, int *ierr, int var_typelen, int var_nameslen)
Definition: exo_jack.c:1947
exptim
void exptim(int *idexo, int *time_step, real *time_value, int *ierr)
Definition: exo_jack.c:2327
exclos
void exclos(int *idexo, int *ierr)
Definition: exo_jack.c:234
exgebi
void exgebi(int *idexo, void_int *elem_blk_ids, int *ierr)
Definition: exo_jack.c:860
expelc
void expelc(int *idexo, entity_id *elem_blk_id, void_int *connect, int *ierr)
Definition: exo_jack.c:869
expp
void expp(int *idexo, int *obj_type, entity_id *obj_id, char *prop_name, entity_id *value, int *ierr, int prop_namelen)
Definition: exo_jack.c:1356
expnsd
void expnsd(int *idexo, entity_id *node_set_id, real *node_set_dist_fact, int *ierr)
Definition: exo_jack.c:1538
expcon
void expcon(int *idexo, char *coord_names, int *ierr, int coord_nameslen)
Definition: exo_jack.c:588
expnp
void expnp(int *idexo, entity_id *node_set_id, void_int *num_nodes_in_set, void_int *num_dist_in_set, int *ierr)
Definition: exo_jack.c:1500
expqa
void expqa(int *idexo, int *num_qa_records, char *qa_record, int *ierr, int qa_recordlen)
Definition: exo_jack.c:318
expsp
void expsp(int *idexo, entity_id *side_set_id, void_int *num_sides_in_set, void_int *num_df_in_set, int *ierr)
Definition: exo_jack.c:1685
expcor
void expcor(int *idexo, real *x_coor, real *y_coor, real *z_coor, int *ierr)
Definition: exo_jack.c:570
expvtt
void expvtt(int *idexo, int *num_elem_blk, int *num_elem_var, int *elem_var_tab, int *ierr)
Definition: exo_jack.c:2056
expeat
void expeat(int *idexo, entity_id *elem_blk_id, real *attrib, int *ierr)
Definition: exo_jack.c:909
real
#define real
Definition: exo_jack-windows.c:86
expini
void expini(int *idexo, char *title, void_int *num_dim, void_int *num_nodes, void_int *num_elem, void_int *num_elem_blk, void_int *num_node_sets, void_int *num_side_sets, int *ierr, int titlelen)
Definition: exo_jack.c:246
expinf
void expinf(int *idexo, int *num_info, char *info, int *ierr, int infolen)
Definition: exo_jack.c:459
expnv
void expnv(int *idexo, int *time_step, int *nodal_var_index, void_int *num_nodes, real *nodal_var_vals, int *ierr)
Definition: exo_jack.c:2143
exupda
void exupda(int *idexo, int *ierr)
Definition: exo_jack.c:240
excre
int excre(char *path, int *clobmode, int *cpu_word_size, int *io_word_size, int *ierr, int pathlen)
Definition: exo_jack.c:182
expgv
void expgv(int *idexo, int *time_step, int *num_glob_vars, real *glob_var_vals, int *ierr)
Definition: exo_jack.c:2112
exppn
void exppn(int *idexo, int *obj_type, int *num_props, char *prop_names, int *ierr, int prop_nameslen)
Definition: exo_jack.c:1213
expssd
void expssd(int *idexo, entity_id *side_set_id, real *side_set_dist_fact, int *ierr)
Definition: exo_jack.c:1743
expev
void expev(int *idexo, int *time_step, int *elem_var_index, entity_id *elem_blk_id, void_int *num_elem_this_blk, real *elem_var_vals, int *ierr)
Definition: exo_jack.c:2198
expvp
void expvp(int *idexo, char *var_type, int *num_vars, int *ierr, int var_typelen)
Definition: exo_jack.c:1925
expmap
void expmap(int *idexo, void_int *elem_map, int *ierr)
Definition: exo_jack.c:710