source: trunk/src/dta_lfil.h @ 186

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

fusion mb-branche dans tronc

  • Property svn:eol-style set to native
File size: 2.2 KB
Line 
1
2/***************************************************************************
3                 module classe dta_lfil.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,YREAL x5,YREAL x6)
10{ /*    1       from    nu                      1  i    j    k
11        2       from    dta_lfil                1  i    j    k     t-1
12        3       from    ztuv_lfil               1  i-1  j    k     t
13        4       from    ztuv_lfil               1  i    j    k     t
14        5       from    ztuv_lfil               2  i    j-1  k     t
15        6       from    ztuv_lfil               2  i    j    k     t */
16  //  if (Yi==5 && Yj==5)
17  //printf("dta_lfil : %d\n",Yt);
18
19  if(Yt==1){
20    double zbtr = zbtr2(Yi,Yj);
21    double wm12=sqrt(zbtr);//1./(106000.); //1/sqrt(ds1*ds2)
22    YS1=wm12*x1;
23  }
24  else{
25    if(Yi==0 || Yi==NX-1 || Yj==0 || Yj==NY-1 || Yk==NZ-1){
26      YS1=0.;
27    }
28    else{
29      double zbtr = zbtr2(Yi,Yj);
30      YS1 =x2+ pdth_fil*zbtr*(x4- x3 + x6 - x5);
31    }
32  }
33  //
34  /*    if(Yt==1 && Yk==0 && Yi<26 && Yi>22 && Yj<17 && Yj>13)
35      printf("nul1(%d,%d) = %24.16e \n",Yi+1,Yj+1,YS1);
36    if(Yt==40 && Yk==0 && Yi<26 && Yi>22 && Yj<17 && Yj>13)
37    printf("nul40(%d,%d) = %24.16e \n",Yi+1,Yj+1,YS1);*/
38}
39
40//===========================================================================
41//                         methode  backward
42
43backward (YREAL x1,YREAL x2,YREAL x3,YREAL x4,YREAL x5,YREAL x6)
44{
45  YJ1I1=0.;     YJ1I2=0.;    YJ1I3=0.;    YJ1I4=0.;    YJ1I5=0.;    YJ1I6=0.;
46
47
48  if(Yt==1){
49    double zbtr = zbtr2(Yi,Yj);
50    double wm12=sqrt(zbtr);//(106000.); //1/sqrt(ds1*ds2)
51    //    double wm12=1./(106000.); //1/sqrt(ds1*ds2)
52    YJ1I1=wm12;
53  }
54  else{
55    if(Yi==0 || Yi==NX-1 || Yj==0 || Yj==NY-1 || Yk==NZ-1){
56      YJ1I1=0.;     YJ1I2=0.;    YJ1I3=0.;    YJ1I4=0.;    YJ1I5=0.;    YJ1I6=0.;
57    }
58    else{
59      double zbtr = zbtr2(Yi,Yj);
60      YJ1I1=0.;     YJ1I2=1.;    YJ1I3=-pdth_fil*zbtr;   
61      YJ1I4=pdth_fil*zbtr;    YJ1I5=-pdth_fil*zbtr;    YJ1I6=pdth_fil*zbtr;
62    }
63  }
64  //
65  /*  if(Ycurward==BACKWARD){
66    if(Yt==10 && Yk==0 && Yi<26 && Yi>22 && Yj<17 && Yj>13)
67      printf("YG_1L(%d,%d) = %24.16e \n",Yi+1,Yj+1,YG1);
68  }*/
69}
Note: See TracBrowser for help on using the repository browser.