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

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

Import initial

  • Property svn:eol-style set to native
File size: 2.2 KB
Line 
1
2/***************************************************************************
3                 module classe gcb_dynspg_flt.h  -  description
4***************************************************************************/
5// Mohamed Berrada
6// locean-ipsl.upmc, Paris, April 20, 2009
7//===========================================================================
8//                          methode forward
9forward (YREAL x1,YREAL x2,YREAL x3,YREAL x4)
10{ /*    1       from    sum_spgu_dynspg_flt     1  i    j         t
11        2       from    sum_spgu_dynspg_flt     1  i-1  j         t
12        3       from    sum_spgv_dynspg_flt     1  i    j         t
13        4       from    sum_spgv_dynspg_flt     1  i    j-1       t*/
14
15  /* YS1  */
16  /*     A 1.366089013329131e-14
17         R 1.823062417817374e-07*/
18  double zgcb=0.;
19
20  if(Yt==TU){
21    YS1=0.;
22  }
23  else{
24    if(Yi==0 || Yi==NX-1 || Yj==0 || Yj==NY-1  ){
25      YS1=0.;
26    }
27    else{
28      zgcb =  x1 - x2 + x3 - x4;
29      if(Yt==TU+1 && neuler==0)
30        YS1  = gcdprc(Yi,Yj,0) * zgcb;
31      else
32        YS1  = gcdprc(Yi,Yj,1) * zgcb;
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  double zgcb=0.;
45 
46  if(Yt!=TU){
47 
48    if(Yi==0 || Yi==NX-1 || Yj==0 || Yj==NY-1  ){
49      YJ1I1=0.;     YJ1I2=0.;     YJ1I3=0.; YJ1I4=0.; 
50    }
51    else{
52      zgcb =  x1 - x2 + x3 - x4;
53      if(Yt==TU+1 && neuler==0){
54        YJ1I1 = gcdprc(Yi,Yj,0);
55        YJ1I2 = -gcdprc(Yi,Yj,0);
56        YJ1I3 = gcdprc(Yi,Yj,0);
57        YJ1I4 = -gcdprc(Yi,Yj,0);
58      }
59      else{
60        YJ1I1 =  gcdprc(Yi,Yj,1);
61        YJ1I2 = -gcdprc(Yi,Yj,1);
62        YJ1I3 =  gcdprc(Yi,Yj,1);
63        YJ1I4 = -gcdprc(Yi,Yj,1);
64      }
65    }
66  }
67  // if(Yt==6 && Yi==28 && Yj==3)  xtest("gcb_dynspg_fltYJ1I1",YJ1I1,Yi,Yj,Yk,Yt);    //
68  //if(Yt==6 && Yi==28 && Yj==3)  xtest("gcb_dynspg_fltYG1",YG1,Yi,Yj,Yk,Yt);    //
69  //if(Yt==6 && Yi==28 && Yj==3)  xtest("gcb_dynspg_fltYJ1I2",YJ1I2,Yi,Yj,Yk,Yt);    //
70  //if(Yt==6 && Yi==28 && Yj==3)  xtest("gcb_dynspg_fltYG1",YG1,Yi,Yj,Yk,Yt);    //
71}
72
73  //===========================================================================
74//*************************  FIN DU MODULE gcb_dynspg_flt   *************************
75
Note: See TracBrowser for help on using the repository browser.