5 &(flow,w2d,w3d,nseg2d,nelem2,nelmax2,mesh2d,iniflo,
6 & iopt,sens,ielm3,nplan,ikle,nelmax,knolg)
88 INTEGER,
INTENT(IN) :: NSEG2D,NELEM2
90 INTEGER,
INTENT(IN) :: IOPT,SENS,IELM3,NPLAN,NELMAX
91 INTEGER,
INTENT(IN) :: NELMAX2
94 INTEGER,
INTENT(IN) :: IKLE(nelmax,*),KNOLG(*)
95 DOUBLE PRECISION,
INTENT(INOUT) :: FLOW(*)
98 DOUBLE PRECISION,
INTENT(IN) :: W3D(nelmax,*)
99 DOUBLE PRECISION,
INTENT(INOUT) :: W2D(nelmax2,3)
100 LOGICAL,
INTENT(IN) :: INIFLO
101 TYPE(bief_mesh),
INTENT(INOUT) :: MESH2D
105 INTEGER IPLAN,N1,N2,N3,N4,IELEM,I1,I2,I3,S1,S2,S3,IT,IELEM3D,K,L
118 IF(sens.NE.1.AND.sens.NE.2)
THEN 119 WRITE(
lu,*)
'FLUX_EF_VF_3D: UNKNOWN SENS = ',sens
124 IF(sens.EQ.2.AND..NOT.iniflo)
THEN 125 WRITE(
lu,*)
'FLUX_EF_VF_3D: SENS = 2 AND INIFLO = .FALSE.' 126 WRITE(
lu,*)
' INCOMPATIBLE OPTIONS' 151 n1=(iplan-1 )*nseg2d+1
154 n1=( nplan-iplan)*nseg2d+1
155 n2=(1+nplan-iplan)*nseg2d
162 w2d(ielem,1)=w3d(ielem,1)
163 w2d(ielem,2)=w3d(ielem,2)
164 w2d(ielem,3)=w3d(ielem,3)
166 CALL flux_ef_vf(flow(n1:n2),w2d,nseg2d,nelem2,mesh2d%NELMAX,
167 & mesh2d%ELTSEG%I,mesh2d%ORISEG%I,
168 & mesh2d%IKLE%I,iniflo,iopt)
169 ELSEIF(iplan.EQ.nplan)
THEN 173 w2d(ielem,1)=w3d(n3+ielem,4)
174 w2d(ielem,2)=w3d(n3+ielem,5)
175 w2d(ielem,3)=w3d(n3+ielem,6)
177 CALL flux_ef_vf(flow(n1:n2),w2d,nseg2d,nelem2,mesh2d%NELMAX,
178 & mesh2d%ELTSEG%I,mesh2d%ORISEG%I,
179 & mesh2d%IKLE%I,iniflo,iopt)
185 w2d(ielem,1)=w3d(n3+ielem,4)
186 w2d(ielem,2)=w3d(n3+ielem,5)
187 w2d(ielem,3)=w3d(n3+ielem,6)
189 CALL flux_ef_vf(flow(n1:n2),w2d,nseg2d,nelem2,mesh2d%NELMAX,
190 & mesh2d%ELTSEG%I,mesh2d%ORISEG%I,
191 & mesh2d%IKLE%I,iniflo,iopt)
195 w2d(ielem,1)=w3d(n4+ielem,1)
196 w2d(ielem,2)=w3d(n4+ielem,2)
197 w2d(ielem,3)=w3d(n4+ielem,3)
199 CALL flux_ef_vf(flow(n1:n2),w2d,nseg2d,nelem2,mesh2d%NELMAX,
200 & mesh2d%ELTSEG%I,mesh2d%ORISEG%I,
201 & mesh2d%IKLE%I,.false.,iopt)
209 ELSEIF(ielm3.EQ.51)
THEN 273 ielem3d=3*(iplan-2)*nelem2+ielem+(k-1)*nelem2
277 it=
tetra(s1,s2,s3,k,l)
279 w2d(ielem,it-3)=w2d(ielem,it-3)+w3d(ielem3d,l)
287 IF(iplan.LT.nplan)
THEN 290 ielem3d=3*(iplan-1)*nelem2+ielem+(k-1)*nelem2
294 it=
tetra(s1,s2,s3,k,l)
296 w2d(ielem,it)=w2d(ielem,it)+w3d(ielem3d,l)
305 n1=(iplan-1 )*nseg2d+1
308 n1=( nplan-iplan)*nseg2d+1
309 n2=(1+nplan-iplan)*nseg2d
316 CALL flux_ef_vf(flow,w2d,nseg2d,nelem2,mesh2d%NELMAX,
317 & mesh2d%ELTSEG%I,mesh2d%ORISEG%I,
318 & mesh2d%IKLE%I,iniflo,iopt)
323 WRITE(
lu,*)
'UNEXPECTED ELEMENT TYPE IN FLUX_EF_VF_3D'
subroutine flux_ef_vf_3d(FLOW, W2D, W3D, NSEG2D, NELEM2, NELMAX2, MESH2D, INIFLO, IOPT, SENS, IELM3, NPLAN, IKLE, NELMAX, KNOLG)
integer, dimension(2, 2, 2, 3, 4) tetra
subroutine flux_ef_vf(FLOW, PHIEL, NSEG, NELEM, NELMAX, ELTSEG, ORISEG, IKLE, INIFLO, IOPT, FN, YAFLULIM, FLULIM, YAFLULIMEBE, FLULIMEBE)