32 SUBROUTINE fvbric01(IBUF, ELEM, NTGI, NB_NODE, NBRIC, IXS,
46#include "implicit_f.inc"
55 INTEGER,
INTENT(IN) :: NBRIC, NTGI, , TBRIC(2, NBRIC), IXS(NIXS, *)
56 INTEGER,
INTENT(IN) :: IBUF(*), ELEM(3, NTGI)
57 INTEGER,
INTENT(INOUT) :: TFAC(12, NBRIC)
61 INTEGER :: II, KK, KKK, KKKK, JJ, CONNECT_MAX, NODEID, COUNT, ELID, ELID1
62 INTEGER :: NSEG, IFACE, ITYPE, NNODE, NSURFNODE, SUM
63 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IFLAG
64 INTEGER,
DIMENSION(:, :),
ALLOCATABLE :: N_E_CONNECT, N_E_CONNECT_LOCID
65 INTEGER,
TARGET :: REDIRT(4), REDIRP(6), REDIRB(8), REDIRPY(5),
66 . nod8(6), nod3(4), nod6(5), nod5(5),
67 . fac8(4,6), fac4(3,4), fac6(4,5), fac5(4,5), nface(4)
68 INTEGER,
DIMENSION(:),
POINTER :: REDIR, NOD
69 INTEGER,
DIMENSION(:,:),
POINTER :: FAC
86 DATA nod8 /4,4,4,4,4,4/
97 INTEGER,
TARGET :: nothing(1,1)
102 redir => nothing(:,1)
133 ALLOCATE(iflag(nb_node))
154 redir => redirpy(1:5)
161 nodeid = ixs(1 + redir(kk), elid)
162 iflag(nodeid) = iflag(nodeid) + 1
166 connect_max = maxval(iflag(1:nb_node))
169 ALLOCATE(n_e_connect(nb_node, connect_max + 1))
170 ALLOCATE(n_e_connect_locid(nb_node, connect_max + 1))
171 n_e_connect(1:nb_node, 1:connect_max + 1) = 0
172 n_e_connect_locid(1:nb_node, 1:connect_max + 1) = 0
192 redir => redirpy(1:5)
197 nodeid = ixs(1 + redir(kk), elid)
198 count = n_e_connect(nodeid, 1)
200 n_e_connect(nodeid, 1) = count
201 n_e_connect(nodeid, count + 1) = elid
202 n_e_connect_locid(nodeid, count + 1) = ii
214 kkk = ibuf(elem(kk, ii))
218 kkk = ibuf(elem(kk, ii))
219 DO jj = 1, n_e_connect(kkk, 1)
220 elid = n_e_connect(kkk, 1 + jj)
227 fac => fac8(1:4, 1:6)
233 fac => fac4(1:3, 1:4)
239 fac => fac6(1:4, 1:5)
244 redir => redirpy(1:5)
245 fac => fac5(1:4, 1:5)
252 nodeid = ixs(1 + redir(kkkk), elid)
253 sum = sum + iflag(nodeid)
255 IF (sum == nsurfnode)
THEN
258 DO iface = 1, nface(itype)
260 DO kkkk = 1, nod(iface)
261 sum = sum + iflag(ixs(1 + fac(kkkk, iface), elid))
263 IF (sum == nsurfnode)
THEN
270 IF (.NOT. face_ok)
THEN
273 elid1 = n_e_connect_locid(kkk, 1 + jj)
274 tfac(2 * iface - 1, elid1) = -2
282 kkk = ibuf(elem(kk, ii))
289 DEALLOCATE(n_e_connect)
290 DEALLOCATE(n_e_connect_locid)