32 . X, KMESH, NNS, NNI, NTG, NTGI, SIZE1, SIZE2, FVBAG_ELEMID)
41#include "implicit_f.inc"
51 TYPE(
surf_),
DIMENSION(NSURF),
INTENT(IN) :: IGRSURF
52 INTEGER,
DIMENSION(NUMNOD),
INTENT(IN) :: LOCAL_NODEID, LOCAL_INT_NODEID
53 INTEGER,
DIMENSION(IGRSURF(T_MONVOLN%EXT_SURFID)%NSEG),
INTENT(IN) :: TAGE
54 my_real,
DIMENSION(3, NUMNOD),
INTENT(IN) :: x
55 INTEGER,
INTENT(IN) :: NNS, NNI, KMESH, SIZE1, SIZE2
56 INTEGER,
INTENT(INOUT) :: NTG, NTGI, FVBAG_ELEMID(2 * (SIZE1 + SIZE2))
60 INTEGER :: II, NODE1, NODE2, NODE3, NODE4, ITYPE, KK
61 INTEGER :: NTRI, NQUAD, NNODE, IQUAD, ITRI, INODE
62 INTEGER,
DIMENSION(:),
ALLOCATABLE :: QUAD, TRI, SPLITTED_QUAD
63 DOUBLE PRECISION,
DIMENSION(:),
ALLOCATABLE :: COORD
64 INTEGER,
DIMENSION(:, :),
ALLOCATABLE :: ELEM_TMP
65 INTEGER :: NB_FILL_TRI
77 DO ii = 1, igrsurf(t_monvoln%EXT_SURFID)%NSEG
78 itype = igrsurf(t_monvoln%EXT_SURFID)%ELTYP(ii)
79 SELECT CASE (tage(ii))
98 IF (t_monvoln%INT_SURFID > 0)
THEN
99 DO ii = 1, igrsurf(t_monvoln%INT_SURFID)%NSEG
100 IF (igrsurf(t_monvoln%INT_SURFID)%ELTYP(ii) == 7)
THEN
103 ELSE IF (igrsurf(t_monvoln%INT_SURFID)%ELTYP(ii) == 3)
THEN
110! store triangle count into monvol struct
113 t_monvoln%NTGI = ntgi
114 nb_fill_tri = t_monvoln%NB_FILL_TRI
116 IF (ntg + nb_fill_tri + ntgi > 0)
THEN
117 ALLOCATE(t_monvoln%ELEM(3, ntg + nb_fill_tri + ntgi))
120 IF (kmesh == 12 .OR. kmesh == 14)
THEN
128 DO ii = 1, igrsurf(t_monvoln%EXT_SURFID)%NSEG
129 node1 = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 1))
130 node2 = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 2))
131 node3 = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 3))
132 node4 = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 4))
133 SELECT CASE (tage(ii))
137 t_monvoln%ELEM(1, itri) = node1
138 t_monvoln%ELEM(2, itri) = node2
139 t_monvoln%ELEM(3, itri) = node3
140 fvbag_elemid(itri) = igrsurf(t_monvoln%EXT_SURFID)%ELEM(ii)
141 t_monvoln%ELTG(itri) = numelc + fvbag_elemid(itri)
143 t_monvoln%ELEM(1, itri) = node1
144 t_monvoln%ELEM(2, itri) = node2
145 t_monvoln%ELEM(3, itri) = node4
146 fvbag_elemid(itri) = igrsurf(t_monvoln%EXT_SURFID)%ELEM(ii)
147 t_monvoln%ELTG(itri) = numelc + fvbag_elemid(itri)
149 t_monvoln%ELEM(1, itri) = node2
150 t_monvoln%ELEM(2, itri) = node3
151 t_monvoln%ELEM(3, itri) = node1
152 fvbag_elemid(itri) = igrsurf(t_monvoln%EXT_SURFID)%ELEM(ii)
153 t_monvoln%ELTG(itri) = numelc + fvbag_elemid(itri)
155 t_monvoln%ELEM(1, itri) = node3
156 t_monvoln%ELEM(2, itri) = node4
157 t_monvoln%ELEM(3, itri) = node2
158 fvbag_elemid(itri) = igrsurf(t_monvoln%EXT_SURFID)%ELEM(ii)
159 t_monvoln%ELTG(itri) = numelc + fvbag_elemid(itri)
161 t_monvoln%ELEM(1, itri) = node4
162 t_monvoln%ELEM(2, itri) = node1
163 t_monvoln%ELEM(3, itri) = node3
164 fvbag_elemid(itri) = igrsurf(t_monvoln%EXT_SURFID)%ELEM(ii)
165 t_monvoln%ELTG(itri) = numelc + fvbag_elemid(itri)
169 IF (nb_fill_tri > 0)
THEN
170 DO ii = 1, nb_fill_tri
171 node1 = t_monvoln%FILL_TRI(3 * (ii - 1) + 1)
172 node2 = t_monvoln%FILL_TRI(3 * (ii - 1) + 2)
173 node3 = t_monvoln%FILL_TRI(3 * (ii - 1) + 3)
174 t_monvoln%ELEM(1, itri) = local_nodeid(node1)
175 t_monvoln%ELEM(2, itri) = local_nodeid(node2)
176 t_monvoln%ELEM(3, itri) = local_nodeid(node3)
177 fvbag_elemid(itri) = 0
181 IF (t_monvoln%INT_SURFID > 0)
THEN
182 DO ii = 1, igrsurf(t_monvoln%INT_SURFID)%NSEG
183 node1 = local_int_nodeid(igrsurf(t_monvoln%INT_SURFID)%NODES(ii, 1))
184 node2 = local_int_nodeid(igrsurf(t_monvoln%INT_SURFID)%NODES(ii, 2))
185 node3 = local_int_nodeid(igrsurf(t_monvoln%INT_SURFID)%NODES(ii, 3))
186 t_monvoln%ELEM(1, itri) = node1
187 t_monvoln%ELEM(2, itri) = node2
188 t_monvoln%ELEM(3, itri) = node3
189 fvbag_elemid(itri) = igrsurf(t_monvoln%INT_SURFID)%ELEM(ii)
190 t_monvoln%ELTG(itri) = numelc + fvbag_elemid(itri)
194 ntg = ntg + nb_fill_tri
195 t_monvoln%NTG = t_monvoln%NTG + nb_fill_tri
205 IF (ntri + nb_fill_tri > 0)
ALLOCATE(tri(4 * (ntri + nb_fill_tri)))
207 ALLOCATE(quad(5 * nquad))
208 ALLOCATE(splitted_quad(6 * nquad))
210 ALLOCATE(coord(4 * (nns + nni)))
219 DO ii = 1, igrsurf(t_monvoln%EXT_SURFID)%NSEG
220 itype = igrsurf(t_monvoln%EXT_SURFID)%ELTYP(ii)
221 SELECT CASE (tage(ii))
226 tri(itri + 1) = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 1))
227 tri(itri + 2) = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 2))
228 tri(itri + 3) = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 3))
232 quad(iquad + 1) = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 1))
233 quad(iquad + 2) = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 2))
234 quad(iquad + 3) = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 3))
235 quad(iquad + 4) = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 4))
240 tri(itri + 1) = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 1))
241 tri(itri + 2) = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 2))
242 tri(itri + 3) = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 4))
246 tri(itri + 1) = local_nodeid(igrsurf(t_monvoln%EXT_SURFID
247 tri(itri + 2) = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 3))
248 tri(itri + 3) = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 1))
252 tri(itri + 1) = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 3))
253 tri(itri + 2) = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 4))
254 tri(itri + 3) = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 2))
258 tri(itri + 1) = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 4))
259 tri(itri + 2) = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 1))
260 tri(itri + 3) = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 3))
268 IF (nb_fill_tri > 0)
THEN
269 DO ii = 1, nb_fill_tri
270 node1 = t_monvoln%FILL_TRI(3 * (ii - 1) + 1)
271 node2 = t_monvoln%FILL_TRI(3 * (ii - 1) + 2)
272 node3 = t_monvoln%FILL_TRI(3 * (ii - 1) + 3)
273 tri(itri + 1) = local_nodeid(node1)
274 tri(itri + 2) = local_nodeid(node2)
275 tri(itri + 3) = local_nodeid(node3)
283 IF (t_monvoln%INT_SURFID > 0)
THEN
284 DO ii = 1, igrsurf(t_monvoln%INT_SURFID)%NSEG
285 IF (igrsurf(t_monvoln%INT_SURFID)%ELTYP(ii) == 7)
THEN
286 tri(itri + 1) = local_int_nodeid(igrsurf(t_monvoln%INT_SURFID)%NODES(ii, 1))
287 tri(itri + 2) = local_int_nodeid(igrsurf(t_monvoln%INT_SURFID)%NODES(ii, 2))
288 tri(itri + 3) = local_int_nodeid(igrsurf(t_monvoln%INT_SURFID)%NODES(ii, 3))
291 ELSE IF (igrsurf(t_monvoln%INT_SURFID)%ELTYP(ii) == 3)
THEN
292 quad(iquad + 1) = local_int_nodeid(igrsurf(t_monvoln%INT_SURFID)%NODES(ii, 1))
293 quad(iquad + 2) = local_int_nodeid(igrsurf(t_monvoln%INT_SURFID)%NODES(ii, 2))
294 quad(iquad + 3) = local_int_nodeid(igrsurf(t_monvoln%INT_SURFID)%NODES(ii, 3))
295 quad(iquad + 4) = local_int_nodeid(igrsurf(t_monvoln%INT_SURFID)%NODES(ii, 4))
302! * fill in node coordinates *
307 coord(inode + 1) = x(1, t_monvoln%NODES(ii))
308 coord(inode + 2) = x(2, t_monvoln%NODES(ii))
309 coord(inode + 3) = x(3, t_monvoln%NODES(ii))
310 coord(inode + 4) = zero
317 CALL hm_quad_split(nnode, coord(1), ntri, tri(1), nquad, quad(1), splitted_quad(1))
319 IF(nquad > 0) splitted_quad = 0
323! ****************************
326 DO ii = 1, igrsurf(t_monvoln%EXT_SURFID)%NSEG
327 itype = igrsurf(t_monvoln%EXT_SURFID)%ELTYP(ii)
328 node1 = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 1))
329 node2 = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 2))
330 node3 = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 3))
331 node4 = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 4))
332 SELECT CASE (tage(ii))
339 t_monvoln%ELEM(1, itri) = splitted_quad(6 * (iquad - 1) + 1)
340 t_monvoln%ELEM(2, itri) = splitted_quad(6 * (iquad - 1) + 2)
341 t_monvoln%ELEM(3, itri) = splitted_quad
342 fvbag_elemid(itri) = igrsurf(t_monvoln%EXT_SURFID)%ELEM(ii)
343 t_monvoln%ELTG(itri) = fvbag_elemid(itri)
345 t_monvoln%ELEM(1, itri) = splitted_quad(6 * (iquad - 1) + 4)
346 t_monvoln%ELEM(2, itri) = splitted_quad(6 * (iquad - 1) + 5)
347 t_monvoln%ELEM(3, itri) = splitted_quad(6 * (iquad - 1) + 6)
348 fvbag_elemid(itri) = igrsurf(t_monvoln%EXT_SURFID)%ELEM(ii)
349 t_monvoln%ELTG(itri) = fvbag_elemid(itri)
352 t_monvoln%ELEM(1, itri) = node1
353 t_monvoln%ELEM(2, itri) = node2
354 t_monvoln%ELEM(3, itri) = node3
355 fvbag_elemid(itri) = igrsurf(t_monvoln%EXT_SURFID)%ELEM(ii)
356 t_monvoln%ELTG(itri) = numelc + fvbag_elemid(itri)
360 t_monvoln%ELEM(1, itri) = node1
361 t_monvoln%ELEM(2, itri) = node2
362 t_monvoln%ELEM(3, itri) = node4
363 fvbag_elemid(itri) = igrsurf(t_monvoln%EXT_SURFID)%ELEM(ii)
365 t_monvoln%ELTG(itri) = numelc + fvbag_elemid(itri)
367 t_monvoln%ELTG(itri) = fvbag_elemid(itri)
371 t_monvoln%ELEM(1, itri) = node2
372 t_monvoln%ELEM(2, itri) = node3
373 t_monvoln%ELEM(3, itri) = node1
374 fvbag_elemid(itri) = igrsurf(t_monvoln%EXT_SURFID)%ELEM(ii)
376 t_monvoln%ELTG(itri) = numelc + fvbag_elemid(itri)
378 t_monvoln%ELTG(itri) = fvbag_elemid(itri)
382 t_monvoln%ELEM(1, itri) = node3
383 t_monvoln%ELEM(2, itri) = node4
384 t_monvoln%ELEM(3, itri) = node2
385 fvbag_elemid(itri) = igrsurf(t_monvoln%EXT_SURFID)%ELEM(ii)
387 t_monvoln%ELTG(itri) = numelc + fvbag_elemid(itri)
389 t_monvoln%ELTG(itri) = fvbag_elemid(itri)
393 t_monvoln%ELEM(1, itri) = node4
394 t_monvoln%ELEM(2, itri) = node1
395 t_monvoln%ELEM(3, itri) = node3
396 fvbag_elemid(itri) = igrsurf(t_monvoln%EXT_SURFID)%ELEM(ii)
398 t_monvoln%ELTG(itri) = numelc + fvbag_elemid(itri)
400 t_monvoln%ELTG(itri) = fvbag_elemid(itri)
404 IF (nb_fill_tri > 0)
THEN
405 DO ii = 1, nb_fill_tri
406 node1 = t_monvoln%FILL_TRI(3 * (ii - 1) + 1)
407 node2 = t_monvoln%FILL_TRI(3 * (ii - 1) + 2)
408 node3 = t_monvoln%FILL_TRI(3 * (ii - 1) + 3)
410 t_monvoln%ELEM(1, itri) = local_nodeid(node1)
411 t_monvoln%ELEM(2, itri) = local_nodeid(node2)
412 t_monvoln%ELEM(3, itri) = local_nodeid(node3)
413 fvbag_elemid(itri) = 0
416 IF (t_monvoln%INT_SURFID > 0)
THEN
417 DO ii = 1, igrsurf(t_monvoln%INT_SURFID)%NSEG
418 itype = igrsurf(t_monvoln%INT_SURFID)%ELTYP(ii)
419 node1 = local_int_nodeid(igrsurf(t_monvoln%INT_SURFID)%NODES(ii, 1))
420 node2 = local_int_nodeid(igrsurf(t_monvoln%INT_SURFID)%NODES(ii, 2))
421 node3 = local_int_nodeid(igrsurf(t_monvoln%INT_SURFID)%NODES(ii, 3))
422 node4 = local_int_nodeid(igrsurf(t_monvoln%INT_SURFID)%NODES(ii, 4))
426 t_monvoln%ELEM(1, itri) = splitted_quad(6 * (iquad - 1) + 1)
427 t_monvoln%ELEM(2, itri) = splitted_quad(6 * (iquad - 1) + 2)
428 t_monvoln%ELEM(3, itri) = splitted_quad(6 * (iquad - 1) + 3)
429 fvbag_elemid(itri) = igrsurf(t_monvoln%INT_SURFID)%ELEM(ii)
430 t_monvoln%ELTG(itri) = fvbag_elemid(itri)
432 t_monvoln%ELEM(1, itri) = splitted_quad(6 * (iquad - 1) + 4)
433 t_monvoln%ELEM(2, itri) = splitted_quad(6 * (iquad - 1) + 5)
434 t_monvoln%ELEM(3, itri) = splitted_quad(6 * (iquad - 1) + 6)
435 fvbag_elemid(itri) = igrsurf(t_monvoln%INT_SURFID)%ELEM(ii)
436 t_monvoln%ELTG(itri) = fvbag_elemid(itri)
439 t_monvoln%ELEM(1, itri) = node1
440 t_monvoln%ELEM(2, itri) = node2
441 t_monvoln%ELEM(3, itri) = node3
442 fvbag_elemid(itri) = igrsurf(t_monvoln%INT_SURFID)%ELEM(ii)
443 t_monvoln%ELTG(itri) = numelc + fvbag_elemid(itri)
447 ntg = ntg + nb_fill_tri
448 t_monvoln%NTG = t_monvoln%NTG + nb_fill_tri
451 OPEN(unit = 210486, file =
"OUTPUT_0000.rad", form =
'formatted')
452 WRITE(210486,
'(A)')
"#RADIOSS STARTER"
453 WRITE(210486,
'(A)')
"/BEGIN"
454 WRITE(210486,
'(A)')
"ORIENTED_SURFACE "
455 WRITE(210486,
'(A)')
" 100 0"
456 WRITE(210486,
'(A)')
" g mm ms"
457 WRITE(210486,
'(A)')
" g mm ms"
458 WRITE(210486,
"(A5)")
"/NODE"
460 WRITE(210486,
"(I10, 1PG20.13, 1PG20.13, 1PG20.13)") kk, coord(4 * (kk - 1) + 1), coord(4 * (kk - 1) + 2),
461 . coord(4 * (kk - 1) + 3)
463 WRITE(210486,
"(A5)""/SH3N"
466 WRITE(210486,
'(I10,I10,I10,I10)') kk, t_monvoln%ELEM(1, kk), t_monvoln%ELEM(2, kk), t_monvoln%ELEM(3, kk)
471 OPEN(unit = 210486, file =
"OUTPUT_IN_0000.rad", form =
'formatted')
472 WRITE(210486,
'(A)')
"#RADIOSS STARTER"
473 WRITE(210486,
'(A)')
"/BEGIN"
474 WRITE(210486,
'(A)')
"ORIENTED_SURFACE "
475 WRITE(210486,
'(A)')
" 100 0"
476 WRITE(210486,
'(A)')
" g mm ms"
477 WRITE(210486,
'(A)')
" g mm ms"
478 WRITE(210486,
"(A5)")
"/NODE"
480 WRITE(210486,
"(I10, 1PG20.13, 1PG20.13, 1PG20.13)") kk, coord(4 * (kk - 1) + 1), coord(4 * (kk - 1) + 2),
481 . coord(4 * (kk - 1) + 3)
483 WRITE(210486,
"(A5)")
"/SH3N"
485 DO kk = ntg + 1, ntg + ntgi
486 WRITE(210486,
'(I10,I10,I10,I10)') kk, t_monvoln%ELEM(1, kk), t_monvoln%ELEM(2, kk), t_monvoln%ELEM(3, kk)
493 IF (
ALLOCATED(quad))
DEALLOCATE(quad)
494 IF (
ALLOCATED(tri))
DEALLOCATE(tri)
495 IF (
ALLOCATED(coord))
DEALLOCATE(coord)
496 IF (
ALLOCATED(splitted_quad))
DEALLOCATE(splitted_quad)
505 DO ii = 1, igrsurf(t_monvoln%EXT_SURFID)%NSEG
506 itype = igrsurf(t_monvoln%EXT_SURFID)%ELTYP(ii)
507 node1 = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 1))
508 node2 = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 2))
509 node3 = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 3))
510 node4 = local_nodeid(igrsurf(t_monvoln%EXT_SURFID)%NODES(ii, 4))
511 SELECT CASE (tage(ii))
516 t_monvoln%ELEM(1, itri) = node1
517 t_monvoln%ELEM(2, itri) = node2
518 t_monvoln%ELEM(3, itri) = node3
519 fvbag_elemid(itri) = igrsurf(t_monvoln%EXT_SURFID)%ELEM(ii)
520 t_monvoln%ELTG(itri) = numelc + fvbag_elemid(itri)
522 t_monvoln%ELEM(1, itri) = node1
523 t_monvoln%ELEM(2, itri) = node2
524 t_monvoln%ELEM(3, itri) = node4
525 fvbag_elemid(itri) = igrsurf(t_monvoln%EXT_SURFID)%ELEM(ii)
526 t_monvoln%ELTG(itri) = fvbag_elemid(itri)
528 t_monvoln%ELEM(1, itri) = node2
529 t_monvoln%ELEM(2, itri) = node3
530 t_monvoln%ELEM(3, itri) = node4
531 fvbag_elemid(itri) = igrsurf(t_monvoln%EXT_SURFID)%ELEM(ii)
532 t_monvoln%ELTG(itri) = fvbag_elemid(itri)
535 t_monvoln%ELEM(1, itri) = node1
536 t_monvoln%ELEM(2, itri) = node2
537 t_monvoln%ELEM(3, itri) = node4
538 fvbag_elemid(itri) = igrsurf(t_monvoln%EXT_SURFID)%ELEM(ii)
540 t_monvoln%ELTG(itri) = numelc + fvbag_elemid(itri)
542 t_monvoln%ELTG(itri) = fvbag_elemid(itri)
545 t_monvoln%ELEM(1, itri) = node2
546 t_monvoln%ELEM(2, itri) = node3
547 t_monvoln%ELEM(3, itri) = node1
548 fvbag_elemid(itri) = igrsurf(t_monvoln%EXT_SURFID)%ELEM(ii)
550 t_monvoln%ELTG(itri) = numelc + fvbag_elemid(itri)
552 t_monvoln%ELTG(itri) = fvbag_elemid(itri)
555 t_monvoln%ELEM(1, itri) = node3
556 t_monvoln%ELEM(2, itri) = node4
557 t_monvoln%ELEM(3, itri) = node2
558 fvbag_elemid(itri) = igrsurf(t_monvoln%EXT_SURFID)%ELEM(ii)
560 t_monvoln%ELTG(itri) = numelc + fvbag_elemid(itri)
562 t_monvoln%ELTG(itri) = fvbag_elemid(itri)
565 t_monvoln%ELEM(1, itri) = node4
566 t_monvoln%ELEM(2, itri) = node1
567 t_monvoln%ELEM(3, itri) = node3
568 fvbag_elemid(itri) = igrsurf(t_monvoln%EXT_SURFID)%ELEM(ii)
570 t_monvoln%ELTG(itri) = numelc + fvbag_elemid(itri)
572 t_monvoln%ELTG(itri) = fvbag_elemid
577 IF (itri - 1 /= ntg)
THEN
580 ALLOCATE(elem_tmp(3, ntg))
582 elem_tmp(1:3, ii) = t_monvoln%ELEM(1:3, ii)
584 DEALLOCATE(t_monvoln%ELEM)
585 ALLOCATE(t_monvoln%ELEM(3, ntg + nb_fill_tri + ntgi))
587 t_monvoln%ELEM(1:3, ii) = elem_tmp(1:3, ii)
591 IF (nb_fill_tri > 0)
THEN
592 DO ii = 1, nb_fill_tri
593 node1 = t_monvoln%FILL_TRI(3 * (ii - 1) + 1)
594 node2 = t_monvoln%FILL_TRI(3 * (ii - 1) + 2)
595 node3 = t_monvoln%FILL_TRI(3 * (ii - 1) + 3)
596 t_monvoln%ELEM(1, itri) = local_nodeid(node1)
597 t_monvoln%ELEM(2, itri) = local_nodeid(node2)
598 t_monvoln%ELEM(3, itri) = local_nodeid(node3)
599 fvbag_elemid(itri) = 0
603 ntg = ntg + nb_fill_tri
604 t_monvoln%NTG = t_monvoln%NTG + nb_fill_tri
607 DO ii = 1, igrsurf(t_monvoln%INT_SURFID)%NSEG
608 itype = igrsurf(t_monvoln%INT_SURFID)%ELTYP(ii)
609 node1 = local_int_nodeid(igrsurf(t_monvoln%INT_SURFID)%NODES(ii, 1))
610 node2 = local_int_nodeid(igrsurf(t_monvoln%INT_SURFID)%NODES(ii, 2))
611 node3 = local_int_nodeid(igrsurf(t_monvoln%INT_SURFID)%NODES(ii, 3))
612 node4 = local_int_nodeid(igrsurf(t_monvoln%INT_SURFID)%NODES(ii, 4))
614 t_monvoln%ELEM(1, itri) = node1
615 t_monvoln%ELEM(2, itri) = node2
616 t_monvoln%ELEM(3, itri) = node3
617 fvbag_elemid(itri) = igrsurf(t_monvoln%INT_SURFID)%ELEM(ii)
618 t_monvoln%ELTG(itri) = numelc + fvbag_elemid(itri)
621 t_monvoln%ELEM(1, itri) = node1
622 t_monvoln%ELEM(2, itri) = node2
623 t_monvoln%ELEM(3, itri) = node3
624 fvbag_elemid(itri) = igrsurf(t_monvoln%INT_SURFID)%ELEM(ii)
625 t_monvoln%ELTG(itri) = fvbag_elemid(itri)
627 t_monvoln%ELEM(1, itri) = node1
628 t_monvoln%ELEM(2, itri) = node3
629 t_monvoln%ELEM(3, itri) = node4
630 fvbag_elemid(itri) = igrsurf(t_monvoln%INT_SURFID)%ELEM(ii)
631 t_monvoln%ELTG(itri) = fvbag_elemid(itri)