The TELEMAC-MASCARET system  trunk
init_compo_coh.f
Go to the documentation of this file.
1 ! *************************
2  SUBROUTINE init_compo_coh
3 ! *************************
4 !
5  &(es,conc_vase,conc,npoin,nomblay,nsicla,avail,ava0)
6 !
7 !***********************************************************************
8 ! SISYPHE V6P2 21/07/2011
9 !***********************************************************************
10 !
11 !brief INITIAL FRACTION DISTRIBUTION, STRATIFICATION,
12 !+ VARIATION IN SPACE.
13 !
14 !!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15 !| AVA0 |-->| VOLUME PERCENT
16 !| AVAIL |<->| VOLUME PERCENT OF EACH CLASS
17 !| CONC |<->| CONC OF EACH BED LAYER (KG/M3)
18 !| CONC_VASE |<->| MUD CONCENTRATION FOR EACH LAYER
19 !| ES |<->| LAYER THICKNESSES AS DOUBLE PRECISION
20 !| NOMBLAY |-->| NUMBER OF LAYERS FOR CONSOLIDATION
21 !| NPOIN |-->| NUMBER OF POINTS
22 !| NSICLA |-->| NUMBER OF SIZE CLASSES FOR BED MATERIALS
23 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24 !
25  USE bief
26  USE interface_sisyphe, ex_init_compo_coh=> init_compo_coh
27  USE declarations_sisyphe, ONLY : nlaymax
28 !
30  IMPLICIT NONE
31 !
32 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
33 !
34  INTEGER, INTENT(IN) :: NPOIN,NOMBLAY,NSICLA
35  DOUBLE PRECISION, INTENT(INOUT) :: ES(npoin,nomblay)
36  DOUBLE PRECISION, INTENT(IN) :: CONC_VASE(nomblay)
37  DOUBLE PRECISION, INTENT(INOUT) :: CONC(npoin,nomblay)
38  DOUBLE PRECISION, INTENT(INOUT) :: AVAIL(npoin,nomblay,nsicla)
39  DOUBLE PRECISION, INTENT(IN) :: AVA0(nsicla)
40 !
41 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
42 !
43  DOUBLE PRECISION EPAI_VASE(nlaymax),EPAI_SABLE(nlaymax)
44 
45  INTEGER I,J
46 !
47 !-----------------------------------------------------------------------
48 !
49  ! INITIALISING LOCAL VARIABLES
50  epai_vase(:) = 0.d0
51  epai_sable(:) = 0.d0
52  ! USER FUNTION
54  &(es,conc_vase,conc,npoin,nomblay,nsicla,avail,ava0,
55  & epai_vase, epai_sable)
56 !-----------------------------------------------------------------------
57 !
58 ! INITIALISING OF LAYER THICKNESS AND CONC
59 !
60 
61 ! BY DEFAULT : UNIFORM BED COMPOSITION (KEY WORDS)
62 ! V6P3: IT WILL BE POSSIBLE TO HAVE A SPATIAL DISTRIBUTION OF THE BED CONC
63 ! V6P2: SO FAR THE MUD CONC IS CONSTANT PER LAYER
64 ! si mixte: calculer aussi les AVAI!
65 !
66  DO i=1,npoin
67  DO j= 1,nomblay
68 !
69  conc(i,j) = conc_vase(j)
70  es(i,j) = epai_vase(j)
71 !
72  IF(nsicla.GT.1) THEN
73  es(i,j)= es(i,j) + epai_sable(j)
74  IF(es(i,j).GE.1.d-6) THEN
75 ! Class 1 is for sand, class 2 is mud
76  avail(i,j,1)= epai_sable(j)/es(i,j)
77  avail(i,j,2)= epai_vase(j)/es(i,j)
78  ELSE
79  avail(i,j,1)= ava0(1)
80  avail(i,j,2)= ava0(2)
81  ENDIF
82  ENDIF
83 !
84  ENDDO
85  ENDDO
86 !
87 !-----------------------------------------------------------------------
88 !
89  RETURN
90  END
subroutine init_compo_coh(ES, CONC_VASE, CONC, NPOIN, NOMBLAY, NSICLA, AVAIL, AVA0)
Definition: init_compo_coh.f:7
subroutine user_init_compo_coh(ES, CONC_VASE, CONC, NPOIN, NOMBLAY, NSICLA, AVAIL, AVA0, EPAI_VASE, EPAI_SABLE)
integer, parameter nlaymax
Definition: bief.f:3