35
36
37
39 use element_mod , only : nixs
40
41
42
43#include "implicit_f.inc"
44
45
46
47#include "com01_c.inc"
48#include "com04_c.inc"
49#include "param_c.inc"
50#include "task_c.inc"
51
52
53
54 INTEGER MONVOL(*), IXS(NIXS,*)
56 . x(3,*), volmon(*)
57
58
59
60 INTEGER K1, KK1, KIBALE, IFV,
61 . N, ITYP, NNS, NTG, NBRIC, KI1, KI2, NBX, NBY, NNB, IMESH,
62 . NBA, NTGA, NNA, KIA1, KIA2, KIA3, KIA4, KIA5, KIA6,
63 . NNI, NTGI
64
65 ifv=0
66 k1=1
67 kibale=1+nimv*nvolu+licbag+libagjet+libaghol
68 kk1=1
69 DO n=1,nvolu
70 ityp=monvol(k1-1+2)
71 IF (ityp==6.OR.ityp==8) THEN
72 ifv=monvol(k1-1+45)
73 imesh=monvol(k1-1+56)
74 IF (imesh/=0) THEN
75 nns=monvol(k1-1+32)
76 ntg=monvol(k1-1+33)
77 nni =monvol(k1-1+68)
78 ntgi=monvol(k1-1+69)
79 nba =monvol(k1-1+62)
80 ntga=monvol(k1-1+63)
81 nna =monvol(k1-1+64)
82
83 ki1=kibale+monvol(k1-1+31)
84 ki2=ki1+nns+nni
85 kia1=ki2+6*(ntg+ntgi)
86 kia2=kia1+2*nba
87 kia3=kia2+12*nba
88 kia4=kia3+2*(ntg+ntgi)
89 kia5=kia4+nna
90 kia6=kia5+3*ntga
91
92 nbx=monvol(k1-1+54)
93 nby=monvol(k1-1+55)
94 nbric=nbx*nby
95 nnb=(nbx+1)*(nby+1)*2
96 IF (ispmd/=
fvspmd(ifv)%PMAIN-1)
THEN
97 ALLOCATE(
fvdata(ifv)%BRIC(8,0),
100 .
fvdata(ifv)%SFAC(6,4,0))
101 ELSE
102 ALLOCATE(
fvdata(ifv)%BRIC(8,nbric),
103 .
fvdata(ifv)%TBRIC(13,nbric),
105 .
fvdata(ifv)%SFAC(6,4,nbric))
106 ENDIF
107
108 CALL fvbric(monvol(k1), volmon(kk1), monvol(ki1), x, nns)
109
110 monvol(k1-1+50)=monvol(k1-1+46)
111 monvol(k1-1+51)=monvol(k1-1+47)
112 monvol(k1-1+52)=monvol(k1-1+48)
113 monvol(k1-1+53)=monvol(k1-1+49)
114
116 . monvol(ki1), monvol(ki2), x, monvol(k1),
fvdata(ifv)%BRIC,
117 .
fvdata(ifv)%XB, volmon(kk1), ntg, nbric,
fvdata(ifv)%TBRIC,
119 . monvol(kia1), monvol(kia2), monvol(kia3), monvol(kia4),
120 . monvol(kia5), monvol(kia6), ixs, nns )
121
124 ENDIF
125 ENDIF
126 k1=k1+nimv
127 kk1=kk1+nrvolu
128 ENDDO
129
130 RETURN
type(fvbag_spmd), dimension(:), allocatable fvspmd
type(fvbag_data), dimension(:), allocatable fvdata
subroutine fvbric(ivolu, rvolu, ibuf, x, nn)
subroutine fvmesh1(ibuf, elem, x, ivolu, bric, xb, rvolu, nel, neli, nbric, tbric, sfac, dxm, nba, nela, tba, tfaca, tagels, ibufa, elema, tagela, ixs, id, titr, nb_node, ityp)