/[lmdze]/trunk/dyn3d/Dissipation/gradiv2.f
ViewVC logotype

Annotation of /trunk/dyn3d/Dissipation/gradiv2.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3 - (hide annotations)
Wed Feb 27 13:16:39 2008 UTC (16 years, 2 months ago) by guez
Original Path: trunk/libf/dyn3d/gradiv2.f
File size: 2048 byte(s)
Initial import
1 guez 3 !
2     ! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/gradiv2.F,v 1.1.1.1 2004/05/19 12:53:07 lmdzadmin Exp $
3     !
4     SUBROUTINE gradiv2(klevel, xcov, ycov, ld, gdx, gdy )
5     c
6     c P. Le Van
7     c
8     c **********************************************************
9     c ld
10     c calcul de (grad (div) ) du vect. v ....
11     c
12     c xcov et ycov etant les composant.covariantes de v
13     c **********************************************************
14     c xcont , ycont et ld sont des arguments d'entree pour le s-prog
15     c gdx et gdy sont des arguments de sortie pour le s-prog
16     c
17     c
18     use dimens_m
19     use paramet_m
20     use comgeom
21     IMPLICIT NONE
22     c
23     include "comdissipn.h"
24     c
25     c ........ variables en arguments ........
26    
27     INTEGER klevel
28     REAL xcov( ip1jmp1,klevel ), ycov( ip1jm,klevel )
29     REAL gdx( ip1jmp1,klevel ), gdy( ip1jm,klevel )
30     c
31     c ........ variables locales .........
32     c
33     REAL div(ip1jmp1,llm)
34     REAL signe, nugrads
35     INTEGER l,ij,iter,ld
36    
37     c ........................................................
38     c
39     c
40     CALL SCOPY( ip1jmp1 * klevel, xcov, 1, gdx, 1 )
41     CALL SCOPY( ip1jm * klevel, ycov, 1, gdy, 1 )
42     c
43     c
44     signe = (-1.)**ld
45     nugrads = signe * cdivu
46     c
47    
48    
49     CALL divergf( klevel, gdx, gdy , div )
50    
51     IF( ld.GT.1 ) THEN
52    
53     CALL laplacien ( klevel, div, div )
54    
55     c ...... Iteration de l'operateur laplacien_gam .......
56    
57     DO iter = 1, ld -2
58     CALL laplacien_gam ( klevel,cuvscvgam1,cvuscugam1,unsair_gam1,
59     * unsapolnga1, unsapolsga1, div, div )
60     ENDDO
61    
62     ENDIF
63    
64    
65     CALL filtreg( div , jjp1, klevel, 2, 1, .TRUE., 1 )
66     CALL grad ( klevel, div, gdx, gdy )
67    
68     c
69     DO l = 1, klevel
70     DO ij = 1, ip1jmp1
71     gdx( ij,l ) = gdx( ij,l ) * nugrads
72     ENDDO
73     DO ij = 1, ip1jm
74     gdy( ij,l ) = gdy( ij,l ) * nugrads
75     ENDDO
76     ENDDO
77     c
78     RETURN
79     END

  ViewVC Help
Powered by ViewVC 1.1.21