GCC Code Coverage Report


Directory: ./
File: dyn3d_common/massdair.f
Date: 2022-01-11 19:19:34
Exec Total Coverage
Lines: 8 8 100.0%
Branches: 6 6 100.0%

Line Branch Exec Source
1 !
2 ! $Header$
3 !
4 9123 SUBROUTINE massdair( p, masse )
5 c
6 c *********************************************************************
7 c .... Calcule la masse d'air dans chaque maille ....
8 c *********************************************************************
9 c
10 c Auteurs : P. Le Van , Fr. Hourdin .
11 c ..........
12 c
13 c .. p est un argum. d'entree pour le s-pg ...
14 c .. masse est un argum.de sortie pour le s-pg ...
15 c
16 c .... p est defini aux interfaces des llm couches .....
17 c
18 IMPLICIT NONE
19 c
20 include "dimensions.h"
21 include "paramet.h"
22 include "comgeom.h"
23 c
24 c ..... arguments ....
25 c
26 REAL p(ip1jmp1,llmp1), masse(ip1jmp1,llm)
27
28 c .... Variables locales .....
29
30 INTEGER l,ij
31 REAL massemoyn, massemoys
32
33 REAL SSUM
34 c
35 c
36 c Methode pour calculer massebx et masseby .
37 c ----------------------------------------
38 c
39 c A chaque point scalaire P (i,j) est affecte 4 coefficients d'aires
40 c alpha1(i,j) calcule au point ( i+1/4,j-1/4 )
41 c alpha2(i,j) calcule au point ( i+1/4,j+1/4 )
42 c alpha3(i,j) calcule au point ( i-1/4,j+1/4 )
43 c alpha4(i,j) calcule au point ( i-1/4,j-1/4 )
44 c
45 c Avec alpha1(i,j) = aire(i+1/4,j-1/4)/ aire(i,j)
46 c
47 c N.B . Pour plus de details, voir s-pg ... iniconst ...
48 c
49 c
50 c
51 c alpha4 . . alpha1 . alpha4
52 c (i,j) (i,j) (i+1,j)
53 c
54 c P . U . . P
55 c (i,j) (i,j) (i+1,j)
56 c
57 c alpha3 . . alpha2 .alpha3
58 c (i,j) (i,j) (i+1,j)
59 c
60 c V . Z . . V
61 c (i,j)
62 c
63 c alpha4 . . alpha1 .alpha4
64 c (i,j+1) (i,j+1) (i+1,j+1)
65 c
66 c P . U . . P
67 c (i,j+1) (i+1,j+1)
68 c
69 c
70 c
71 c On a :
72 c
73 c massebx(i,j) = masse(i ,j) * ( alpha1(i ,j) + alpha2(i,j)) +
74 c masse(i+1,j) * ( alpha3(i+1,j) + alpha4(i+1,j) )
75 c localise au point ... U (i,j) ...
76 c
77 c masseby(i,j) = masse(i,j ) * ( alpha2(i,j ) + alpha3(i,j ) +
78 c masse(i,j+1) * ( alpha1(i,j+1) + alpha4(i,j+1)
79 c localise au point ... V (i,j) ...
80 c
81 c
82 c=======================================================================
83
84
2/2
✓ Branch 0 taken 355797 times.
✓ Branch 1 taken 9123 times.
364920 DO 100 l = 1 , llm
85 c
86
2/2
✓ Branch 0 taken 387462933 times.
✓ Branch 1 taken 355797 times.
387818730 DO ij = 1, ip1jmp1
87 387818730 masse(ij,l) = airesurg(ij) * ( p(ij,l) - p(ij,l+1) )
88 ENDDO
89 c
90 11741301 DO ij = 1, ip1jmp1,iip1
91
2/2
✓ Branch 0 taken 11385504 times.
✓ Branch 1 taken 355797 times.
11741301 masse(ij+ iim,l) = masse(ij,l)
92 ENDDO
93 c
94 c DO ij = 1, iim
95 c masse( ij ,l) = masse( ij ,l) * aire( ij )
96 c masse(ij+ip1jm,l) = masse(ij+ip1jm,l) * aire(ij+ip1jm)
97 c ENDDO
98 c massemoyn = SSUM(iim,masse( 1 ,l),1)/ apoln
99 c massemoys = SSUM(iim,masse(ip1jm+1,l),1)/ apols
100 c DO ij = 1, iip1
101 c masse( ij ,l ) = massemoyn
102 c masse(ij+ip1jm,l ) = massemoys
103 c ENDDO
104
105 9123 100 CONTINUE
106 c
107 9123 RETURN
108 END
109