[cig-commits] commit: Fix sign error in compute_Cp

Mercurial hg at geodynamics.org
Wed Mar 28 05:51:00 PDT 2012


changeset:   127:cd3b7d3189e4
user:        Walter Landry <wlandry at caltech.edu>
date:        Wed Mar 28 05:15:13 2012 -0700
files:       compute_Cp.cxx
description:
Fix sign error in compute_Cp


diff -r 42d38edd5d9c -r cd3b7d3189e4 compute_Cp.cxx
--- a/compute_Cp.cxx	Wed Mar 28 04:49:04 2012 -0700
+++ b/compute_Cp.cxx	Wed Mar 28 05:15:13 2012 -0700
@@ -46,14 +46,15 @@ void compute_Cp(const double zx[Nx+1][Ny
         FTensor::Tensor1<double,2> v, dv, ddv;
         FTensor::Tensor1<int,2> dir(0,0);
         FTensor::Tensor2<double,2,2> nt_to_xy;
-        dir(dd)=1;
+        const int sgn(sign(pos(dd)-interface_pos[dd](dd)));
+        dir(dd)=sgn;
         compute_v_on_interface(zx,zy,log_etax,log_etay,distx,disty,
                                interface_pos[dd],dd,v,dv,ddv,nt_to_xy);
 
         FTensor::Tensor1<double,2> z_jump;
         FTensor::Tensor2<double,2,2> dz_jump;
 
-        double eta_jump(sign(pos(dd)-interface_pos[dd](dd)));
+        double eta_jump(sgn);
         switch(dd)
           {
           case 0:
@@ -68,12 +69,11 @@ void compute_Cp(const double zx[Nx+1][Ny
           }
         compute_jumps(eta_jump,v,dv,ddv,nt_to_xy,z_jump,dz_jump);
 
-        double dx=std::fabs(pos(dd)-interface_pos[dd](dd)
-                            - (h/2)*sign(pos(dd)-interface_pos[dd](dd)));
+        double dx=std::fabs(pos(dd)-interface_pos[dd](dd) - (h/2)*sgn);
 
         const FTensor::Index<'a',2> a;
         const FTensor::Index<'b',2> b;
 
-        Cp+=dir(a)*(z_jump(a) + dx*dz_jump(a,b)*dir(b))/h;
+        Cp-=dir(a)*(z_jump(a) - dx*dz_jump(a,b)*dir(b))/h;
       }
 }



More information about the CIG-COMMITS mailing list