The TELEMAC-MASCARET system  trunk
calcue.f
Go to the documentation of this file.
1 ! *****************
2  SUBROUTINE calcue
3 ! *****************
4 !
5 !
6 !***********************************************************************
7 ! ARTEMIS V6P1 21/08/2010
8 !***********************************************************************
9 !
10 !brief COMPUTES AN EFFECTIVE SPEED UE FOR THE ESTIMATION
11 !+ OF THE FRICTION DISSIPATION COEFFICIENT FW.
12 !
13 !history J-M HERVOUET (LNH)
14 !+
15 !+
16 !+ LINKED TO BIEF 5.0
17 !
18 !history D. AELBRECHT (LNH) ; D. PAUGAM ( PLACEMENT)
19 !+ 02/06/1999
20 !+ V5P1
21 !+
22 !
23 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
24 !+ 13/07/2010
25 !+ V6P0
26 !+ Translation of French comments within the FORTRAN sources into
27 !+ English comments
28 !
29 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
30 !+ 21/08/2010
31 !+ V6P0
32 !+ Creation of DOXYGEN tags for automated documentation and
33 !+ cross-referencing of the FORTRAN sources
34 !
35 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37 !
38  USE bief
41 !
43  IMPLICIT NONE
44 !
45  INTRINSIC abs,exp
46 !
47  CALL vector(u0 , '=' , 'GRADF X' , ielm ,
48  & 1.d0 , phir , sbid , sbid , sbid , sbid , sbid ,
49  & mesh , msk , maskel )
50 !
51  CALL vector(v0 , '=' , 'GRADF Y' , ielm ,
52  & 1.d0 , phir , c , c , c , c , c ,
53  & mesh , msk , maskel )
54 !
55 !
56 ! THE OLD VARIABLE U1 IS STORED IN T1
57 !
58  CALL vector(t1, '=' , 'GRADF X' , ielm ,
59  & 1.d0 , phii , c , c , c , c , c ,
60  & mesh , msk , maskel )
61 !
62 !
63 ! THE OLD VARIABLE V1 IS STORED IN T2
64 !
65  CALL vector(t2, '=' , 'GRADF Y' , ielm ,
66  & 1.d0 , phii , c , c , c , c , c ,
67  & mesh , msk , maskel )
68 !
69  CALL vector(t4 , '=' , 'MASBAS ' , ielm ,
70  & 1.d0 , c , c , c , c , c , c ,
71  & mesh , msk , maskel )
72 !
73  CALL os('X=Y/Z ', x=u0, y=u0, z=t4)
74  CALL os('X=Y/Z ', x=v0, y=v0, z=t4)
75  CALL os('X=Y/Z ', x=t1, y=t1, z=t4)
76  CALL os('X=Y/Z ', x=t2, y=t2, z=t4)
77 !
78 !--------------------------------------------------------------
79 ! COMPUTES UE
80 !--------------------------------------------------------------
81 !
82  CALL os('X=C ', x=t4 , c=0.d0)
83  CALL os('X=YZ ', x=t4 , y=u0 , z=u0)
84  CALL os('X=X+YZ ', x=t4 , y=v0 , z=v0)
85  CALL os('X=X+YZ ', x=t4 , y=t1 , z=t1)
86  CALL os('X=X+YZ ', x=t4 , y=t2 , z=t2)
87 !
88  CALL os('X=CX ', x=t4 , c=0.5d0)
89  CALL os('X=SQR(Y)', x=t1 , y=t4)
90  CALL os('X=CY ', x=t4 , y=t1, c=1.2d0 )
91 !
92  RETURN
93  END
type(bief_obj), target maskel
double precision, dimension(:), pointer y
type(bief_obj), target phii
type(bief_obj), target v0
type(bief_obj), pointer t2
type(bief_mesh), target mesh
subroutine calcue
Definition: calcue.f:4
type(bief_obj), pointer t4
type(bief_obj), target phir
double precision, dimension(:), pointer x
type(bief_obj), target sbid
subroutine vector(VEC, OP, FORMUL, IELM1, XMUL, F, G, H, U, V, W, MESH, MSK, MASKEL, LEGO, ASSPAR)
Definition: vector.f:7
subroutine os(OP, X, Y, Z, C, IOPT, INFINI, ZERO)
Definition: os.f:7
type(bief_obj), pointer t1
type(bief_obj), target c
type(bief_obj), target u0
Definition: bief.f:3