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