My Project
Main Page
Data Types List
Files
File List
File Members
All
Classes
Files
Functions
Variables
Macros
enercin.F
Go to the documentation of this file.
1
!
2
! $Header$
3
!
4
SUBROUTINE
enercin
( vcov, ucov, vcont, ucont, ecin )
5
IMPLICIT NONE
6
7
c=======================================================================
8
c
9
c Auteur: P. Le Van
10
c -------
11
c
12
c Objet:
13
c ------
14
c
15
c *********************************************************************
16
c .. calcul de l'energie cinetique aux niveaux s ......
17
c *********************************************************************
18
c vcov, vcont, ucov et ucont sont des arguments d'entree pour le s-pg .
19
c ecin est un argument de sortie pour le s-pg
20
c
21
c=======================================================================
22
23
#include "dimensions.h"
24
#include "paramet.h"
25
#include "comgeom.h"
26
27
REAL
vcov(
ip1jm
,llm ),vcont(
ip1jm
,llm ),
28
* ucov(
ip1jmp1
,llm ),ucont(
ip1jmp1
,llm ),ecin(
ip1jmp1
,llm )
29
30
REAL
ecinni( iip1 ),ecinsi( iip1 )
31
32
REAL
ecinpn, ecinps
33
INTEGER
l
,
ij
,
i
34
35
REAL
ssum
36
37
38
39
c . V
40
c i,j-1
41
42
c alpha4 . . alpha1
43
44
45
c U . . P . U
46
c i-1,j i,j i,j
47
48
c alpha3 . . alpha2
49
50
51
c . V
52
c i,j
53
54
c
55
c L'energie cinetique au point scalaire P(i,j) ,autre que les poles, est :
56
c Ecin = 0.5 * U(i-1,j)**2 *( alpha3 + alpha4 ) +
57
c 0.5 * U(i ,j)**2 *( alpha1 + alpha2 ) +
58
c 0.5 * V(i,j-1)**2 *( alpha1 + alpha4 ) +
59
c 0.5 * V(i, j)**2 *( alpha2 + alpha3 )
60
61
62
DO
5
l
= 1,llm
63
64
DO
1
ij
=
iip2
,
ip1jm
-1
65
ecin(
ij
+1,
l
) = 0.5 *
66
* ( ucov(
ij
,
l
) * ucont(
ij
,
l
) *
alpha3p4
(
ij
+1 ) +
67
* ucov(
ij
+1 ,
l
) * ucont(
ij
+1 ,
l
) *
alpha1p2
(
ij
+1 ) +
68
* vcov(
ij
-
iim
,
l
) * vcont(
ij
-
iim
,
l
) *
alpha1p4
(
ij
+1 ) +
69
* vcov(
ij
+ 1,
l
) * vcont(
ij
+ 1,
l
) *
alpha2p3
(
ij
+1 ) )
70
1
CONTINUE
71
72
c ... correction pour ecin(1,j,l) ....
73
c ... ecin(1,j,l)= ecin(iip1,j,l) ...
74
75
CDIR$ IVDEP
76
DO
2
ij
=
iip2
,
ip1jm
, iip1
77
ecin(
ij
,
l
) = ecin(
ij
+
iim
,
l
)
78
2
CONTINUE
79
80
c calcul aux poles .......
81
82
83
DO
3
i
= 1,
iim
84
ecinni(
i
) = vcov(
i
,
l
) * vcont(
i
,
l
) *
aire
(
i
)
85
ecinsi(
i
) = vcov(
i
+
ip1jmi1
,
l
) * vcont(
i
+
ip1jmi1
,
l
) *
aire
(
i
+
ip1jm
)
86
3
CONTINUE
87
88
ecinpn = 0.5 *
ssum
(
iim
,ecinni,1 ) /
apoln
89
ecinps = 0.5 *
ssum
(
iim
,ecinsi,1 ) /
apols
90
91
DO
4
ij
= 1,iip1
92
ecin(
ij
,
l
) = ecinpn
93
ecin(
ij
+
ip1jm
,
l
) = ecinps
94
4
CONTINUE
95
96
5
CONTINUE
97
RETURN
98
END
libf
dyn3d
enercin.F
Generated on Fri Jun 28 2013 15:58:08 for My Project by
1.8.1.2