5 &(masktr,limtra,litbor,clt,u,v,xnebor,ynebor,nbor,
6 & nptfr,kent,ksort,klog,kneu,kdir,kddl,
7 & iconv,nelbor,npoin,msk,maskel,
8 & nfrliq,thomfr,frtype,tn,tbor,numliq,iklbor,neleb,nelebx)
88 TYPE(bief_obj),
INTENT(INOUT) :: MASKTR,TBOR
89 TYPE(bief_obj),
INTENT(IN) :: TN
90 INTEGER,
INTENT(IN) :: NELEB,NELEBX
91 INTEGER,
INTENT(IN) :: NPOIN,NPTFR,ICONV,NFRLIQ
92 INTEGER,
INTENT(IN) :: LITBOR(nptfr),NBOR(nptfr)
93 INTEGER,
INTENT(INOUT) :: LIMTRA(nptfr),CLT(nptfr)
94 INTEGER,
INTENT(IN) :: IKLBOR(nelebx,2)
95 INTEGER,
INTENT(IN) :: KENT,KSORT,KLOG,KDIR,KDDL,KNEU
96 INTEGER,
INTENT(IN) :: NELBOR(nelebx),NUMLIQ(*)
97 INTEGER,
INTENT(IN) :: FRTYPE(nfrliq)
99 DOUBLE PRECISION,
INTENT(IN) :: U(npoin), V(npoin)
100 DOUBLE PRECISION,
INTENT(IN) :: XNEBOR(nptfr), YNEBOR(nptfr)
101 DOUBLE PRECISION,
INTENT(IN) :: MASKEL(*)
103 LOGICAL,
INTENT(IN) :: MSK,THOMFR
107 INTEGER K,K1,K2,IELEM,DIR,DDL,NEU,OND,NONEU,IFRLIQ,IELEB
108 DOUBLE PRECISION USCALN
124 IF(clt(k).EQ.kent)
THEN 125 uscaln = u(nbor(k))*xnebor(k) + v(nbor(k))*ynebor(k)
127 IF(uscaln.GT.0.d0) clt(k) = ksort
128 ELSEIF(clt(k).EQ.ksort)
THEN 129 uscaln = u(nbor(k))*xnebor(k) + v(nbor(k))*ynebor(k)
132 IF(uscaln.LT.0.d0)
THEN 133 tbor%R(k)=tn%R(nbor(k))
149 CALL os(
'X=0 ',x=masktr)
153 IF(clt(k1).EQ.klog.OR.clt(k2).EQ.klog)
THEN 155 masktr%ADR(neu)%P%R(ieleb)=1.d0
156 ELSEIF(clt(k1).EQ.kent.AND.clt(k2).EQ.ksort)
THEN 158 masktr%ADR(ddl)%P%R(ieleb)=1.d0
159 ELSEIF(clt(k1).EQ.ksort.OR.clt(k2).EQ.ksort)
THEN 160 masktr%ADR(ddl)%P%R(ieleb)=1.d0
161 ELSEIF(clt(k1).EQ.ksort.AND.clt(k2).EQ.kent)
THEN 163 masktr%ADR(ddl)%P%R(ieleb)=1.d0
164 ELSEIF(clt(k1).EQ.kent.OR.clt(k2).EQ.kent)
THEN 165 masktr%ADR(dir)%P%R(ieleb)=1.d0
168 101
FORMAT(1x,
'DIFFIN : UNEXPECTED CASE')
180 masktr%ADR(dir)%P%R(ieleb) = masktr%ADR(dir)%P%R(ieleb) *
182 masktr%ADR(ddl)%P%R(ieleb) = masktr%ADR(ddl)%P%R(ieleb) *
184 masktr%ADR(neu)%P%R(ieleb) = masktr%ADR(neu)%P%R(ieleb) *
186 masktr%ADR(ond)%P%R(ieleb) = masktr%ADR(ond)%P%R(ieleb) *
196 masktr%ADR(noneu)%P%R(ieleb)=1.d0-masktr%ADR(neu)%P%R(ieleb)
205 IF(clt(k).EQ.kent )
THEN 211 ELSEIF(clt(k).EQ.ksort)
THEN 223 ELSEIF(clt(k).EQ.klog )
THEN 233 WRITE(
lu,12) k,litbor(k)
234 12
FORMAT(1x,
'DIFFIN: POINT ',1i6,
' LITBOR= ',1i6,
' ?????')
247 IF(nfrliq.GT.0.AND.thomfr)
THEN 252 IF(frtype(ifrliq).EQ.2) limtra(k) = kdir
subroutine diffin(MASKTR, LIMTRA, LITBOR, CLT, U, V, XNEBOR, YNEBOR, NBOR, NPTFR, KENT, KSORT, KLOG, KNEU, KDIR, KDDL, ICONV, NELBOR, NPOIN, MSK, MASKEL, NFRLIQ, THOMFR, FRTYPE, TN, TBOR, NUMLIQ, IKLBOR, NELEB, NELEBX)
subroutine os(OP, X, Y, Z, C, IOPT, INFINI, ZERO)