Exodus 8.24
Loading...
Searching...
No Matches
/exodus_for/test/test_nem.f
1C Copyright(C) 1999-2020 National Technology & Engineering Solutions
2C of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
3C NTESS, the U.S. Government retains certain rights in this software.
4C
5C See packages/seacas/LICENSE for details
6C=================================================================
7
8C This is just a simple test program to test the fortran interface
9C for the NEMESIS I library.
10
11C This file was created by translating ne_test.c into fortran.
12
13C=================================================================
14
15C=================================================================
16 PROGRAM netest
17C=================================================================
18 include 'exodusII.inc'
19 include 'test_nem.inc'
20
21C local variables
22 INTEGER NEID, IO_WS, CPU_WS, T_PASS, T_FAIL, DBG_FLAG, IERR
23 CHARACTER FNAME*256, YO*6
24 REAL VERSION
25
26 yo = 'NETEST'
27 io_ws = 0
28 cpu_ws = 0
29 t_pass = 0
30 t_fail = 0
31 dbg_flag = 0
32
33C now let's get going...
34
35C I don't care about input arguments, so the file name will be ne_test.nemI
36 fname = 'test_nem.exo'
37C and set the debug flag to 0
38 dbg_flag = 0
39
40 print*, '******************Output Tests*****************'
41C create the exodus II file
42 print*, 'creating ExodusII file...'
43 neid = excre(fname, exclob, cpu_ws, io_ws, ierr)
44 IF (ierr.NE.0) THEN
45 print*, '...FAILED'
46 t_fail = t_fail + 1
47 print*, yo, ': ERROR, unable to create test file', fname, '!'
48 GOTO 100
49 ELSE
50 print*, '...successful'
51 t_pass = t_pass + 1
52 END IF
53
54C Test the output of initial information
55 print*, 'testing init info output...'
56 CALL expii(neid, nproc, nprocf, 'S', ierr)
57 IF (ierr.NE.0) THEN
58 print*, '...FAILED'
59 t_fail = t_fail + 1
60 IF (dbg_flag.EQ.1) THEN
61 GOTO 100
62 END IF
63 ELSE
64 print*, '...successful'
65 t_pass = t_pass + 1
66 END IF
67
68C Test the output of initial global information
69 print*, 'testing global init info output...'
70 CALL expig(neid, nng, neg, nebg, nnsg, nssg, ierr)
71 IF (ierr.NE.0) THEN
72 print*, '...FAILED'
73 t_fail = t_fail + 1
74 IF (dbg_flag.EQ.1) THEN
75 GOTO 100
76 END IF
77 ELSE
78 print*, '...successful'
79 t_pass = t_pass + 1
80 END IF
81
82C Test the output of the global element block IDs
83 print*, 'testing global element block ID output...'
84 CALL extpebi(neid, ierr)
85 IF (ierr.NE.0) THEN
86 print*, '...FAILED'
87 t_fail = t_fail + 1
88 IF (dbg_flag.EQ.1) THEN
89 GOTO 100
90 END IF
91 ELSE
92 print*, '...successful'
93 t_pass = t_pass + 1
94 END IF
95
96C Test the output of the global node-set info
97 print*, 'testing global node-set params output...'
98 CALL extpnsp(neid, ierr)
99 IF (ierr.NE.0) THEN
100 print*, '...FAILED'
101 t_fail = t_fail + 1
102 IF (dbg_flag.EQ.1) THEN
103 GOTO 100
104 END IF
105 ELSE
106 print*, '...successful'
107 t_pass = t_pass + 1
108 END IF
109
110C Test the output of the global side-set info
111 print*, 'testing global side-set params output...'
112 CALL extpssp(neid, ierr)
113 IF (ierr.NE.0) THEN
114 print*, '...FAILED'
115 t_fail = t_fail + 1
116 IF (dbg_flag.EQ.1) THEN
117 GOTO 100
118 END IF
119 ELSE
120 print*, '...successful'
121 t_pass = t_pass + 1
122 END IF
123
124C Test the output of the concatenated load-balance parameters
125 print*, 'testing concatenated load balance info output...'
126 CALL extplbpc(neid, ierr)
127 IF (ierr.NE.0) THEN
128 print*, '...FAILED'
129 t_fail = t_fail + 1
130 IF (dbg_flag.EQ.1) THEN
131 GOTO 100
132 END IF
133 ELSE
134 print*, '...successful'
135 t_pass = t_pass + 1
136 END IF
137
138C Test the output of the node map
139 print*, 'testing node map output...'
140 CALL extpnm(neid, ierr)
141 IF (ierr.NE.0) THEN
142 print*, '...FAILED'
143 t_fail = t_fail + 1
144 IF (dbg_flag.EQ.1) THEN
145 GOTO 100
146 END IF
147 ELSE
148 print*, '...successful'
149 t_pass = t_pass + 1
150 END IF
151
152C Test the output of the element map
153 print*, 'testing element map output...'
154 CALL extpem(neid, ierr)
155 IF (ierr.NE.0) THEN
156 print*, '...FAILED'
157 t_fail = t_fail + 1
158 IF (dbg_flag.EQ.1) THEN
159 GOTO 100
160 END IF
161 ELSE
162 print*, '...successful'
163 t_pass = t_pass + 1
164 END IF
165
166C Test the output of the concatenated communication map params
167 print*, 'testing concatenated communication map params output...'
168 CALL extpcmpc(neid, ierr)
169 IF (ierr.NE.0) THEN
170 print*, '...FAILED'
171 t_fail = t_fail + 1
172 IF (dbg_flag.EQ.1) THEN
173 GOTO 100
174 END IF
175 ELSE
176 print*, '...successful'
177 t_pass = t_pass + 1
178 END IF
179
180C Test nodal communication map output
181 print*, 'testing nodal communication map output...'
182 CALL extpncm(neid, ierr)
183 IF (ierr.NE.0) THEN
184 print*, '...FAILED'
185 t_fail = t_fail + 1
186 IF (dbg_flag.EQ.1) THEN
187 GOTO 100
188 END IF
189 ELSE
190 print*, '...successful'
191 t_pass = t_pass + 1
192 END IF
193
194C Test elemental communication map output
195 print*, 'testing elemental communication map output...'
196 CALL extpecm(neid, ierr)
197 IF (ierr.NE.0) THEN
198 print*, '...FAILED'
199 t_fail = t_fail + 1
200 IF (dbg_flag.EQ.1) THEN
201 GOTO 100
202 END IF
203 ELSE
204 print*, '...successful'
205 t_pass = t_pass + 1
206 END IF
207
208C Close the ExodusII/Nemesis test file
209 print*, 'closing ExodusII file...'
210 CALL exclos(neid, ierr)
211 IF (ierr.NE.0) THEN
212 print*, '...FAILED'
213 t_fail = t_fail + 1
214 print*, yo, ': ERROR, unable to close test file', fname, '!'
215 GOTO 100
216 ELSE
217 print*, '...successful'
218 t_pass = t_pass + 1
219 END IF
220
221C=================================================================
222C INPUT TEST SECTION
223C=================================================================
224
225 print*, '******************Input Tests******************'
226
227C Re-open the ExodusII/NemesisI file
228 print*, 'reopening ExodusII file...'
229 neid = exopen(fname, exread, cpu_ws, io_ws, version, ierr)
230 IF (ierr.NE.0) THEN
231 print*, '...FAILED'
232 t_fail = t_fail + 1
233 print*, yo, ': ERROR, unable to open test file', fname, '!'
234 GOTO 100
235 ELSE
236 print*, '...successful'
237 t_pass = t_pass + 1
238 END IF
239
240C Test read of of the initial information
241 print*, 'testing init info input...'
242 CALL extgii(neid, ierr)
243 IF (ierr.NE.0) THEN
244 print*, '...FAILED'
245 t_fail = t_fail + 1
246 IF (dbg_flag.EQ.1) THEN
247 GOTO 100
248 END IF
249 ELSE
250 print*, '...successful'
251 t_pass = t_pass + 1
252 END IF
253
254C Test read of initial global information
255 print*, 'testing global init info input...'
256 CALL extgig(neid, ierr)
257 IF (ierr.NE.0) THEN
258 print*, '...FAILED'
259 t_fail = t_fail + 1
260 IF (dbg_flag.EQ.1) THEN
261 GOTO 100
262 END IF
263 ELSE
264 print*, '...successful'
265 t_pass = t_pass + 1
266 END IF
267
268C Test read of global element block IDs
269 print*, 'testing global element block IDs input...'
270 CALL extgebi(neid, ierr)
271 IF (ierr.NE.0) THEN
272 print*, '...FAILED'
273 t_fail = t_fail + 1
274 IF (dbg_flag.EQ.1) THEN
275 GOTO 100
276 END IF
277 ELSE
278 print*, '...successful'
279 t_pass = t_pass + 1
280 END IF
281
282C Test read of global node-set params
283 print*, 'testing global node-set params input...'
284 CALL extgnsp(neid, ierr)
285 IF (ierr.NE.0) THEN
286 print*, '...FAILED'
287 t_fail = t_fail + 1
288 IF (dbg_flag.EQ.1) THEN
289 GOTO 100
290 END IF
291 ELSE
292 print*, '...successful'
293 t_pass = t_pass + 1
294 END IF
295
296C Test read of global side-set params
297 print*, 'testing global side-set params input...'
298 CALL extgssp(neid, ierr)
299 IF (ierr.NE.0) THEN
300 print*, '...FAILED'
301 t_fail = t_fail + 1
302 IF (dbg_flag.EQ.1) THEN
303 GOTO 100
304 END IF
305 ELSE
306 print*, '...successful'
307 t_pass = t_pass + 1
308 END IF
309
310C Test read of load-balance params
311 print*, 'testing load-balance params input...'
312 CALL extglbp(neid, ierr)
313 IF (ierr.NE.0) THEN
314 print*, '...FAILED'
315 t_fail = t_fail + 1
316 IF (dbg_flag.EQ.1) THEN
317 GOTO 100
318 END IF
319 ELSE
320 print*, '...successful'
321 t_pass = t_pass + 1
322 END IF
323
324C Test read of the node map
325 print*, 'testing node map input...'
326 CALL extgnm(neid, ierr)
327 IF (ierr.NE.0) THEN
328 print*, '...FAILED'
329 t_fail = t_fail + 1
330 IF (dbg_flag.EQ.1) THEN
331 GOTO 100
332 END IF
333 ELSE
334 print*, '...successful'
335 t_pass = t_pass + 1
336 END IF
337
338C Test read of the element map
339 print*, 'testing element map input...'
340 CALL extgem(neid, ierr)
341 IF (ierr.NE.0) THEN
342 print*, '...FAILED'
343 t_fail = t_fail + 1
344 IF (dbg_flag.EQ.1) THEN
345 GOTO 100
346 END IF
347 ELSE
348 print*, '...successful'
349 t_pass = t_pass + 1
350 END IF
351
352C Test read of nodal communication maps
353 print*, 'testing nodal communication map input...'
354 CALL extgncm(neid, ierr)
355 IF (ierr.NE.0) THEN
356 print*, '...FAILED'
357 t_fail = t_fail + 1
358 IF (dbg_flag.EQ.1) THEN
359 GOTO 100
360 END IF
361 ELSE
362 print*, '...successful'
363 t_pass = t_pass + 1
364 END IF
365
366C Test read of elemental communication maps
367 print*, 'testing elemental communication map input...'
368 CALL extgecm(neid, ierr)
369 IF (ierr.NE.0) THEN
370 print*, '...FAILED'
371 t_fail = t_fail + 1
372 IF (dbg_flag.EQ.1) THEN
373 GOTO 100
374 END IF
375 ELSE
376 print*, '...successful'
377 t_pass = t_pass + 1
378 END IF
379
380C Close the ExodusII/Nemesis test file
381 print*, 'closing ExodusII file...'
382 CALL exclos(neid, ierr)
383 IF (ierr.NE.0) THEN
384 print*, '...FAILED'
385 t_fail = t_fail + 1
386 print*, yo, ': ERROR, unable to close test file', fname, '!'
387 GOTO 100
388 ELSE
389 print*, '...successful'
390 t_pass = t_pass + 1
391 END IF
392
393 print*, 'Tests Passed: ', t_pass
394 print*, 'Tests Failed: ', t_fail
395
396 100 CONTINUE
397 END
398
399C=================================================================
400 SUBROUTINE extpebi(NEID, IERR)
401C=================================================================
402
403 include 'test_nem.inc'
404
405 INTEGER I, EBLK_IDS(NEBG)
406 INTEGER EBLK_CNTS(NEBG)
407
408 DO 110 i=1,nebg
409 eblk_ids(i) = i
410 eblk_cnts(i) = 10
411 110 CONTINUE
412
413 CALL expebig(neid, eblk_ids, eblk_cnts, ierr)
414
415 END
416
417C=================================================================
418 SUBROUTINE extpnsp(NEID, IERR)
419C=================================================================
420
421 include 'test_nem.inc'
422
423 INTEGER I, GLBL_IDS(NNSG), GLBL_NC(NNSG), GLBL_DFC(NNSG)
424
425 DO 120 i = 1,nnsg
426 glbl_ids(i) = 2 * i
427 glbl_nc(i) = 3 * i
428 glbl_dfc(i) = 1
429 120 CONTINUE
430
431 CALL expnspg(neid, glbl_ids, glbl_nc, glbl_dfc, ierr)
432
433 END
434
435C=================================================================
436 SUBROUTINE extpssp(NEID, IERR)
437C=================================================================
438
439 include 'test_nem.inc'
440
441 INTEGER I, GLBL_IDS(NSSG), GLBL_ELC(NSSG), GLBL_DFC(NSSG)
442
443 DO 130 i = 1,nssg
444 glbl_ids(i) = 3 * i
445 glbl_elc(i) = 2 * i
446 glbl_dfc(i) = 1
447 130 CONTINUE
448
449 CALL expsspg(neid, glbl_ids, glbl_elc, glbl_dfc, ierr)
450
451 END
452
453C=================================================================
454 SUBROUTINE extplbpc(NEID, IERR)
455C=================================================================
456
457 include 'test_nem.inc'
458
459 INTEGER IPROC, NUM_IN(NPROCF), NUM_BN(NPROCF), NUM_EN(NPROCF),
460 1 NUM_IE(NPROCF), NUM_BE(NPROCF), NUM_NCM(NPROCF), NUM_ECM(NPROCF)
461
462 DO 140 iproc = 1,nprocf
463 num_in(iproc) = nintn
464 num_bn(iproc) = nborn
465 num_en(iproc) = nextn
466
467 num_ie(iproc) = ninte
468 num_be(iproc) = nbore
469
470 num_ncm(iproc) = nncmap
471 num_ecm(iproc) = necmap
472 140 CONTINUE
473
474 CALL explbpc(neid, num_in, num_bn, num_en, num_ie, num_be,
475 1 num_ncm, num_ecm, ierr)
476
477 END
478
479C=================================================================
480 SUBROUTINE extpnm(NEID, IERR)
481C=================================================================
482
483 include 'test_nem.inc'
484
485 INTEGER IPROC, I, J, NMAPI(NINTN), NMAPB(NBORN), NMAPE(NEXTN)
486
487 i = 0
488 DO 200 iproc = 0,(nprocf-1)
489 DO 150 j = 1,nintn
490 nmapi(j) = i
491 i = i + 1
492 150 CONTINUE
493 DO 160 j = 1,nborn
494 nmapb(j) = i
495 i = i + 1
496 160 CONTINUE
497 DO 170 j = 1,nextn
498 nmape(j) = i
499 i = i + 1
500 170 CONTINUE
501
502 i = 0
503
504 CALL expnmp(neid, nmapi, nmapb, nmape, iproc, ierr)
505 IF (ierr.NE.0) GOTO 210
506
507 200 CONTINUE
508
509 210 CONTINUE
510 END
511
512C=================================================================
513 SUBROUTINE extpem(NEID, IERR)
514C=================================================================
515
516 include 'test_nem.inc'
517
518 INTEGER IPROC, I, J, EMAPI(NINTE), EMAPB(NBORE)
519
520 i = 0
521 DO 200 iproc = 0,(nprocf-1)
522 DO 150 j = 1,ninte
523 emapi(j) = i
524 i = i + 1
525 150 CONTINUE
526 DO 160 j = 1,nbore
527 emapb(j) = i
528 i = i + 1
529 160 CONTINUE
530
531 i = 0
532
533 CALL expemp(neid, emapi, emapb, iproc, ierr)
534 IF (ierr.NE.0) GOTO 210
535
536 200 CONTINUE
537
538 210 CONTINUE
539 END
540
541C=================================================================
542 SUBROUTINE extpcmpc(NEID, IERR)
543C=================================================================
544
545 include 'test_nem.inc'
546
547 INTEGER IPROC, I, NCNTR, ECNTR, NMAPIDS(NNCXNPF),
548 1 NMAPCNT(NNCXNPF), NMAPPROC(NPROCF+1), EMAPIDS(NECXNPF),
549 1 EMAPCNT(NECXNPF), EMAPPROC(NPROCF+1)
550
551 nmapproc(1) = 0
552 emapproc(1) = 0
553 ncntr = 1
554 ecntr = 1
555 DO 200 iproc = 1,nprocf
556 DO 150 i = 1,nncmap
557 nmapids(ncntr) = i
558 nmapcnt(ncntr) = ncntcm
559 ncntr = ncntr + 1
560 150 CONTINUE
561 DO 160 i = 1,necmap
562 emapids(ecntr) = 2*i
563 emapcnt(ecntr) = ecntcm
564 ecntr = ecntr + 1
565 160 CONTINUE
566
567 nmapproc(iproc+1) = nmapproc(iproc) + nncmap
568 emapproc(iproc+1) = emapproc(iproc) + necmap
569
570 200 CONTINUE
571
572 CALL expcmpc(neid, nmapids, nmapcnt, nmapproc, emapids, emapcnt,
573 1 emapproc, ierr)
574
575 END
576
577C=================================================================
578 SUBROUTINE extpncm(NEID, IERR)
579C=================================================================
580
581 include 'test_nem.inc'
582
583 INTEGER IPROC, I, NMAPIDS(NNCMAP), NIDS(NCNTCM), PIDS(NCNTCM)
584
585 DO 200 iproc = 0,(nprocf-1)
586 DO 150 i = 1,nncmap
587 nmapids(i) = i
588 150 CONTINUE
589 DO 160 i = 1,ncntcm
590 nids(i) = 2*i
591 pids(i) = 3*i
592 160 CONTINUE
593
594 DO 170 i=1,nncmap
595 CALL expncm(neid, nmapids(i), nids, pids, iproc, ierr)
596 IF (ierr.NE.0) GOTO 210
597 170 CONTINUE
598
599 200 CONTINUE
600
601 210 CONTINUE
602 END
603
604C=================================================================
605 SUBROUTINE extpecm(NEID, IERR)
606C=================================================================
607
608 include 'test_nem.inc'
609
610 INTEGER IPROC, I, EMAPIDS(NECMAP), EIDS(ECNTCM), PIDS(ECNTCM),
611 1 SIDS(ECNTCM)
612
613 DO 200 iproc = 0,(nprocf-1)
614 DO 150 i = 1,necmap
615 emapids(i) = 2*i
616 150 CONTINUE
617 DO 160 i = 1,ecntcm
618 eids(i) = 2*i
619 sids(i) = 3*i
620 pids(i) = 4*i
621 160 CONTINUE
622
623 DO 170 i=1,necmap
624 CALL expecm(neid, emapids(i), eids, sids, pids, iproc, ierr)
625 IF (ierr.NE.0) GOTO 210
626 170 CONTINUE
627
628 200 CONTINUE
629
630 210 CONTINUE
631 END
632
633C=================================================================
634 SUBROUTINE extgii(NEID, IERR)
635C=================================================================
636
637 include 'test_nem.inc'
638
639 INTEGER NP, NPF
640 CHARACTER FTYPE*2
641
642 CALL exgii(neid, np, npf, ftype, ierr)
643
644 IF (ierr.NE.0) GOTO 210
645
646 IF (np.NE.nproc) ierr = -1
647 IF (npf.NE.nprocf) ierr = -1
648 IF (np.NE.nproc) ierr = -1
649
650 210 CONTINUE
651 END
652
653C=================================================================
654 SUBROUTINE extgig(NEID, IERR)
655C=================================================================
656
657 include 'test_nem.inc'
658
659 INTEGER NUMNG, NUMEG, NUMEBG, NUMNSG, NUMSSG
660
661 CALL exgig(neid, numng, numeg, numebg, numnsg, numssg, ierr)
662
663 IF (ierr.NE.0) GOTO 210
664
665 IF (numng.NE.nng) ierr = -1
666 IF (numeg.NE.neg) ierr = -1
667 IF (numebg.NE.nebg) ierr = -1
668 IF (numnsg.NE.nnsg) ierr = -1
669 IF (numssg.NE.nssg) ierr = -1
670
671 210 CONTINUE
672 END
673
674C=================================================================
675 SUBROUTINE extgebi(NEID, IERR)
676C=================================================================
677
678 include 'test_nem.inc'
679
680 INTEGER I, EBLK_IDS(NEBG)
681 INTEGER EBLK_CNTS(NEBG)
682
683 CALL exgebig(neid, eblk_ids, eblk_cnts, ierr)
684
685 IF (ierr.NE.0) GOTO 210
686
687 DO 150 i=1,nebg
688 IF (eblk_ids(i).NE.i) ierr = -1
689 IF (eblk_cnts(i) .NE. 10) ierr = -1
690 150 CONTINUE
691
692 210 CONTINUE
693 END
694
695C=================================================================
696 SUBROUTINE extgnsp(NEID, IERR)
697C=================================================================
698
699 include 'test_nem.inc'
700
701 INTEGER I, GLBL_IDS(NNSG), GLBL_NC(NNSG), GLBL_DFC(NNSG)
702
703 CALL exgnspg(neid, glbl_ids, glbl_nc, glbl_dfc, ierr)
704
705 IF (ierr.NE.0) GOTO 210
706
707 DO 150 i=1,nnsg
708 IF (glbl_ids(i).NE.(2*i)) ierr = -1
709 IF (glbl_nc(i).NE.(3*i)) ierr = -1
710 IF (glbl_dfc(i).NE.1) ierr = -1
711 150 CONTINUE
712
713 210 CONTINUE
714 END
715
716C=================================================================
717 SUBROUTINE extgssp(NEID, IERR)
718C=================================================================
719
720 include 'test_nem.inc'
721
722 INTEGER I, GLBL_IDS(NSSG), GLBL_EC(NSSG), GLBL_DFC(NSSG)
723
724 CALL exgsspg(neid, glbl_ids, glbl_ec, glbl_dfc, ierr)
725
726 IF (ierr.NE.0) GOTO 210
727
728 DO 150 i=1,nnsg
729 IF (glbl_ids(i).NE.(3*i)) ierr = -1
730 IF (glbl_ec(i).NE.(2*i)) ierr = -1
731 IF (glbl_dfc(i).NE.1) ierr = -1
732 150 CONTINUE
733
734 210 CONTINUE
735 END
736
737C=================================================================
738 SUBROUTINE extglbp(NEID, IERR)
739C=================================================================
740
741 include 'test_nem.inc'
742
743 INTEGER IPROC, NUM_IN, NUM_BN, NUM_EN, NUM_IE, NUM_BE,
744 * NUM_NCM, NUM_ECM
745
746 DO 150 iproc = 0,(nprocf-1)
747 CALL exglbp(neid, num_in, num_bn, num_en, num_ie, num_be,
748 1 num_ncm, num_ecm, iproc, ierr)
749
750 IF (ierr.NE.0) GOTO 210
751
752 IF(num_in.NE.nintn) ierr = -1
753 IF(num_bn.NE.nborn) ierr = -1
754 IF(num_en.NE.nextn) ierr = -1
755 IF(num_ie.NE.ninte) ierr = -1
756 IF(num_be.NE.nbore) ierr = -1
757 IF(num_ncm.NE.nncmap) ierr = -1
758 IF(num_ecm.NE.necmap) ierr = -1
759 150 CONTINUE
760
761 210 CONTINUE
762 END
763
764C=================================================================
765 SUBROUTINE extgnm(NEID, IERR)
766C=================================================================
767
768 include 'test_nem.inc'
769
770 INTEGER IPROC, I, J, NMAPI(NINTN), NMAPB(NBORN), NMAPE(NEXTN)
771
772 i = 0
773 DO 200 iproc = 0,(nprocf-1)
774
775 CALL exgnmp(neid, nmapi, nmapb, nmape, iproc, ierr)
776
777 IF (ierr.NE.0) GOTO 210
778
779 DO 150 j = 1,nintn
780 IF (nmapi(j).NE.i) err = -1
781 i = i + 1
782 150 CONTINUE
783 DO 160 j = 1,nborn
784 IF (nmapb(j).NE.i) err = -1
785 i = i + 1
786 160 CONTINUE
787 DO 170 j = 1,nextn
788 IF (nmape(j).NE.i) err = -1
789 i = i + 1
790 170 CONTINUE
791
792 i = 0
793
794 IF (ierr.NE.0) GOTO 210
795
796 200 CONTINUE
797
798 210 CONTINUE
799 END
800
801C=================================================================
802 SUBROUTINE extgem(NEID, IERR)
803C=================================================================
804
805 include 'test_nem.inc'
806
807 INTEGER IPROC, I, J, EMAPI(NINTE), EMAPB(NBORE)
808
809 i = 0
810 DO 200 iproc = 0,(nprocf-1)
811 CALL exgemp(neid, emapi, emapb, iproc, ierr)
812
813 IF (ierr.NE.0) GOTO 210
814
815 DO 150 j = 1,ninte
816 IF (emapi(j).NE.i) err = -1
817 i = i + 1
818 150 CONTINUE
819 DO 160 j = 1,nbore
820 IF (emapb(j).NE.i) err = -1
821 i = i + 1
822 160 CONTINUE
823
824 i = 0
825
826 IF (ierr.NE.0) GOTO 210
827
828 200 CONTINUE
829
830 210 CONTINUE
831 END
832
833C=================================================================
834 SUBROUTINE extgncm(NEID, IERR)
835C=================================================================
836
837 include 'test_nem.inc'
838
839 INTEGER IPROC, I, J, NMAPIDS(NNCMAP), NMAPCNT(NNCMAP),
840 1 NIDS(NCNTCM), PIDS(NCNTCM), EMAPIDS(NECMAP), EMAPCNT(NECMAP)
841
842 DO 200 iproc = 0,(nprocf-1)
843 CALL exgcmp(neid, nmapids, nmapcnt, emapids, emapcnt,
844 1 iproc, ierr)
845
846 IF (ierr.NE.0) GOTO 210
847
848 DO 170 i = 1,nncmap
849 CALL exgncm(neid, nmapids(i), nids, pids, iproc, ierr)
850
851 IF (ierr.NE.0) GOTO 210
852
853 IF (nmapids(i).NE.i) ierr = -1
854 DO 160 j = 1,ncntcm
855 IF (nids(j).NE.2*j) ierr = -1
856 IF (pids(j).NE.3*j) ierr = -1
857 160 CONTINUE
858
859 IF (ierr.NE.0) GOTO 210
860 170 CONTINUE
861
862 200 CONTINUE
863
864 210 CONTINUE
865 END
866
867C=================================================================
868 SUBROUTINE extgecm(NEID, IERR)
869C=================================================================
870
871 include 'test_nem.inc'
872
873 INTEGER IPROC, I, EMAPIDS(NECMAP), EMAPCNT(NECMAP), EIDS(ECNTCM),
874 1 PIDS(ECNTCM), SIDS(ECNTCM), NMAPIDS(NNCMAP), NMAPCNT(NNCMAP)
875
876 DO 200 iproc = 0,(nprocf-1)
877 CALL exgcmp(neid, nmapids, nmapcnt, emapids, emapcnt,
878 1 iproc, ierr)
879
880 IF (ierr.NE.0) GOTO 210
881
882 DO 170 i = 1,necmap
883 CALL exgecm(neid, emapids(i), eids, sids, pids, iproc, ierr)
884
885 IF (ierr.NE.0) GOTO 210
886
887 IF (emapids(i).NE.(2*i)) ierr = -1
888 DO 160 j = 1,ecntcm
889 IF (eids(j).NE.2*j) ierr = -1
890 IF (sids(j).NE.3*j) ierr = -1
891 IF (pids(j).NE.4*j) ierr = -1
892 160 CONTINUE
893
894 IF (ierr.NE.0) GOTO 210
895 170 CONTINUE
896
897 200 CONTINUE
898
899 210 CONTINUE
900 END
int excre(char *path, int *clobmode, int *cpu_word_size, int *io_word_size, int *ierr, int pathlen)
Definition exo_jack.c:176
void expii(int *idne, int *nproc, int *nproc_in_f, char *ftype, int *ierr, size_t ftypelen)
Definition exo_jack.c:2899
void expncm(int *idne, entity_id *map_id, void_int *node_ids, void_int *proc_ids, int *processor, int *ierr)
Definition exo_jack.c:3888
void exgecm(int *idne, entity_id *map_id, void_int *elem_ids, void_int *side_ids, void_int *proc_ids, int *processor, int *ierr)
Definition exo_jack.c:3903
void exgnspg(int *idne, void_int *ns_ids_glob, void_int *ns_n_cnt_glob, void_int *ns_df_cnt_glob, int *ierr)
Definition exo_jack.c:3056
void exgemp(int *idne, void_int *elem_mapi, void_int *elem_mapb, int *processor, int *ierr)
Definition exo_jack.c:3794
void expnspg(int *idne, void_int *global_ids, void_int *global_n_cnts, void_int *global_df_cnts, int *ierr)
Definition exo_jack.c:3071
void exgnmp(int *idne, void_int *node_mapi, void_int *node_mapb, void_int *node_mape, int *processor, int *ierr)
Definition exo_jack.c:3762
void expig(int *idne, void_int *nnodes_g, void_int *nelems_g, void_int *nelem_blks_g, void_int *nnode_sets_g, void_int *nside_sets_g, int *ierr)
Definition exo_jack.c:2950
void expebig(int *idne, void_int *el_blk_ids, void_int *el_blk_cnts, int *ierr)
Definition exo_jack.c:3131
void expnmp(int *idne, void_int *node_mapi, void_int *node_mapb, void_int *node_mape, int *processor, int *ierr)
Definition exo_jack.c:3778
void exgig(int *idne, void_int *nnodes_g, void_int *nelems_g, void_int *nelem_blks_g, void_int *nnode_sets_g, void_int *nside_sets_g, int *ierr)
Definition exo_jack.c:2934
void expsspg(int *idne, void_int *global_ids, void_int *global_el_cnts, void_int *global_df_cnts, int *ierr)
Definition exo_jack.c:3102
void exglbp(int *idne, void_int *nint_nodes, void_int *nbor_nodes, void_int *next_nodes, void_int *nint_elems, void_int *nbor_elems, void_int *nnode_cmaps, void_int *nelem_cmaps, int *processor, int *ierr)
Definition exo_jack.c:2984
int exopen(char *path, int *mode, int *cpu_word_size, int *io_word_size, float *version, int *ierr, int pathlen)
Definition exo_jack.c:201
void expcmpc(int *idne, void_int *nmap_ids, void_int *nmap_node_cnts, void_int *nproc_ptrs, void_int *emap_ids, void_int *emap_elem_cnts, void_int *eproc_ptrs, int *ierr)
Definition exo_jack.c:3856
void exgncm(int *idne, entity_id *map_id, void_int *node_ids, void_int *proc_ids, int *processor, int *ierr)
Definition exo_jack.c:3873
void exclos(int *idexo, int *ierr)
Definition exo_jack.c:227
void exgebig(int *idne, void_int *el_blk_ids, void_int *el_blk_cnts, int *ierr)
Definition exo_jack.c:3117
void exgsspg(int *idne, void_int *ss_ids_glob, void_int *ss_n_cnt_glob, void_int *ss_df_cnt_glob, int *ierr)
Definition exo_jack.c:3086
void exgcmp(int *idne, void_int *ncmap_ids, void_int *ncmap_node_cnts, void_int *ecmap_ids, void_int *ecmap_elem_cnts, int *processor, int *ierr)
Definition exo_jack.c:3824
void expecm(int *idne, entity_id *map_id, void_int *elem_ids, void_int *side_ids, void_int *proc_ids, int *processor, int *ierr)
Definition exo_jack.c:3918
void explbpc(int *idne, void_int *nint_nodes, void_int *nbor_nodes, void_int *next_nodes, void_int *nint_elems, void_int *nbor_elems, void_int *nnode_cmaps, void_int *nelem_cmaps, int *ierr)
Definition exo_jack.c:3039
void exgii(int *idne, int *nproc, int *nproc_in_f, char *ftype, int *ierr, size_t ftypelen)
Definition exo_jack.c:2862
void expemp(int *idne, void_int *elem_mapi, void_int *elem_mapb, int *processor, int *ierr)
Definition exo_jack.c:3809