1 | |
---|
2 | /*************************************************************************** |
---|
3 | module classe va_dynadv_cen2.h - description |
---|
4 | ***************************************************************************/ |
---|
5 | // Mohamed Berrada |
---|
6 | // locean-ipsl.upmc, Paris, February 27, 2009 |
---|
7 | //=========================================================================== |
---|
8 | // methode forward |
---|
9 | forward (YREAL x1,YREAL x2,YREAL x3) |
---|
10 | {/* x1 from zfuv_UW_dynadv_cen2 2 i j k t |
---|
11 | x2 from zfuv_UW_dynadv_cen2 2 i j k+1 t |
---|
12 | x3 from zva_dhmf_dynadv_cen2 1 i j k t*/ |
---|
13 | |
---|
14 | if(Yt==TU) |
---|
15 | YS1=0.; |
---|
16 | else{ |
---|
17 | double zva; |
---|
18 | |
---|
19 | if(Yk==NZ-1 || Yj==0 || Yj==NY-1 || Yi==0 || Yi==NX-1) |
---|
20 | YS1=0.; |
---|
21 | else{ |
---|
22 | zva=-(x1-x2)/(e1v(Yi,Yj)*e2v(Yi,Yj)*fse3v(Yi,Yj,Yk)); |
---|
23 | YS1=zva+x3; |
---|
24 | } |
---|
25 | } |
---|
26 | // |
---|
27 | } |
---|
28 | |
---|
29 | //=========================================================================== |
---|
30 | // methode backward |
---|
31 | |
---|
32 | backward (YREAL x1,YREAL x2,YREAL x3) |
---|
33 | { |
---|
34 | YJ1I1=0.; YJ1I2=0.; YJ1I3=0.; |
---|
35 | if(Yt!=TU){ |
---|
36 | double zva,dzva_x1,dzva_x2; |
---|
37 | |
---|
38 | if(Yk==NZ-1 || Yj==0 || Yj==NY-1 || Yi==0 || Yi==NX-1){ |
---|
39 | YJ1I1=0.; YJ1I2=0.; YJ1I3=0.; |
---|
40 | } |
---|
41 | else{ |
---|
42 | zva=-(x1-x2)/(e1v(Yi,Yj)*e2v(Yi,Yj)*fse3v(Yi,Yj,Yk)); |
---|
43 | dzva_x1=-1./(e1v(Yi,Yj)*e2v(Yi,Yj)*fse3v(Yi,Yj,Yk)); |
---|
44 | dzva_x2=-dzva_x1; |
---|
45 | YJ1I1=dzva_x1; |
---|
46 | YJ1I2=dzva_x2; |
---|
47 | YJ1I3=1.; |
---|
48 | } |
---|
49 | } |
---|
50 | // |
---|
51 | |
---|
52 | } |
---|
53 | |
---|
54 | //=========================================================================== |
---|
55 | //********************* FIN DU MODULE va_dynadv_cen2 ********************** |
---|