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 |