The TELEMAC-MASCARET system  trunk
interface_sisyphe_suspension.f
Go to the documentation of this file.
1 ! *************************************
3 ! *************************************
4 !
5 !
6 !***********************************************************************
7 ! SISYPHE V6P2 18/06/2012
8 !***********************************************************************
9 !
10 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
11 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12 !
13  INTERFACE !
14 ! *********************************** !
15 !**********************************************************************C
16 ! SISYPHE RELEASE 5.9 25/06/2008 F. HUVELIN
17 !**********************************************************************C
18  ! ======================================= !
19  ! INTERFACE FOR THE SISYPHE SUBROUTINE !
20  ! FOR THE SUSPENDED TRANSPORT !
21  ! ======================================= !
22 !
23 ! COPYRIGHT EDF-DTMPL-SOGREAH-LHF-GRADIENT
24 !**********************************************************************C
25 ! C
26 ! SSSS I SSSS Y Y PPPP H H EEEEE C
27 ! S I S Y Y P P H H E C
28 ! SSS I SSS Y PPPP HHHHH EEEE C
29 ! S I S Y P H H E C
30 ! SSSS I SSSS Y P H H EEEEE C
31 ! C
32 !----------------------------------------------------------------------C
33 !======================================================================!
34 
35  !================================================================!
36  SUBROUTINE suspension_bilan
37  &(mesh,cst,hn,zfcl_s,maskel,ielmt,itra,lt,nit,dt,csf,
38  & massou,mased0,msk,entet,masten,mastou,masini,t2,
39  & t3,masfin,masdept,masdep,agglot,
40  & volu2d,numliq,nfrliq,nptfr,flbortra)
41  USE bief
42  IMPLICIT NONE
43  TYPE(bief_mesh), INTENT(INOUT) :: MESH
44  TYPE(bief_obj), INTENT(IN) :: CST,HN,VOLU2D
45  TYPE(bief_obj), INTENT(IN) :: ZFCL_S,MASKEL,FLBORTRA
46  INTEGER, INTENT(IN) :: IELMT,ITRA,LT,NIT
47  INTEGER, INTENT(IN) :: NFRLIQ,NPTFR
48  INTEGER, INTENT(IN) :: NUMLIQ(nptfr)
49  DOUBLE PRECISION, INTENT(IN) :: DT,CSF
50  DOUBLE PRECISION, INTENT(IN) :: MASSOU,MASED0,AGGLOT
51  LOGICAL, INTENT(IN) :: MSK,ENTET
52  DOUBLE PRECISION, INTENT(INOUT) :: MASTEN,MASTOU,MASINI
53  TYPE(bief_obj), INTENT(INOUT) :: T2,T3
54  DOUBLE PRECISION, INTENT(INOUT) :: MASFIN,MASDEPT,MASDEP
55  END SUBROUTINE suspension_bilan
56  !================================================================!
57 ! ***************************
58  SUBROUTINE suspension_bilan_coh
59 ! ***************************
60 !
61  &(mesh,cst,hn,maskel,ielmt,itra,lt,nit,dt,
62  & xmvs,ms_vase, nomblay,npoin,
63  & massou,mased0,msk,entet,masten,mastou,masini,t1,t2,
64  & t3,masfin,masdept,masdep,agglot,
65  & volu2d,numliq,nfrliq,nptfr,flbortra,sedco)
66  USE bief
67  IMPLICIT NONE
68  TYPE(bief_mesh), INTENT(INOUT) :: MESH
69  TYPE(bief_obj), INTENT(IN) :: HN,CST
70  TYPE(bief_obj), INTENT(IN) :: MASKEL,FLBORTRA
71  TYPE(bief_obj), INTENT(IN) :: VOLU2D
72  INTEGER, INTENT(IN) :: IELMT,ITRA,LT,NIT,NFRLIQ,NPTFR
73  INTEGER, INTENT(IN) :: NUMLIQ(nptfr), NOMBLAY,NPOIN
74  DOUBLE PRECISION, INTENT(IN) :: DT,XMVS
75  DOUBLE PRECISION, INTENT(IN) :: MASSOU,MASED0,AGGLOT
76  LOGICAL, INTENT(IN) :: MSK,ENTET,SEDCO
77  DOUBLE PRECISION, INTENT(INOUT) :: MASTEN,MASTOU,MASINI
78  TYPE(bief_obj), INTENT(INOUT) :: T2,T3,T1
79  DOUBLE PRECISION, INTENT(INOUT) :: MASFIN,MASDEPT,MASDEP
80  DOUBLE PRECISION, INTENT(IN) :: MS_VASE(npoin, nomblay)
81  END SUBROUTINE suspension_bilan_coh
82 
83  !================================================================!
84  SUBROUTINE suspension_computation
85  ! ********************************* !
86  &(slvtra, hn,hn_tel,uconv, vconv, mu,tob,fdm, fd90, ksp,ksr,ks,
87  & elay, ava, afbor, bfbor, limdif, clt, maskel, masktr,
88  & maskpt, ifamas, npoin, ielm, nptfr, itra, lt, nit, resol,
89  & optban, kent,kddl,kdir,ksort,klog,kneu,
90  & optsup, opdtra, debug,csf_sable,
91  & teta_susp, dt, mased0, zero, xwc, karman, xmve, xmvs, vce,grav,
92  & hmin, vitcd, partheniades, entets,
93  & bilma,msk,charr,imp_inflow_c,mesh,zf,cs,
94  & cst,ctild,cbor,disp,it1,it2,it3,it4,tb,t1,t2,t3,
95  & t4, t8, t9, t10, t11, t12, t14, te1, te2, te3, s,
96  & am1_s, am2_s, mbor,masten, mastou, masini, ac,
97  & zfcl_s, fludpt, fludp, fluer, hprop, disp_c, cstaeq, csratio,
98  & masfin, masdept, masdep, massou,qs_c,icq, zref,
99  & corr_conv,u2d,v2d,sedco,dift,dm1,zconv,uconv_tel,vconv_tel,
100  & solsys,flbor_tel,flbor_sis,flbortra,code,
101  & volu2d,v2dpar,unsv2d,numliq,nfrliq,licbor,mixte,avail,nsicla,
102  & es,es_sable,es_vase,nomblay,conc,toce_vase,toce_sable,
103  & fluer_vase,toce_mixte,ms_sable,ms_vase,dirflu,qsclxs,qsclys,
104  & maxadv)
105  USE bief
106  IMPLICIT NONE
107  type(slvcfg), INTENT(INOUT) :: slvtra
108  type(bief_obj), INTENT(IN) :: zf,volu2d,v2dpar,unsv2d
109  type(bief_obj), INTENT(IN), TARGET :: hn,hn_tel
110  type(bief_obj), INTENT(INOUT) :: uconv,vconv
111  type(bief_obj), INTENT(IN) :: mu,ksp,ksr,ks
112  type(bief_obj), INTENT(IN) :: tob,licbor
113  type(bief_obj), INTENT(INOUT) :: elay
114  type(bief_obj), INTENT(IN) :: afbor,bfbor
115  type(bief_obj), INTENT(IN) :: maskel,maskpt,ifamas
116  type(bief_obj), INTENT(INOUT) :: masktr,limdif,clt
117  INTEGER, INTENT(IN) :: NPOIN,IELM,NPTFR,ITRA,LT
118  INTEGER, INTENT(IN) :: NIT,RESOL,OPTBAN,KENT,KDDL
119  INTEGER, INTENT(IN) :: KDIR,OPTSUP,OPDTRA,SOLSYS
120  INTEGER, INTENT(IN) :: KSORT,KLOG,KNEU
121  INTEGER, INTENT(IN) :: NFRLIQ,NSICLA,NOMBLAY
122  INTEGER, INTENT(IN) :: DEBUG,DIRFLU,MAXADV
123  INTEGER, INTENT(IN) :: NUMLIQ(nptfr)
124  DOUBLE PRECISION, INTENT(IN) :: TETA_SUSP, DT, MASED0
125  DOUBLE PRECISION, INTENT(IN) :: XWC,FDM,FD90
126  DOUBLE PRECISION, INTENT(IN) :: CSF_SABLE,AVA(npoin)
127  DOUBLE PRECISION, INTENT(IN) :: KARMAN, XMVE, XMVS,VCE, GRAV
128  DOUBLE PRECISION, INTENT(IN) :: VITCD,PARTHENIADES,HMIN
129  LOGICAL, INTENT(IN) :: ENTETS,BILMA,MSK,SEDCO
130  LOGICAL, INTENT(IN) :: CHARR, IMP_INFLOW_C,CORR_CONV
131  LOGICAL, INTENT(IN) :: DIFT,MIXTE
132  type(bief_mesh), INTENT(INOUT) :: mesh
133  type(bief_obj), INTENT(INOUT) :: cs,cst,ctild,cbor,flbor_sis
134  type(bief_obj), INTENT(INOUT) :: disp,it1,it2,it3,it4,tb
135  type(bief_obj), INTENT(INOUT) :: t2, t3, t4, t8
136  type(bief_obj), INTENT(INOUT), TARGET :: t1
137  type(bief_obj), INTENT(INOUT) :: t9, t10, t11, t12, t14, te1
138  type(bief_obj), INTENT(INOUT) :: te2, te3, s, am1_s, am2_s
139  type(bief_obj), INTENT(INOUT) :: mbor,zref
140  DOUBLE PRECISION, INTENT(INOUT) :: MASTEN, MASTOU, MASINI, AC
141  type(bief_obj), INTENT(INOUT) :: zfcl_s
142  type(bief_obj), INTENT(IN) :: uconv_tel,vconv_tel
143  type(bief_obj), INTENT(INOUT) :: fludpt,fludp,fluer,flbortra
144  type(bief_obj), INTENT(INOUT) :: hprop, disp_c, cstaeq,csratio
145  type(bief_obj), INTENT(INOUT) :: fluer_vase,toce_mixte
146  type(bief_obj), INTENT(INOUT) :: qsclxs,qsclys
147  DOUBLE PRECISION, INTENT(INOUT) :: MS_SABLE(*)
148  DOUBLE PRECISION, INTENT(INOUT) :: MS_VASE(*)
149  DOUBLE PRECISION, INTENT(INOUT) :: ES_SABLE(*)
150  DOUBLE PRECISION, INTENT(INOUT) :: ES_VASE(npoin,nomblay)
151  DOUBLE PRECISION, INTENT(INOUT) :: MASFIN,MASDEPT,MASDEP
152  DOUBLE PRECISION, INTENT(IN) :: ZERO
153  DOUBLE PRECISION, INTENT(INOUT) :: MASSOU
154  DOUBLE PRECISION, INTENT(INOUT) :: AVAIL(npoin,nomblay,nsicla)
155  DOUBLE PRECISION, INTENT(INOUT) :: ES(npoin,nomblay),TOCE_SABLE
156  DOUBLE PRECISION, INTENT(INOUT) :: CONC(npoin,nomblay)
157  DOUBLE PRECISION, INTENT(INOUT) :: TOCE_VASE(nomblay)
158  type(bief_obj), INTENT(IN) :: qs_c,u2d,v2d,dm1,zconv
159  type(bief_obj), INTENT(IN) :: flbor_tel
160  INTEGER, INTENT(IN) :: ICQ
161  CHARACTER(LEN=24), INTENT(IN) :: CODE
162  !----------------------------------------------------------------!
163  END SUBROUTINE suspension_computation
164  !================================================================!
165 
166  !================================================================!
167  SUBROUTINE suspension_conv
168  &(tob,xmve,ksr,npoin,zref,u2d,v2d,hn,
169  & uconv,vconv,karman,zero,xwc,alpha,resol,gloseg1,gloseg2,nseg,
170  & flulim,yaflulim,solsys_sis,solsys,uconv_tel,vconv_tel)
171  USE bief_def
172  IMPLICIT NONE
173  type(bief_obj), INTENT(IN) :: hn,u2d,v2d,zref,ksr
174  type(bief_obj), INTENT(INOUT) :: uconv,vconv,alpha,flulim
175  type(bief_obj), INTENT(IN) :: tob,uconv_tel,vconv_tel
176  INTEGER, INTENT(IN) :: NPOIN,RESOL,NSEG,SOLSYS
177  INTEGER, INTENT(IN) :: GLOSEG1(nseg),GLOSEG2(nseg)
178  INTEGER, INTENT(INOUT) :: SOLSYS_SIS
179  DOUBLE PRECISION, INTENT(IN) :: ZERO,XWC
180  DOUBLE PRECISION, INTENT(IN) :: KARMAN,XMVE
181  LOGICAL, INTENT(INOUT) :: YAFLULIM
182  !----------------------------------------------------------------!
183  END SUBROUTINE suspension_conv
184  !================================================================!
185 
186  !================================================================!
187  SUBROUTINE suspension_dispersion
188  !----------------------------------------------------------------!
189  & (tob, xmve,hn, optdif, npoin, xkx, xky,
190  & t1, t2, t3, kx, ky, kz, disp,u2d,v2d,visc_tel,code)
191  !----------------------------------------------------------------!
192  USE bief
193  IMPLICIT NONE
194  type(bief_obj), INTENT(IN) :: tob, hn,visc_tel
195  INTEGER, INTENT(IN) :: OPTDIF, NPOIN
196  DOUBLE PRECISION, INTENT(IN) :: XMVE, XKX, XKY
197  type(bief_obj), INTENT(INOUT) :: t1, t2, t3
198  type(bief_obj), INTENT(INOUT) :: kx, ky, kz, disp
199  type(bief_obj), INTENT(IN) :: u2d,v2d
200  CHARACTER(LEN=24), INTENT(IN) :: CODE
201  !----------------------------------------------------------------!
202  END SUBROUTINE suspension_dispersion
203  !================================================================!
204 
205  !==============================!
206  SUBROUTINE suspension_depot !
207  ! **************************** !
208  &(tob,hn, npoin, hmin,xwc,vitcd,
209  & zero,karman,fdm,fd90,xmve, t1,t2,zref,fludpt,debug,sedco)
210  USE bief
211  IMPLICIT NONE
212  type(bief_obj), INTENT(IN) :: hn, tob
213  INTEGER, INTENT(IN) :: NPOIN,DEBUG
214  LOGICAL, INTENT(IN) :: SEDCO
215  DOUBLE PRECISION, INTENT(IN) :: HMIN
216  DOUBLE PRECISION, INTENT(IN) :: FDM,FD90,XWC
217  DOUBLE PRECISION, INTENT(IN) :: VITCD
218  DOUBLE PRECISION, INTENT(IN) :: ZERO, KARMAN,XMVE
219  type(bief_obj), INTENT(INOUT) :: t1,t2
220  type(bief_obj), INTENT(IN) :: zref
221  type(bief_obj), INTENT(INOUT) :: fludpt
222  !----------------------------------------------------------------!
223  END SUBROUTINE suspension_depot
224  !================================================================!
225 
226  !================================!
227  SUBROUTINE suspension_erosion !
228  ! ****************************** !
230  &(taup,hn,fdm,fd90,ava,npoin,charr,xmve,xmvs,vce,grav,xwc,
231  & zero,zref,ac,fluer,cstaeq,qsc,icq,u2d,v2d,csratio,debug)
232 !
233  USE bief
234  IMPLICIT NONE
235  type(bief_obj), INTENT(IN) :: taup,hn,u2d,v2d,csratio
236  INTEGER, INTENT(IN) :: NPOIN,DEBUG
237  LOGICAL, INTENT(IN) :: CHARR
238  DOUBLE PRECISION, INTENT(IN) :: XMVE,XMVS,GRAV,VCE,ZERO
239  DOUBLE PRECISION, INTENT(IN) :: XWC,AVA(npoin),FDM,FD90
240  type(bief_obj), INTENT(IN) :: zref
241  DOUBLE PRECISION, INTENT(INOUT) :: AC
242  type(bief_obj), INTENT(INOUT) :: fluer,cstaeq
243  TYPE(bief_obj), INTENT(IN) :: QSC
244  INTEGER, INTENT (IN) :: ICQ
245  !----------------------------------------------------------------!
246  END SUBROUTINE suspension_erosion
247  !================================================================!
248 
249  !================================!
250  SUBROUTINE suspension_erosion_coh
251  ! ****************************** !
252  &(taup,npoin,xmvs,partheniades,
253  & fluer, toce_vase, nomblay, dt, ms_vase)
254 !!
256  USE declarations_sisyphe, ONLY : nlaymax
257  IMPLICIT NONE
258  INTEGER, INTENT(IN) :: NOMBLAY
259  INTEGER, INTENT(IN) :: NPOIN
260  DOUBLE PRECISION, INTENT(IN) :: XMVS
261  DOUBLE PRECISION, INTENT(IN) :: PARTHENIADES
262  DOUBLE PRECISION, INTENT(INOUT) :: MS_VASE(npoin,nomblay)
263  DOUBLE PRECISION, INTENT(IN) :: TOCE_VASE(nomblay), DT
264  type(bief_obj), INTENT(INOUT) :: fluer
265  type(bief_obj), INTENT(IN) :: taup
266 !
267 !
268  !----------------------------------------------------------------!
269  END SUBROUTINE suspension_erosion_coh
270  !================================================================!
271 
272  !================================!
273  SUBROUTINE suspension_flux_mixte
274  ! ****************************** !
275  & (taup,fdm,npoin,
276  & charr,xmve,xmvs,vce,grav,xwc,
277  & zero,partheniades,fluer_sable,fluer_vase,zref,
278  & ac,cstaeq,qsc,icq,debug,avail,nsicla,es,
279  & toce_vase,toce_sable,
280  & nomblay,dt,toce_mixte,ms_sable,ms_vase)
281 
283  IMPLICIT NONE
284  type(bief_obj), INTENT(IN) :: taup
285  INTEGER, INTENT(IN) :: NPOIN,DEBUG,NSICLA
286  INTEGER, INTENT(IN) :: NOMBLAY
287  LOGICAL, INTENT(IN) :: CHARR
288  DOUBLE PRECISION, INTENT(IN) :: XMVE, XMVS, VCE,GRAV
289  DOUBLE PRECISION, INTENT(IN) :: XWC,FDM
290  DOUBLE PRECISION, INTENT(IN) :: ZERO, PARTHENIADES
291  type(bief_obj), INTENT(IN) :: zref
292  DOUBLE PRECISION, INTENT(INOUT) :: AC,AVAIL(npoin,nomblay,nsicla)
293  DOUBLE PRECISION, INTENT(INOUT) :: ES(npoin,nomblay)
294  type(bief_obj), INTENT(INOUT) :: cstaeq
295  type(bief_obj), INTENT(INOUT) :: fluer_sable,fluer_vase
296  DOUBLE PRECISION, INTENT(INOUT) :: MS_SABLE(npoin,nomblay)
297  DOUBLE PRECISION, INTENT(INOUT) :: MS_VASE(npoin,nomblay)
298  DOUBLE PRECISION, INTENT(INOUT) ::TOCE_MIXTE(npoin,nomblay)
299  DOUBLE PRECISION, INTENT(IN) :: DT
300  TYPE(bief_obj), INTENT(IN) :: QSC
301  INTEGER, INTENT (IN) :: ICQ
302  DOUBLE PRECISION, INTENT(IN) :: TOCE_VASE(nomblay)
303  DOUBLE PRECISION, INTENT(IN) :: TOCE_SABLE
304  !----------------------------------------------------------------!
305  END SUBROUTINE
306  !================================================================!
307 
308  !================================================================!
309  SUBROUTINE suspension_fredsoe
310  !----------------------------------------------------------------!
311  & (fdm, taup, npoin, grav, xmve, xmvs, ac, cstaeq)
312  USE bief
313  IMPLICIT NONE
314  TYPE(bief_obj), INTENT(IN) :: TAUP
315  INTEGER, INTENT(IN) :: NPOIN
316  DOUBLE PRECISION, INTENT(IN) :: GRAV, XMVE, XMVS
317  DOUBLE PRECISION, INTENT(IN) :: FDM
318  DOUBLE PRECISION, INTENT(IN) :: AC
319  TYPE(bief_obj), INTENT(INOUT) :: CSTAEQ
320  !----------------------------------------------------------------!
321  END SUBROUTINE suspension_fredsoe
322  !================================================================!
323 
324 
325  !================================================================!
326  SUBROUTINE suspension_listing
327  !----------------------------------------------------------------!
328  & (mesh,cst,zfcl_s,uconv,vconv,maskel,ielmt,dt,msk,t1)
329  !----------------------------------------------------------------!
330  USE bief
331  IMPLICIT NONE
332  TYPE(bief_mesh), INTENT(INOUT) :: MESH
333  TYPE(bief_obj), INTENT(IN) :: CST, ZFCL_S
334  TYPE(bief_obj), INTENT(IN) :: UCONV, VCONV, MASKEL
335  INTEGER, INTENT(IN) :: IELMT
336  DOUBLE PRECISION, INTENT(IN) :: DT
337  LOGICAL, INTENT(IN) :: MSK
338  TYPE(bief_obj), INTENT(INOUT) :: T1
339  !----------------------------------------------------------------!
340  END SUBROUTINE suspension_listing
341  !================================================================!
342 
343  SUBROUTINE suspension_main
344  ! ************************** !
345  &(slvtra,hn,hn_tel,mu,tob,fdm,fd90,ksp,ksr,ks,volu2d,v2dpar,unsv2d,
346  & afbor,bfbor,zf,licbor,ifamas,maskel,maskpt,u2d,v2d,nsicla,npoin,
347  & nptfr,ielmt,optdif,resol,lt,nit,optban,optadv,opdtra,
348  & kent,ksort,klog,kneu,kdir,kddl,debug,
349  & dts,csf_sable,zero,grav,xkx,xky,karman,
350  & xmve,xmvs,vce,hmin,xwc,vitcd,partheniades,bilma,msk,
351  & charr,imp_inflow_c,mesh,zf_s,cs,cst,ctild,cbor,disp,
352  & it1,it2,it3,it4,tb,t1,t2,t3,t4,t8,t9,t10,t11,t12,t14,
353  & te1,clt,te2,te3,s,am1_s,am2_s,mbor,elay,limdif,
354  & masktr, teta_susp, ac, mased0, masini, masten,
355  & mastou, es,es_sable, es_vase,avail, entets, pass, zfcl_s,
356  & hprop, fludpt, fludp, fluer, disp_c, kx, ky,
357  & kz, uconv, vconv,qsxs, qsys, qsclxs, qsclys, qscl_s,
358  & qs_s,qs_c,cstaeq,csratio,icq,mastcp,masfin,masdept,masdep,massou,
359  & corr_conv,zref,sedco,visc_tel,code,
360  & dift,dm1,uconv_tel,vconv_tel,zconv,solsys,flbor_tel,flbor_sis,
361  & flbortra,numliq,nfrliq,mixte,nomblay,conc,
362  & toce_vase,toce_sable,fluer_vase,toce_mixte,ms_sable,ms_vase,
363  & dirflu,maxadv)
364 
365  USE bief
366  IMPLICIT NONE
367  type(slvcfg), INTENT(INOUT) :: slvtra
368  type(bief_obj), INTENT(IN) :: hn,hn_tel,mu,tob
369  type(bief_obj), INTENT(IN) :: ksp,ksr,ks
370  type(bief_obj), INTENT(IN) :: volu2d,afbor,bfbor,zf
371  type(bief_obj), INTENT(IN) :: v2dpar,unsv2d
372  type(bief_obj), INTENT(IN) :: licbor, ifamas, maskel, maskpt
373  type(bief_obj), INTENT(IN) :: u2d, v2d,dm1,zconv,flbor_tel
374  INTEGER, INTENT(IN) :: NSICLA, NPOIN, NPTFR, IELMT
375  INTEGER, INTENT(IN) :: OPTDIF, RESOL,LT, NIT
376  INTEGER, INTENT(IN) :: OPTBAN,OPTADV,OPDTRA,NFRLIQ
377  INTEGER, INTENT(IN) :: KENT, KSORT, KLOG, KNEU
378  INTEGER, INTENT(IN) :: KDIR,KDDL
379  INTEGER, INTENT(IN) :: DEBUG,SOLSYS,NOMBLAY,MAXADV
380  INTEGER, INTENT(IN) :: NUMLIQ(nptfr)
381  DOUBLE PRECISION, INTENT(IN) :: DTS,CSF_SABLE
382  DOUBLE PRECISION, INTENT(IN) :: ZERO,GRAV
383  DOUBLE PRECISION, INTENT(IN) :: FDM(nsicla),FD90(nsicla)
384  DOUBLE PRECISION, INTENT(IN) :: XKX,XKY,KARMAN,VCE
385  DOUBLE PRECISION, INTENT(IN) :: XMVE, XMVS, HMIN, XWC(nsicla)
386  DOUBLE PRECISION, INTENT(IN) :: VITCD
387  DOUBLE PRECISION, INTENT(IN) :: PARTHENIADES
388  LOGICAL, INTENT(IN) :: BILMA, MSK, CHARR
389  LOGICAL, INTENT(IN) :: IMP_INFLOW_C
390  LOGICAL, INTENT(IN) :: SEDCO(nsicla),MIXTE
391  TYPE(bief_mesh), INTENT(INOUT) :: MESH
392  type(bief_obj), INTENT(INOUT) :: zf_s,cs,cst,ctild,cbor
393  type(bief_obj), INTENT(INOUT) :: disp,it1,it2,it3,it4,tb
394  type(bief_obj), INTENT(INOUT) :: t1,t2,t3,t4,t8
395  type(bief_obj), INTENT(INOUT) :: t9,t10,t11,t12,t14,te1,clt
396  type(bief_obj), INTENT(INOUT) :: te2,te3,s,am1_s,am2_s,mbor
397  type(bief_obj), INTENT(INOUT) :: elay, limdif,flbortra
398  type(bief_obj), INTENT(INOUT) :: masktr
399  DOUBLE PRECISION, INTENT(INOUT) :: TETA_SUSP, AC(nsicla)
400  DOUBLE PRECISION, INTENT(INOUT) :: MASED0(nsicla), MASINI(nsicla)
401  DOUBLE PRECISION, INTENT(INOUT) :: MASTEN(nsicla), MASTOU(nsicla)
402  DOUBLE PRECISION, INTENT(INOUT) :: ES(npoin,nomblay)
403  DOUBLE PRECISION, INTENT(INOUT) :: ES_SABLE(npoin,nomblay)
404  DOUBLE PRECISION, INTENT(INOUT) :: ES_VASE(npoin,nomblay)
405  DOUBLE PRECISION, INTENT(INOUT) :: CONC(npoin,nomblay)
406  DOUBLE PRECISION, INTENT(INOUT) :: TOCE_VASE(nomblay)
407  DOUBLE PRECISION, INTENT(INOUT) :: TOCE_SABLE
408  DOUBLE PRECISION, INTENT(INOUT) :: AVAIL(npoin,nomblay,nsicla)
409  LOGICAL, INTENT(INOUT) :: ENTETS, PASS
410  type(bief_obj), INTENT(INOUT) :: zfcl_s,hprop,zref
411  type(bief_obj), INTENT(INOUT) :: fludpt,fludp,fluer
412  type(bief_obj), INTENT(INOUT) :: disp_c,kx,ky,kz,uconv
413  type(bief_obj), INTENT(INOUT) :: vconv,flbor_sis
414  type(bief_obj), INTENT(INOUT) :: qsxs,qsys,qsclxs,qsclys
415  type(bief_obj), INTENT(INOUT) :: qscl_s,qs_s,cstaeq,csratio
416  type(bief_obj), INTENT(INOUT) :: fluer_vase,toce_mixte
417  type(bief_obj), INTENT(INOUT) :: ms_sable,ms_vase
418  type(bief_obj), INTENT(IN) :: qs_c,visc_tel
419  type(bief_obj), INTENT(IN) :: uconv_tel,vconv_tel
420  DOUBLE PRECISION, INTENT(OUT) :: MASTCP(nsicla),MASFIN(nsicla)
421  DOUBLE PRECISION, INTENT(OUT) :: MASDEPT(nsicla),MASDEP(nsicla)
422  DOUBLE PRECISION, INTENT(OUT) :: MASSOU
423  INTEGER, INTENT(IN) :: ICQ,DIRFLU
424  LOGICAL, INTENT (IN) :: CORR_CONV,DIFT
425  CHARACTER(LEN=24), INTENT(IN) :: CODE
426 !
427  !----------------------------------------------------------------!
428  END SUBROUTINE suspension_main
429  !================================================================!
430 
431 
432  !================================================================!
433  SUBROUTINE suspension_rouse
434  !================================================================!
436  & (ustar,hn,npoin,karman,zero,xwc,zref,t2)
437  USE bief
438  IMPLICIT NONE
439  TYPE(bief_obj), INTENT(IN) :: USTAR,HN,ZREF
440  INTEGER, INTENT(IN) :: NPOIN
441  DOUBLE PRECISION, INTENT(IN) :: KARMAN,XWC,ZERO
442  TYPE(bief_obj), INTENT(INOUT) :: T2
443  !----------------------------------------------------------------!
444  END SUBROUTINE suspension_rouse
445  !================================================================!
446 
447  !================================================================!
448  SUBROUTINE suspension_bijker
449  !================================================================!
451  & (taup, npoin, charr, qsc, zref, zero, cstaeq, xmve)
452 
453 
454  USE bief
455  IMPLICIT NONE
456  TYPE(bief_obj), INTENT(IN) :: TAUP, QSC
457  type(bief_obj), INTENT(IN) :: zref
458  INTEGER, INTENT(IN) :: NPOIN
459  LOGICAL, INTENT(IN) :: CHARR
460  DOUBLE PRECISION, INTENT(IN) :: ZERO
461  DOUBLE PRECISION, INTENT(IN) :: XMVE
462  TYPE(bief_obj), INTENT(INOUT) :: CSTAEQ
463  !----------------------------------------------------------------!
464  END SUBROUTINE suspension_bijker
465  !================================================================!
466  ! ************************** !
467  SUBROUTINE suspension_evol
468  ! ************************** !
470  &(zfcl_s,fludp,fluer,dt, npoin,xmvs, qflux,ms_vase,es_vase,
471  & conc,nomblay)
472 !
473  USE bief
474  IMPLICIT NONE
475  type(bief_obj), INTENT(INOUT) :: zfcl_s,fludp,fluer,qflux
476  DOUBLE PRECISION, INTENT(IN) :: DT, XMVS
477  INTEGER, INTENT(IN) :: NPOIN,NOMBLAY
478  DOUBLE PRECISION, INTENT(INOUT) :: CONC(npoin,nomblay)
479  DOUBLE PRECISION, INTENT(INOUT) :: MS_VASE(npoin,nomblay)
480  DOUBLE PRECISION, INTENT(INOUT) :: ES_VASE(npoin,nomblay)
481 
482  END SUBROUTINE suspension_evol
483  ! ***************************** !
484  SUBROUTINE suspension_vanrijn ! (_IMP_)
485  ! ***************************** !
487  & (fdm, taup, npoin, grav,
488  & xmve, xmvs,vce, zero, ac, cstaeq,zref)
489 
490  USE bief
491  IMPLICIT NONE
492  TYPE(bief_obj), INTENT(IN) :: TAUP,ZREF
493  INTEGER, INTENT(IN) :: NPOIN
494  DOUBLE PRECISION, INTENT(IN) :: GRAV, XMVE, XMVS,VCE
495  DOUBLE PRECISION, INTENT(IN) :: ZERO,AC,FDM
496  TYPE(bief_obj), INTENT(INOUT) :: CSTAEQ
497 
498  END SUBROUTINE suspension_vanrijn
499 
500  ! ***************************** !
501  SUBROUTINE suspension_sandflow ! (_IMP_)
502  ! ***************************** !
503 !
504  & (fdm, fd90, npoin, grav,
505  & xmve, xmvs, zero, cstaeq,hn,u2d,v2d,csratio)
506 !
507  USE bief
509  IMPLICIT NONE
510  TYPE(bief_obj), INTENT(IN) :: HN,U2D,V2D,CSRATIO
511  INTEGER, INTENT(IN) :: NPOIN
512  DOUBLE PRECISION, INTENT(IN) :: GRAV, XMVE, XMVS
513  DOUBLE PRECISION, INTENT(IN) :: ZERO, FDM, FD90
514  TYPE(bief_obj), INTENT(INOUT) :: CSTAEQ
515 !
516  END SUBROUTINE suspension_sandflow
517 !
518 !======================================================================!
519 !======================================================================!
520 
521 !================================================================!
522  SUBROUTINE suspension_miles
523 !================================================================!
524 !
525  & (hn,npoin,hmin,fdm,fd90,xwc,t2)
526  USE bief
527  IMPLICIT NONE
528  TYPE(bief_obj), INTENT(IN) :: HN
529  INTEGER, INTENT(IN) :: NPOIN
530  DOUBLE PRECISION, INTENT(IN) :: FDM,FD90,XWC,HMIN
531  TYPE(bief_obj), INTENT(INOUT) :: T2
532  !----------------------------------------------------------------!
533  END SUBROUTINE suspension_miles
534  !================================================================!
535 
536  END INTERFACE
538 !
539 !#######################################################################
540 !
subroutine suspension_bilan_coh(MESH, CST, HN, MASKEL, IELMT, ITRA, LT, NIT, DT, XMVS, MS_VASE, NOMBLAY, NPOIN, MASSOU, MASED0, MSK, ENTET, MASTEN, MASTOU, MASINI, T1, T2, T3, MASFIN, MASDEPT, MASDEP, AGGLOT, VOLU2D, NUMLIQ, NFRLIQ, NPTFR, FLBORTRA, SEDCO)
subroutine suspension_sandflow(FDM, FD90, NPOIN, GRAV, XMVE, XMVS, ZERO, CSTAEQ, HN, U2D, V2D, CSRATIO)
subroutine suspension_vanrijn(FDM, TAUP, NPOIN, GRAV, XMVE, XMVS, VCE, ZERO, AC, CSTAEQ, ZREF)
subroutine suspension_miles(HN, NPOIN, HMIN, FDM, FD90, XWC, CSRATIO)
subroutine suspension_conv(TOB, XMVE, KSR, NPOIN, ZREF, U2D, V2D, HN, UCONV, VCONV, KARMAN, ZERO, XWC, ALPHA, RESOL, GLOSEG1, GLOSEG2, NSEG, FLULIM, YAFLULIM, SOLSYS_SIS, SOLSYS, UCONV_TEL, VCONV_TEL)
subroutine suspension_computation(SLVTRA, HN, HN_TEL, UCONV, VCONV, MU, TOB, FDM, FD90, KSP, KSR, KS, ELAY, AVA, AFBOR, BFBOR, LIMDIF, CLT, MASKEL, MASKTR, MASKPT, IFAMAS, NPOIN, IELM, NPTFR, ITRA, LT, NIT, RESOL, OPTBAN, KENT, KDDL, KDIR, KSORT, KLOG, KNEU, OPTADV, OPDTRA, DEBUG, CSF_SABLE, TETA_SUSP, DT, MASED0, ZERO, XWC, KARMAN, XMVE, XMVS, VCE, GRAV, HMIN, VITCD, PARTHENIADES, ENTETS, BILMA, MSK, CHARR, IMP_INFLOW_C, MESH, ZF, CS, CST, CTILD, CBOR, DISP, IT1, IT2, IT3, IT4, TB, T1, T2, T3, T4, T8, T9, T10, T11, T12, T14, TE1, TE2, TE3, S, AM1_S, AM2_S, MBOR, MASTEN, MASTOU, MASINI, AC, ZFCL_S, FLUDPT, FLUDP, FLUER, HPROP, DISP_C, CSTAEQ, CSRATIO, MASFIN, MASDEPT, MASDEP, MASSOU, QS_C, ICQ, ZREF, CORR_CONV, U2D, V2D, SEDCO, DIFT, DM1, ZCONV, UCONV_TEL, VCONV_TEL, SOLSYS, FLBOR_TEL, FLBOR_SIS, FLBORTRA, CODE, VOLU2D, V2DPAR, UNSV2D, NUMLIQ, NFRLIQ, LICBOR, MIXTE, AVAIL, NSICLA, ES, ES_SABLE, ES_VASE, NOMBLAY, CONC, TOCE_VASE, TOCE_SABLE, FLUER_VASE, TOCE_MIXTE, MS_SABLE, MS_VASE, DIRFLU, QSCLXS, QSCLYS, MAXADV)
subroutine suspension_listing
subroutine suspension_bilan(MESH, CST, HN, ZFCL_S, MASKEL, IELMT, ITRA, LT, NIT, DT, CSF, MASSOU, MASED0, MSK, ENTET, MASTEN, MASTOU, MASINI, T2, T3, MASFIN, MASDEPT, MASDEP, AGGLOT, VOLU2D, NUMLIQ, NFRLIQ, NPTFR, FLBORTRA)
subroutine suspension_rouse(USTAR, HN, NPOIN, KARMAN, ZERO, XWC, ZREF, T2)
subroutine suspension_bijker(TAUP, NPOIN, CHARR, QSC, ZREF, ZERO, CSTAEQ, XMVE)
subroutine suspension_erosion(TAUP, HN, FDM, FD90, AVA, NPOIN, CHARR, XMVE, XMVS, VCE, GRAV, XWC, ZERO, ZREF, AC, FLUER, CSTAEQ, QSC, ICQ, U2D, V2D, CSRATIO, DEBUG)
subroutine suspension_depot(TOB, HN, NPOIN, HMIN, XWC, VITCD, ZERO, KARMAN, FDM, FD90, XMVE, T1, T2, ZREF, FLUDPT, DEBUG, SEDCO)
subroutine suspension_main(SLVTRA, HN, HN_TEL, MU, TOB, FDM, FD90, KSP, KSR, KS, VOLU2D, V2DPAR, UNSV2D, AFBOR, BFBOR, ZF, LICBOR, IFAMAS, MASKEL, MASKPT, U2D, V2D, NSICLA, NPOIN, NPTFR, IELMT, OPTDIF, RESOL, LT, NIT, OPTBAN, OPTADV, OPDTRA, KENT, KSORT, KLOG, KNEU, KDIR, KDDL, DEBUG, DTS, CSF_SABLE, ZERO, GRAV, XKX, XKY, KARMAN, XMVE, XMVS, VCE, HMIN, XWC, VITCD, PARTHENIADES, BILMA, MSK, CHARR, IMP_INFLOW_C, MESH, ZF_S, CS, CST, CTILD, CBOR, DISP, IT1, IT2, IT3, IT4, TB, T1, T2, T3, T4, T8, T9, T10, T11, T12, T14, TE1, CLT, TE2, TE3, S, AM1_S, AM2_S, MBOR, ELAY, LIMDIF, MASKTR, TETA_SUSP, AC, MASED0, MASINI, MASTEN, MASTOU, ES, ES_SABLE, ES_VASE, AVAIL, ENTETS, PASS, ZFCL_S, HPROP, FLUDPT, FLUDP, FLUER, DISP_C, KX, KY, KZ, UCONV, VCONV, QSXS, QSYS, QSCLXS, QSCLYS, QSCL_S, QS_S, QS_C, CSTAEQ, CSRATIO, ICQ, MASTCP, MASFIN, MASDEPT, MASDEP, MASSOU, CORR_CONV, ZREF, SEDCO, VISC_TEL, CODE, DIFT, DM1, UCONV_TEL, VCONV_TEL, ZCONV, SOLSYS, FLBOR_TEL, FLBOR_SIS, FLBORTRA, NUMLIQ, NFRLIQ, MIXTE, NOMBLAY, CONC, TOCE_VASE, TOCE_SABLE, FLUER_VASE, TOCE_MIXTE, MS_SABLE, MS_VASE, DIRFLU, MAXADV)
subroutine suspension_erosion_coh(TAUP, NPOIN, XMVS, PARTHENIADES, FLUER, TOCE_VASE, NOMBLAY, DT, MS_VASE)
type(bief_obj), target prive
subroutine suspension_evol(ZFCL_S, FLUDP, FLUER, DT, NPOIN, XMVS, QFLUX, MS_VASE, ES_VASE, CONC, NOMBLAY)
integer, parameter nlaymax
subroutine suspension_dispersion
type(bief_obj), target uw
subroutine suspension_flux_mixte(TAUP, FDM, NPOIN, CHARR, XMVE, XMVS, VCE, GRAV, XWC, ZERO, PARTHENIADES, FLUER_SABLE, FLUER_VASE, ZREF, AC, CSTAEQ, QSC, ICQ, DEBUG, AVAIL, NSICLA, ES, TOCE_VASE, TOCE_SABLE, NOMBLAY, DT, TOCE_MIXTE, MS_SABLE, MS_VASE)
subroutine suspension_fredsoe(DM, TAUP, NPOIN, GRAV, XMVE, XMVS, AC, CSTAEQ)
Definition: bief.f:3