/[lmdze]/trunk/libf/dyn3d/psextbar.f
ViewVC logotype

Contents of /trunk/libf/dyn3d/psextbar.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3 - (show annotations)
Wed Feb 27 13:16:39 2008 UTC (16 years, 2 months ago) by guez
File size: 2915 byte(s)
Initial import
1 !
2 ! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/psextbar.F,v 1.1.1.1 2004/05/19 12:53:06 lmdzadmin Exp $
3 !
4 SUBROUTINE psextbar ( ps, psexbarxy )
5 use dimens_m
6 use paramet_m
7 use comgeom
8 IMPLICIT NONE
9
10 c=======================================================================
11 c
12 c Auteur: P. Le Van
13 c -------
14 c
15 c Objet:
16 c ------
17 c
18 c **********************************************************************
19 c calcul des moyennes en x et en y de (pression au sol*aire variable) ..
20 c **********************************************************************
21 c
22 c ps est un argum. d'entree pour le s-pg ..
23 c psexbarxy est un argum. de sortie pour le s-pg ..
24 c
25 c Methode:
26 c --------
27 c
28 c A chaque point scalaire P (i,j) est affecte 4 coefficients d'aires
29 c alpha1(i,j) calcule au point ( i+1/4,j-1/4 )
30 c alpha2(i,j) calcule au point ( i+1/4,j+1/4 )
31 c alpha3(i,j) calcule au point ( i-1/4,j+1/4 )
32 c alpha4(i,j) calcule au point ( i-1/4,j-1/4 )
33 c
34 c Avec alpha1(i,j) = aire(i+1/4,j-1/4)/ aire(i,j)
35 c
36 c N.B . Pour plus de details, voir s-pg ... iniconst ...
37 c
38 c
39 c
40 c alpha4 . . alpha1 . alpha4
41 c (i,j) (i,j) (i+1,j)
42 c
43 c P . U . . P
44 c (i,j) (i,j) (i+1,j)
45 c
46 c alpha3 . . alpha2 .alpha3
47 c (i,j) (i,j) (i+1,j)
48 c
49 c V . Z . . V
50 c (i,j)
51 c
52 c alpha4 . . alpha1 .alpha4
53 c (i,j+1) (i,j+1) (i+1,j+1)
54 c
55 c P . U . . P
56 c (i,j+1) (i+1,j+1)
57 c
58 c
59 c
60 c
61 c On a :
62 c
63 c pbarx(i,j) = Pext(i ,j) * ( alpha1(i ,j) + alpha2(i,j)) +
64 c Pext(i+1,j) * ( alpha3(i+1,j) + alpha4(i+1,j) )
65 c localise au point ... U (i,j) ...
66 c
67 c pbary(i,j) = Pext(i,j ) * ( alpha2(i,j ) + alpha3(i,j ) +
68 c Pext(i,j+1) * ( alpha1(i,j+1) + alpha4(i,j+1)
69 c localise au point ... V (i,j) ...
70 c
71 c pbarxy(i,j)= Pext(i,j) *alpha2(i,j) + Pext(i+1,j) *alpha3(i+1,j) +
72 c Pext(i,j+1)*alpha1(i,j+1)+ Pext(i+1,j+1)*alpha4(i+1,j+1)
73 c localise au point ... Z (i,j) ...
74 c
75 c
76 c
77 c=======================================================================
78
79
80
81 REAL, intent(in):: ps( ip1jmp1 )
82 real psexbarxy ( ip1jm ), pext( ip1jmp1 )
83
84 INTEGER l, ij
85 c
86
87 DO ij = 1, ip1jmp1
88 pext(ij) = ps(ij) * aire(ij)
89 ENDDO
90
91
92 DO 5 ij = 1, ip1jm - 1
93 psexbarxy( ij ) = pext(ij)*alpha2(ij) + pext(ij+1)*alpha3(ij+1) +
94 * pext(ij+iip1)*alpha1(ij+iip1) + pext(ij+iip2)*alpha4(ij+iip2)
95 5 CONTINUE
96
97
98 c .... correction pour psexbarxy( iip1,j ) ........
99
100 CDIR$ IVDEP
101
102 DO 7 ij = iip1, ip1jm, iip1
103 psexbarxy( ij ) = psexbarxy( ij - iim )
104 7 CONTINUE
105
106
107 RETURN
108 END

  ViewVC Help
Powered by ViewVC 1.1.21