source: tags/version-1.1/trunk/src/zwxyz_vor_ene.h @ 24

Last change on this file since 24 was 10, checked in by jbrlod, 13 years ago

design a reference version

  • Property svn:eol-style set to native
File size: 2.3 KB
Line 
1
2/***************************************************************************
3                 module classe zwxyz_vor_ene.h  -  description
4***************************************************************************/
5// Mohamed Berrada
6// locean-ipsl.upmc, Paris, Mars 9, 2009
7//===========================================================================
8//                          methode forward
9forward (YREAL x1,YREAL x2,YREAL x3,YREAL x4)
10{/*     x1      from    ua                      1  i    j    k    t-1
11        x2      from    ua                      1  i    j+1  k    t-1
12        x3      from    va                      1  i    j    k    t-1
13        x4      from    va                      1  i+1  j    k    t-1*/
14
15  /* if (Yi>25 && Yj<3 && Yt<13 && Yk==0)
16    {
17      printf("zwxyz_vor_ene:Yi=%i, Yj=%i, Yt=%i,x1=%f,x2=%f,x3=%f, x4=%f, YS2=%f\n",Yi,Yj,Yt,x1,x2,x3,x4,e1v(Yi,Yj)*x3);
18      }*/
19
20  if(Yt==TU)
21    YS1=0.;
22  else{
23    if(Yk==NZ-1 || Yi==NX-1 || Yj==NY-1) 
24      YS1=0.;
25    else{
26      YS1=e2u(Yi,Yj)*x1;
27      YS2=e1v(Yi,Yj)*x3;
28
29      //pour ntot==5--->
30      double y31=(x4+x3)*(e2v(Yi+1,Yj)-e2v(Yi,Yj));
31      double y32=(x2+x1)*(e1u(Yi,Yj+1)-e1u(Yi,Yj));
32      YS3=ff(Yi,Yj)+(y31-y32)*0.5/(e1f(Yi,Yj)*e2f(Yi,Yj));
33    }
34  }
35  // 
36}
37
38//===========================================================================
39//                         methode  backward
40
41backward (YREAL x1,YREAL x2,YREAL x3,YREAL x4)
42{
43  YJ1I1=0.;     YJ1I2=0.;   YJ1I3=0.;   YJ1I4=0.; 
44  YJ2I1=0.;     YJ2I2=0.;   YJ2I3=0.;   YJ2I4=0.; 
45  YJ3I1=0.;     YJ3I2=0.;   YJ3I3=0.;   YJ3I4=0.; 
46  if(Yt!=TU){ 
47    if(Yk==NZ-1 || Yi==NX-1 || Yj==NY-1) {
48      YJ1I1=0.;     YJ1I2=0.;   YJ1I3=0.;   YJ1I4=0.; 
49      YJ2I1=0.;     YJ2I2=0.;   YJ2I3=0.;   YJ2I4=0.; 
50      YJ3I1=0.;     YJ3I2=0.;   YJ3I3=0.;   YJ3I4=0.; 
51    }
52    else{
53      YJ1I1=e2u(Yi,Yj);
54      YJ2I3=e1v(Yi,Yj);
55      //pour ntot==5--->
56      double dy31_x3=(e2v(Yi+1,Yj)-e2v(Yi,Yj));
57      double dy31_x4=(e2v(Yi+1,Yj)-e2v(Yi,Yj));
58      double dy32_x1=(e1u(Yi,Yj+1)-e1u(Yi,Yj));
59      double dy32_x2=(e1u(Yi,Yj+1)-e1u(Yi,Yj));
60      YJ3I1=-dy32_x1*0.5/(e1f(Yi,Yj)*e2f(Yi,Yj));
61      YJ3I2=-dy32_x2*0.5/(e1f(Yi,Yj)*e2f(Yi,Yj));
62      YJ3I3=dy31_x3*0.5/(e1f(Yi,Yj)*e2f(Yi,Yj));
63      YJ3I4=dy31_x4*0.5/(e1f(Yi,Yj)*e2f(Yi,Yj));
64    }
65  }
66  // 
67}
68
69//===========================================================================
70//********************* FIN DU MODULE zwxyz_vor_ene **********************
Note: See TracBrowser for help on using the repository browser.