5 &(mesh,liebor,ksort,elay,v2dpar,qsx,qsy,ava,npoin,nseg,nptfr,
6 & dt,qs,t1,t2,t3,
breach,csf_sable,nubo,vnoin)
78 TYPE(bief_mesh),
INTENT(INOUT) :: MESH
79 TYPE(bief_obj),
INTENT(IN) :: LIEBOR
80 TYPE(bief_obj),
INTENT(IN) :: QSX, QSY
81 INTEGER,
INTENT(IN) :: NPOIN, NSEG, NPTFR,KSORT
82 DOUBLE PRECISION,
INTENT(IN) :: DT
83 TYPE(bief_obj),
INTENT(INOUT) :: QS, T1, T2, T3
84 TYPE(bief_obj),
INTENT(INOUT) :: BREACH
85 DOUBLE PRECISION,
INTENT(IN) :: ELAY(npoin),V2DPAR(npoin)
86 DOUBLE PRECISION,
INTENT(IN) :: AVA(npoin), CSF_SABLE
88 INTEGER,
INTENT(IN) :: NUBO(2,nseg)
89 DOUBLE PRECISION,
INTENT(IN) :: VNOIN(3,nseg)
94 INTEGER :: IEL, IEL1, IEL2, ISEGIN
95 DOUBLE PRECISION :: QSP1, QSP2, QSPC
96 DOUBLE PRECISION :: XN, YN, TEMP,PROD_SCAL
97 DOUBLE PRECISION :: VNOIN1, VNOIN2, RNORM
135 iel1 = nubo(1,isegin)
136 iel2 = nubo(2,isegin)
140 vnoin1 = vnoin(1,isegin)
141 vnoin2 = vnoin(2,isegin)
142 rnorm = vnoin(3,isegin)
143 prod_scal= (mesh%X%R(iel2)-mesh%X%R(iel1))*vnoin1+
144 & (mesh%Y%R(iel2)-mesh%Y%R(iel1))*vnoin2
145 IF(prod_scal.LT.0.d0)
THEN 146 iel1 = nubo(2,isegin)
147 iel2 = nubo(1,isegin)
152 qsp1 = vnoin1*qsx%R(iel1) + vnoin2*qsy%R(iel1)
153 qsp2 = vnoin1*qsx%R(iel2) + vnoin2*qsy%R(iel2)
154 qspc = (qsp1+qsp2)*0.5d0
158 t1%R(iel1) = t1%R(iel1) + rnorm*max(qspc,qsp1,0.d0)
159 t1%R(iel2) = t1%R(iel2) - rnorm*min(qspc,qsp2,0.d0)
162 t2%R(iel1) = t2%R(iel1) + rnorm*qsp1
163 ELSEIF(qspc < 0.d0)
THEN 164 t2%R(iel2) = t2%R(iel2) - rnorm*qsp2
178 IF (liebor%I(k) == ksort)
THEN 183 xn = mesh%XNEBOR%R(k+nptfr)
184 yn = mesh%YNEBOR%R(k+nptfr)
185 temp = qsx%R(iel)*xn + qsy%R(iel)*yn
186 IF (temp > 0.d0)
THEN 187 t1%R(iel) = t1%R(iel) + temp
188 t2%R(iel) = t2%R(iel) + temp
210 t3%R(i)=elay(i)*v2dpar(i)*ava(i)* csf_sable/dt
211 IF (t3%R(i) < 0.d0) t3%R(i) = 0.d0
215 IF(t1%R(i) > t3%R(i))
THEN 217 IF(t2%R(i) > t3%R(i))
THEN 218 qs%R(i) = qs%R(i)*t3%R(i)/t2%R(i)
subroutine bedload_nerbed_vf
subroutine parcom(X, ICOM, MESH)