source: trunk/src/zwisd_trazdf_imp.h

Last change on this file was 1, checked in by jbrlod, 13 years ago

Import initial

  • Property svn:eol-style set to native
File size: 2.0 KB
Line 
1
2/***************************************************************************
3                 module classe zwisd_trazdf_imp.h  -  description
4***************************************************************************/
5// Mohamed Berrada
6// locean-ipsl.upmc, Paris, April 15, 2009
7//===========================================================================
8//                          methode forward
9forward (YREAL x1, YREAL x2)
10{ /*    1       from    zdf_avt_avmu_avmv       1  i    j    k    t
11        2       from    zdf_avt_avmu_avmv       1  i    j    k+1  t*/   
12  /* YS1*/
13  /*    2.655954839980409e-18
14        6.536998265857578e-17*/
15  /* YS2*/
16  /*     3.352714069924341e-18
17         7.743459995643917e-17*/
18  /* YS3*/
19  /*     0
20         0*/
21
22  if(Yt==TU)
23    YS1=0.;
24  else{
25    double  ze3tn = fse3t(Yi,Yj,Yk);
26    if(Yi==0 || Yi==NX-1 || Yj==0 || Yj==NY-1 || Yk== NZ-1){
27      YS1=0.;
28      YS2=0.;
29      YS3=0.;
30    }
31    else{
32     
33      YS1 = - r2dt * x1/(ze3tn * fse3w(Yi,Yj,Yk  )); //ck*r2dt/e3t
34      YS2 = - r2dt * x2/(ze3tn * fse3w(Yi,Yj,Yk+1)); //ck+1*r2dt/e3t
35      YS3 = 1. - YS1 - YS2; //r2dt*d(k)/e3t
36      //      ! Surface boudary conditions
37      if(Yk==0){
38        YS1 = 0.e0;
39        YS3 = 1. - YS2;
40      }
41    }
42  }
43  //
44}
45
46//===========================================================================
47//                         methode  backward
48
49backward (YREAL x1, YREAL x2)
50{
51  YJ1I1=0.;     YJ1I2=0.;
52  YJ2I1=0.;     YJ2I2=0.;
53  YJ3I1=0.;     YJ3I2=0.;
54 
55  if(Yt!=TU){
56    double  ze3tn = fse3t(Yi,Yj,Yk);
57    if(Yi==0 || Yi==NX-1 || Yj==0 || Yj==NY-1 || Yk== NZ-1){
58      YJ1I1=0.;     YJ1I2=0.;
59      YJ2I1=0.;     YJ2I2=0.;
60      YJ3I1=0.;     YJ3I2=0.;
61    }
62    else{
63      YJ1I1 = - r2dt /(ze3tn * fse3w(Yi,Yj,Yk  ));
64      YJ2I2 = - r2dt /(ze3tn * fse3w(Yi,Yj,Yk+1));
65      YJ3I1 = - YJ1I1;
66      YJ3I2 = - YJ2I2;
67      //      ! Surface boudary conditions
68      if(Yk==0){
69        YJ1I1 = 0.e0;
70        YJ3I1 = 0.;
71      }
72    }
73  }
74  //
75 
76}
77
78  //===========================================================================
79//*************************  FIN DU MODULE zwisd_trazdf_imp   *************************
80
Note: See TracBrowser for help on using the repository browser.