/[lmdze]/trunk/Sources/dyn3d/Dissipation/divgrad2.f
ViewVC logotype

Annotation of /trunk/Sources/dyn3d/Dissipation/divgrad2.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3 - (hide annotations)
Wed Feb 27 13:16:39 2008 UTC (16 years, 3 months ago) by guez
Original Path: trunk/libf/dyn3d/divgrad2.f
File size: 2101 byte(s)
Initial import
1 guez 3 !
2     ! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/divgrad2.F,v 1.1.1.1 2004/05/19 12:53:06 lmdzadmin Exp $
3     !
4     SUBROUTINE divgrad2 ( klevel, h, deltapres, lh, divgra )
5     c
6     c P. Le Van
7     c
8     c ***************************************************************
9     c
10     c ..... calcul de (div( grad )) de ( pext * h ) .....
11     c ****************************************************************
12     c h ,klevel,lh et pext sont des arguments d'entree pour le s-prg
13     c divgra est un argument de sortie pour le s-prg
14     c
15     use dimens_m
16     use paramet_m
17     use comgeom
18     IMPLICIT NONE
19     c
20     include "comdissipn.h"
21    
22     c ....... variables en arguments .......
23     c
24     INTEGER klevel
25     REAL h( ip1jmp1,klevel ), deltapres( ip1jmp1,klevel )
26     REAL divgra( ip1jmp1,klevel)
27     c
28     c ....... variables locales ..........
29     c
30     REAL signe, nudivgrs, sqrtps( ip1jmp1,llm )
31     INTEGER l,ij,iter,lh
32     c ...................................................................
33    
34     c
35     signe = (-1.)**lh
36     nudivgrs = signe * cdivh
37    
38     CALL SCOPY ( ip1jmp1 * klevel, h, 1, divgra, 1 )
39    
40     c
41     CALL laplacien( klevel, divgra, divgra )
42    
43     DO l = 1, klevel
44     DO ij = 1, ip1jmp1
45     sqrtps( ij,l ) = SQRT( deltapres(ij,l) )
46     ENDDO
47     ENDDO
48     c
49     DO l = 1, klevel
50     DO ij = 1, ip1jmp1
51     divgra(ij,l) = divgra(ij,l) * sqrtps(ij,l)
52     ENDDO
53     ENDDO
54    
55     c ........ Iteration de l'operateur laplacien_gam ........
56     c
57     DO iter = 1, lh - 2
58     CALL laplacien_gam ( klevel,cuvscvgam2,cvuscugam2,unsair_gam2,
59     * unsapolnga2, unsapolsga2, divgra, divgra )
60     ENDDO
61     c
62     c ...............................................................
63    
64     DO l = 1, klevel
65     DO ij = 1, ip1jmp1
66     divgra(ij,l) = divgra(ij,l) * sqrtps(ij,l)
67     ENDDO
68     ENDDO
69     c
70     CALL laplacien ( klevel, divgra, divgra )
71     c
72     DO l = 1,klevel
73     DO ij = 1,ip1jmp1
74     divgra(ij,l) = nudivgrs * divgra(ij,l) / deltapres(ij,l)
75     ENDDO
76     ENDDO
77    
78     RETURN
79     END

  ViewVC Help
Powered by ViewVC 1.1.21