The TELEMAC-MASCARET system  trunk
user_condim_sisyphe.f
Go to the documentation of this file.
1 ! ******************************
2  SUBROUTINE user_condim_sisyphe
3 ! ******************************
4 !
5  & (u , v , qu , qv , h , zf , z ,
6  & esomt , thetawr , q , hwr , twr ,
7  & x , y , npoin , at , pmaree)
8 !
9 !***********************************************************************
10 ! SISYPHE
11 !***********************************************************************
12 !
13 !brief USER INITIALISES THE VARIABLES NOT READ FROM THE RESULTS
14 !+ FILE (REPLACES THE VALUES READ IN THE RESULTS FILE).
15 !+
16 !+ IMPOSED VALUES OF :
17 !+
18 !+ - DEPTH-AVERAGED FLOW RATE (X,Y): QU, QV
19 !+
20 !+ - WATER DEPTH: H
21 !+
22 !+ - BOTTOM ELEVATION: ZF
23 !+
24 !+ - FREE SURFACE: Z
25 !+
26 !+ - TOTAL BED VOLUTION: ESOMT
27 !+
28 !+ - FLOW RATE: Q
29 !+
30 !+ - WAVE HEIGHT: HWR
31 !+
32 !+ - WAVE PERIOD: TWR
33 !+
34 !+ - WAVE DIRECTION (WRT OY AXIS): THETAWR.
35 !
36 !warning CONDIM_SISYPHE IS CALLED AT EACH TIME STEP IN ORDER TO
37 !+ IMPOSE A VARIABLE FORCING (TIDAL CURRENT, FOR EXAMPLE)
38 !warning IT IS NOT SUFFICIENT TO PRESCRIBE THE FLOW RATE.
39 !+ THE MAIN VARIABLES ARE NOW THE 2D FLOW VELOCITY FIELD
40 !+ AND THE FLOW DEPTH
41 !
42 !history E. PELTIER; C. LENORMANT; J.-M. HERVOUET
43 !+ 11/09/95
44 !+ V5P3
45 !+
46 !
47 !
48 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49 !| AT |-->| TIME
50 !| ESOMT |<->| TOTAL BED EVOLUTION
51 !| H |<->| WATER DEPTH
52 !| HWR |<->| WAVE HEIGHT
53 !| NPOIN |-->| NUMBER OF 2D POINTS
54 !| PMAREE |-->| TIDAL PERIOD
55 !| Q |<->| FLOW RATE
56 !| THETAWR |<->| WAVE DIRECTION (WRT OY AXIS)
57 !| TWR |<->| WAVE PERIOD
58 !| X,Y |-->| COORDINATES
59 !| Z |<->| FREE SURFACE
60 !| ZF |<->| BED ELEVATION
61 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
62 !
63  USE bief
64  USE declarations_sisyphe, ONLY: hw,tw,thetaw
65 !
67  IMPLICIT NONE
68 !
69 !
70 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
71 !
72  INTEGER, INTENT(IN)::NPOIN
73 !
74  DOUBLE PRECISION, INTENT(IN):: X(npoin),Y(npoin)
75  DOUBLE PRECISION, INTENT(IN):: AT , PMAREE
76 ! SEDIMENT
77  DOUBLE PRECISION, INTENT(INOUT) :: ZF(npoin)
78  DOUBLE PRECISION, INTENT (INOUT):: ESOMT(npoin)
79 ! HYDRODYNAMICS
80  DOUBLE PRECISION, INTENT(INOUT):: Z(npoin) , H(npoin)
81  DOUBLE PRECISION, INTENT(INOUT):: U(npoin) , V(npoin)
82  DOUBLE PRECISION, INTENT (INOUT)::QU(npoin), QV(npoin), Q(npoin)
83 ! WAVES
84  DOUBLE PRECISION, INTENT (INOUT):: HWR(npoin) , TWR(npoin)
85  DOUBLE PRECISION, INTENT (INOUT):: THETAWR(npoin)
86 !
87 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
88 !
89 !-----------------------------------------------------------------------
90 !
91 ! ------------------------
92 ! THE USER SHOULD BE AWARE
93 ! ++++++++++++++++++++++++
94 !
95 ! SUBROUTINE CONDIM_SISYPHE IS CALLED AT EACH TIME STEP
96 ! IN ORDER TO IMPOSE A VARIABLE FORCING
97 ! (TIDAL CURRENT, FOR EXAMPLE)
98 !
99 ! IT IS NOT SUFFICIENT TO PRESCRIBE THE FLOW RATE
100 ! THE MAIN VARIABLES ARE NOW THE 2D FLOW VELOCITY FIELD
101 ! AND THE FLOW DEPTH
102 !
103 !-----------------------------------------------------------------------
104 !
105 ! WAVES, EXAMPLE WITH NO WAVES:
106 !
107  IF(.false.) THEN
108 ! AMPLITUDE = 0
109  CALL os('X=0 ',x=hw)
110 ! PERIOD = 1 S
111  CALL os('X=C ',x=tw,c=1.d0)
112 ! ANGLE = 0
113  CALL os('X=0 ',x=thetaw)
114 !
115 ! AFTER SETTING HWR, TWR AND THETAWR, PLEASE ADD:
116 !
117  hw%TYPR ='Q'
118  tw%TYPR ='Q'
119  thetaw%TYPR='Q'
120  ENDIF
121 !
122 ! TO ENABLE THE CONTROL OF WAVE DATA
123 !
124 !-----------------------------------------------------------------------
125 !
126  RETURN
127  END SUBROUTINE
type(bief_obj), target thetaw
type(bief_obj), target tw
type(bief_obj), target hw
subroutine os(OP, X, Y, Z, C, IOPT, INFINI, ZERO)
Definition: os.f:7
double precision function q(I)
Definition: q.f:7
subroutine user_condim_sisyphe(U, V, QU, QV, H, ZF, Z, ESOMT, THETAWR, Q, HWR, TWR, X, Y, NPOIN, AT, PMAREE)
Definition: bief.f:3