43 include
'exodusII.inc'
45 integer iin, iout, ierr, ioff
46 integer exoid, num_dim, num_nodes, num_elem, num_elem_blk
49 integer i, j, k, elem_map(100), connect(100), nnpe(10)
51 integer num_elem_in_block(10), num_nodes_per_elem(10)
53 integer cpu_ws,io_ws, mod_sz
55 real x(100), y(100), z(100)
58 character*(MXSTLN) coord_names(3)
59 character*(MXLNLN) titl
60 character*(MXSTLN) eltype(10)
62 data iin /5/, iout /6/
72 exoid =
exopen(
"test-nsided.exo", exread, cpu_ws, io_ws,
74 write (iout,
'(/"after exopen, error = ",i3)')
77 write (iout,
'("test-nsided.exo is an EXODUSII file; version ",
79 write (iout,
'(" I/O word size",i2)') io_ws
82 write (iout,
'(" Model Size",i2)') mod_sz
88 call exgini (exoid, titl, num_dim, num_nodes, num_elem,
89 1 num_elem_blk, num_node_sets, num_side_sets, ierr)
90 write (iout,
'(/"after exgini, error = ", i3)' ) ierr
92 write (iout,
'("database parameters:"/
95 3 "num_nodes = ", i3 /
97 5 "num_elem_blk = ", i3 /
98 6 "num_node_sets = ", i3 /
99 7 "num_side_sets = ", i3)')
100 8 titl,num_dim, num_nodes, num_elem,
101 9 num_elem_blk,num_node_sets, num_side_sets
108 call exgcor (exoid, x, y, z, ierr)
109 write (iout,
'(/"after exgcor, error = ", i3)' ) ierr
111 write (iout,
'("x coords = ")')
112 do 10 i = 1, num_nodes
113 write (iout,
'(f5.1)') x(i)
116 write (iout,
'("y coords = ")')
117 do 20 i = 1, num_nodes
118 write (iout,
'(f5.1)') y(i)
121 if (num_dim .gt. 2)
then
122 write (iout,
'("z coords = ")')
123 do 22 i = 1, num_nodes
124 write (iout,
'(f5.1)') z(i)
128 call exgcon (exoid, coord_names, ierr)
129 write (iout,
'(/"after exgcon, error = ", i3)' ) ierr
131 write (iout,
'("x coord name = ", a9)') coord_names(1)
132 write (iout,
'("y coord name = ", a9)') coord_names(2)
138 call exgmap (exoid, elem_map, ierr)
139 write (iout,
'(/"after exgmap, error = ", i3)' ) ierr
141 do 30 i = 1, num_elem
142 write (iout,
'("elem_map(",i1,") = ", i1)') i, elem_map(i)
149 call exgebi (exoid, ids, ierr)
150 write (iout,
'(/"after exgebi, error = ", i3)' ) ierr
152 do 40 i = 1, num_elem_blk
154 call exgelb (exoid, ids(i), eltype(i), num_elem_in_block(i),
155 1 num_nodes_per_elem(i), num_attr(i), ierr)
156 write (iout,
'(/"after exgelb, error = ", i3)' ) ierr
158 write (iout,
'("element block id = ", i2,/
159 1 "element type = ", a9,/
160 2 "num_elem_in_block = ", i2,/
161 3 "num_nodes_per_elem = ", i2,/
162 4 "num_attr = ", i2)')
163 5 ids(i), eltype(i), num_elem_in_block(i),
164 6 num_nodes_per_elem(i), num_attr(i)
172 do 60 i = 1, num_elem_blk
174 call exgelc (exoid, ids(i), connect, ierr)
175 write (iout,
'(/"after exgelc, error = ", i3)' ) ierr
177 if (eltype(i) .eq.
'nsided' .or. eltype(i) .eq.
'NSIDED')
then
178 call exgecpp(exoid, exeblk, ids(i), nnpe, ierr)
179 write (iout,
'(/"after exgecpp, error = ", i3)' ) ierr
181 write (iout,
'("connect array for elem block ", i2)') ids(i)
184 do j = 1, num_elem_in_block(i)
185 write (iout, 100) j, nnpe(j), (connect(ioff+k),k=1,nnpe(j))
186 ioff = ioff + nnpe(j)
196 write (iout,
'(/"after exclos, error = ", i3)' ) ierr
197 100
format(
' Element ',i3,
', Nodes/Element = ',i3,
' -- ',20i3)
201 subroutine getfrm(exoid)
203 include
'exodusII.inc'
207 integer exoid, ierr, i, j
209 integer cfids(3), tags(3)
215 numfrm =
exinqi(exoid, exncf)
217 1
'(/"There are ",i2," coordinate frames")')
221 call exgfrm(exoid, numfrm, cfids, coord, tags, ierr);
222 write (6,
'("after exgfrm, error = ", i4)') ierr
226 if (tags(i+1) .eq. excfrec)
then
228 else if (tags(i+1) .eq. excfcyl)
then
230 else if (tags(i+1) .eq. excfsph)
then
234 write (iout, 100) cfids(i+1), ctag, (coord(9*i+j),j=1,9)
237 100
format(i5, 3x, a, 9f10.2)