source: trunk/src/dta_zfil.h @ 75

Last change on this file since 75 was 70, checked in by berrada, 13 years ago

fusion mb-branche dans tronc

  • Property svn:eol-style set to native
File size: 2.0 KB
Line 
1
2/***************************************************************************
3                 module classe dta_zfil.h  -  description
4***************************************************************************/
5// Mohamed Berrada
6// locean-ipsl.upmc, Paris, July 21, 2011
7//===========================================================================
8//                          methode forward
9forward (YREAL x1,YREAL x2,YREAL x3,YREAL x4)
10{ /*    1       from    dta_lfil                1  i    j    k     t
11        2       from    dta_zfil                1  i    j    k     t-1
12        3       from    zwy_zfil                1  i    j    k+1   t
13        4       from    zwy_zfil                1  i    j    k     t*/
14  //if (Yi==5 && Yj==5)
15  //printf("dta_zfil : %d\n",Yt);
16  if(Yt==1){
17    double wm12=1./sqrt(fse3t(Yi,Yj,Yk)); //1/sqrt(dz)
18    YS1=wm12*x1;
19  }
20  else{
21    if(Yi==0 || Yi==NX-1 || Yj==0 || Yj==NY-1 || Yk==NZ-1){
22      YS1=0.;
23    }
24    else{
25      double ze3tr=1.e0 / fse3t(Yi,Yj,Yk);// ! 1 sur le pas veritcal au point t
26      YS1 = x2+ pdtz_fil* ( x4 - x3) * ze3tr;
27    }
28  }
29  /*    if(Yt==1 && Yk==0 && Yi<26 && Yi>22 && Yj<17 && Yj>13)
30printf("nuz1(%d,%d) = %24.16e \n",Yi+1,Yj+1,YS1);
31    if(Yt==40 && Yk==0 && Yi<26 && Yi>22 && Yj<17 && Yj>13)
32    printf("nuz40(%d,%d) = %24.16e \n",Yi+1,Yj+1,YS1);*/
33  //
34}
35
36//===========================================================================
37//                         methode  backward
38
39backward (YREAL x1,YREAL x2,YREAL x3,YREAL x4)
40{
41  YJ1I1=0.;     YJ1I2=0.;    YJ1I3=0.;    YJ1I4=0.;
42  if(Yt==1){
43    double wm12=1./sqrt(fse3t(Yi,Yj,Yk)); //1/sqrt(dz)
44    YJ1I1=wm12;
45  }
46  else{
47    if(Yi==0 || Yi==NX-1 || Yj==0 || Yj==NY-1 || Yk==NZ-1){
48      YJ1I1=0.;     YJ1I2=0.;    YJ1I3=0.;    YJ1I4=0.;
49    }
50    else{
51      double ze3tr=1.e0 / fse3t(Yi,Yj,Yk);// ! 1 sur le pas veritcal au point t
52      YJ1I1=0.;     YJ1I2=1.;    YJ1I3=-pdtz_fil*ze3tr;    YJ1I4=pdtz_fil*ze3tr;
53    }
54  }
55  //
56
57  /* if(Ycurward==BACKWARD){
58    if(Yt==1 && Yk==0 && Yi<26 && Yi>22 && Yj<17 && Yj>13)
59      printf("YG_1(%d,%d) = %24.16e \n",Yi+1,Yj+1,YG1);
60      }*/
61}
Note: See TracBrowser for help on using the repository browser.