6 #define ERROR(rval) if (0 .ne. rval) call exit(1)
10 real,
dimension(ni, nj, nk) :: xm
24 integer comm1, mysize,myproc,ier
26 imesh_instance :: mesh
27 ibase_entitysethandle :: handle
28 ibase_entityhandle :: root_set
29 ibase_entityarriterator :: iter
30 ibase_taghandle :: tagh
31 integer :: local_dims(6),global_dims(6)
32 integer :: geom_dim, num_verts, count, i, num_quads, rsum
55 call imesh_newmesh(
'MOAB', mesh, ier);
error(ier);
58 call imesh_createstructuredmesh(%VAL(mesh), local_dims, global_dims, %VAL(0),%VAL(0),%VAL(0), %VAL(1), %VAL(-1), &
59 %VAL(-1), %VAL(-1), %VAL(0), %VAL(1), %VAL(1), handle, ier);
error(ier);
61 call imesh_getrootset(%VAL(mesh), root_set, ier);
error(ier);
63 call imesh_getgeometricdimension(%VAL(mesh), geom_dim, ier);
error(ier);
65 call imesh_getnumoftype(%VAL(mesh), %VAL(root_set), %VAL(ibase_face), num_quads, ier);
error(ier);
67 call imesh_getnumoftype(%VAL(mesh), %VAL(root_set), %VAL(ibase_vertex), num_verts, ier);
error(ier);
69 call imesh_initentarriter(%VAL(mesh), %VAL(root_set), %VAL(ibase_face), %VAL(imesh_quadrilateral),%VAL(num_quads), &
70 %VAL(0), iter, ier);
error(ier);
72 call imesh_createtagwithoptions(%VAL(mesh),
"XM1",
"moab:TAG_STORAGE_TYPE=DENSE; moab:TAG_DEFAULT_VALUE=0.0", &
73 %VAL(5), %VAL(ibase_double), tagh, ier);
error(ier);
75 call imesh_tagiterate(%VAL(mesh), %VAL(tagh), %VAL(iter), rpxm1, count, ier);
error(ier);
77 call imesh_endentarriter(%VAL(mesh), %VAL(iter), ier);
error(ier);
85 call imesh_dtor(%VAL(mesh), ier);
error(ier);
87 if (rsum .ne. 5*64*64)
call exit(1)