2 SUBROUTINE calcs3d_micropol
4 & (npoin2,tn,texp,timp,zprop,cf,un,vn,
5 & t2_1,t2_2,t2_3,t3_1,t3_2,debug)
54 & ro0,kdesorp,ccsedim,
55 & ind_ss,ind_sf,ind_c,ind_css,ind_csf
62 INTEGER ,
INTENT(IN ) :: npoin2
63 INTEGER ,
INTENT(IN ) :: debug
64 TYPE(bief_obj) ,
INTENT(IN ) :: tn,zprop,cf,un,vn
65 TYPE(bief_obj) ,
INTENT(INOUT) :: texp,timp
66 TYPE(bief_obj) ,
INTENT(INOUT) :: t2_1,t2_2,t2_3,t3_1,t3_2
72 DOUBLE PRECISION,
PARAMETER :: eps=1.d-3
73 DOUBLE PRECISION :: cc
77 IF(debug.GT.0)
WRITE(
lu,*)
'IN MICROPOL3D, STEP 0' 83 IF(debug.GT.0)
WRITE(
lu,*)
'IN MICROPOL3D, STEP 1' 91 CALL depos_fx(t2_2,t2_1,tn%ADR(ind_ss)%P,
taus,
vitchu,npoin2)
95 CALL erosion_fx(t2_3,t2_1,tn%ADR(ind_sf)%P,
taur,
ero,1.d-10,
98 IF(debug.GT.0)
WRITE(
lu,*)
'IN MICROPOL3D, STEP 4' 113 CALL os (
'X=Y-Z ', x=t2_1,y=t2_3,z=t2_2 )
114 CALL ovd(
'X=X+CY/Z',texp%ADR(ind_ss)%P%R,t2_1%R,
115 & zprop%R,1.d0,npoin2,2,0.d0,eps )
117 IF(debug.GT.0)
WRITE(
lu,*)
'IN MICROPOL3D, STEP 5' 124 texp%ADR(ind_sf)%P%R(i) = texp%ADR(ind_sf)%P%R(i) +
125 & t2_2%R(i) - t2_3%R(i)
128 IF(debug.GT.0)
WRITE(
lu,*)
'IN MICROPOL3D, STEP 6' 133 CALL os(
'X=X+C ' ,x=timp%ADR(ind_c)%P,c=ccsedim )
137 CALL os(
'X=CY ' ,x=t3_2,y=tn%ADR(ind_css)%P ,c=kdesorp )
138 CALL os(
'X=X+Y ' ,x=texp%ADR(ind_c)%P,y=t3_2 )
150 CALL os(
'X=X+C ' ,x=timp%ADR(ind_css)%P,c=ccsedim )
153 CALL os(
'X=X-Y ' ,x=texp%ADR(ind_css)%P,y=t3_2 )
155 t3_1%R(i) = t2_3%R(i)*tn%ADR(ind_csf)%P%R(i) -
156 & t2_2%R(i)*tn%ADR(ind_css)%P%R(i)
158 CALL ovd(
'X=Y/Z ' ,t3_1%R,t3_1%R,
159 & zprop%R,0.d0,npoin2,2,0.d0,eps )
160 CALL os(
'X=X+Y ' ,x=texp%ADR(ind_css)%P,y=t3_1 )
162 IF(debug.GT.0)
WRITE(
lu,*)
'IN MICROPOL3D, STEP 8' 167 texp%ADR(ind_csf)%P%R(i) = texp%ADR(ind_csf)%P%R(i) +
168 & t2_2%R(i)*tn%ADR(ind_css)%P%R(i) -
169 & t2_3%R(i)*tn%ADR(ind_csf)%P%R(i)
171 CALL os(
'X=X+CY ' ,x=texp%ADR(ind_csf)%P,y=tn%ADR(ind_csf)%P,
174 IF(debug.GT.0)
WRITE(
lu,*)
'IN MICROPOL3D, STEP 9'
subroutine taub_waqtel(CF, DENSITY, TAUB, NPOIN, UN, VN)
subroutine ovd(OP, X, Y, Z, C, NPOIN, IOPT, D, EPS)
double precision cdistrib
subroutine os(OP, X, Y, Z, C, IOPT, INFINI, ZERO)