[cig-commits] commit: Fix bugs with dRc_dp and dRm_dv

Mercurial hg at geodynamics.org
Fri Apr 29 20:49:24 PDT 2011


changeset:   221:8c394ea45a5c
user:        Walter Landry <wlandry at caltech.edu>
date:        Fri Apr 29 20:37:34 2011 -0700
files:       src/StokesFACOps/smooth_Tackley_3D.C src/StokesFACOps/smooth_V_3D.C src/dRc_dp.h src/dRm_dv.h
description:
Fix bugs with dRc_dp and dRm_dv


diff -r 825969539ed5 -r 8c394ea45a5c src/StokesFACOps/smooth_Tackley_3D.C
--- a/src/StokesFACOps/smooth_Tackley_3D.C	Fri Apr 29 13:44:28 2011 -0700
+++ b/src/StokesFACOps/smooth_Tackley_3D.C	Fri Apr 29 20:37:34 2011 -0700
@@ -234,8 +234,8 @@ void SAMRAI::solv::StokesFACOps::smooth_
                                && v(x+pp[ix])==boundary_value)))
                         v(x)+=(dp(center) - dp(center-pp[ix]))
                           /(Dx[ix]*dRm_dv_3D(cell_viscosity,edge_viscosity,center,
-                                             center-pp[ix],edge_y+pp[ix],edge_y,
-                                             edge_z+pp[ix],edge_z,
+                                             center-pp[ix],edge_y+pp[iz],edge_y,
+                                             edge_z+pp[iy],edge_z,
                                              Dx[ix],Dx[iy],Dx[iz]));
                     }
                 }
diff -r 825969539ed5 -r 8c394ea45a5c src/StokesFACOps/smooth_V_3D.C
--- a/src/StokesFACOps/smooth_V_3D.C	Fri Apr 29 13:44:28 2011 -0700
+++ b/src/StokesFACOps/smooth_V_3D.C	Fri Apr 29 20:37:34 2011 -0700
@@ -52,7 +52,7 @@ void SAMRAI::solv::StokesFACOps::smooth_
         }
 
       double C_vx=dRm_dv_3D(cell_viscosity,edge_viscosity,center,center-pp[ix],
-                            edge_y+pp[iy],edge_y,edge_z+pp[iz],edge_z,
+                            edge_y+pp[iz],edge_y,edge_z+pp[iy],edge_z,
                             Dx[ix],Dx[iy],Dx[iz]);
 
       double delta_Rx=v_rhs(x)
diff -r 825969539ed5 -r 8c394ea45a5c src/dRc_dp.h
--- a/src/dRc_dp.h	Fri Apr 29 13:44:28 2011 -0700
+++ b/src/dRc_dp.h	Fri Apr 29 20:37:34 2011 -0700
@@ -41,7 +41,7 @@ inline double dRc_dp_2D(const SAMRAI::hi
                                             center,center-ip,up_e,center_e,
                                             dx,dy);
 
-  if(!(center[0]==pbox.upper(0)+1 && v(x+ip)==boundary_value))
+  if(!(center[0]==pbox.upper(0) && v(x+ip*2)==boundary_value))
     result+=dRc_dvx_p * dRm_dp_xp/dRm_dv_2D(cell_viscosity,edge_viscosity,
                                             center+ip,center,up_e+ip,
                                             center_e+ip,dx,dy);
@@ -50,7 +50,7 @@ inline double dRc_dp_2D(const SAMRAI::hi
                                             center,center-jp,right_e,center_e,
                                             dy,dx);
 
-  if(!(center[1]==pbox.upper(1)+1 && v(y+jp)==boundary_value))
+  if(!(center[1]==pbox.upper(1) && v(y+jp*2)==boundary_value))
     result+=dRc_dvy_p * dRm_dp_yp/dRm_dv_2D(cell_viscosity,edge_viscosity,
                                             center+jp,center,right_e+jp,
                                             center_e+jp,dy,dx);
@@ -74,24 +74,22 @@ inline double dRc_dp_3D(const SAMRAI::hi
       const SAMRAI::pdat::SideIndex x(center,ix,SAMRAI::pdat::SideIndex::Lower);
       const SAMRAI::pdat::EdgeIndex
         center_y(center,iy,SAMRAI::pdat::EdgeIndex::LowerLeft),
-        up_y(center_y+pp[iy]),
+        front_y(center_y+pp[iz]),
         center_z(center,iz,SAMRAI::pdat::EdgeIndex::LowerLeft),
-        front_z(center_z+pp[iz]);
+        up_z(center_z+pp[iy]);
 
       if(!(center[ix]==pbox.lower(ix) && v(x-pp[ix])==boundary_value))
+          result+=-1.0/(dRm_dv_3D(cell_viscosity,edge_viscosity,
+                                  center,center-pp[ix],front_y,center_y,
+                                  up_z,center_z,Dx[ix],Dx[iy],Dx[iz])
+                        * Dx[ix]*Dx[ix]);
+
+      if(!(center[ix]==pbox.upper(ix) && v(x+pp[ix]*2)==boundary_value))
         result+=-1.0/(dRm_dv_3D(cell_viscosity,edge_viscosity,
-                                center+pp[ix],center,up_y+pp[ix],center_y+pp[ix],
-                                front_z+pp[ix],center_z+pp[ix],
+                                center+pp[ix],center,front_y+pp[ix],center_y+pp[ix],
+                                up_z+pp[ix],center_z+pp[ix],
                                 Dx[ix],Dx[iy],Dx[iz])
                       * Dx[ix]*Dx[ix]);
-                                            
-
-      if(!(center[ix]==pbox.upper(ix)+1 && v(x+pp[ix])==boundary_value))
-        result+=-1.0/(dRm_dv_3D(cell_viscosity,edge_viscosity,
-                                center,center-pp[ix],up_y,center_y,
-                                front_z,center_z,Dx[ix],Dx[iy],Dx[iz])
-                      * Dx[ix]*Dx[ix]);
     }
-  return result;
 }
 #endif
diff -r 825969539ed5 -r 8c394ea45a5c src/dRm_dv.h
--- a/src/dRm_dv.h	Fri Apr 29 13:44:28 2011 -0700
+++ b/src/dRm_dv.h	Fri Apr 29 20:37:34 2011 -0700
@@ -26,16 +26,16 @@ inline double dRm_dv_3D(SAMRAI::pdat::Ce
                         SAMRAI::pdat::EdgeData<double> &edge_viscosity,
                         const SAMRAI::pdat::CellIndex &center,
                         const SAMRAI::pdat::CellIndex &left,
-                        const SAMRAI::pdat::EdgeIndex &up_y,
+                        const SAMRAI::pdat::EdgeIndex &front_y,
                         const SAMRAI::pdat::EdgeIndex &center_y,
-                        const SAMRAI::pdat::EdgeIndex &front_z,
+                        const SAMRAI::pdat::EdgeIndex &up_z,
                         const SAMRAI::pdat::EdgeIndex &center_z,
                         const double &dx,
                         const double &dy,
                         const double &dz)
 {
-  return dRm_dv_2D(cell_viscosity,edge_viscosity,center,left,up_y,center_y,dx,dy)
-    - (edge_viscosity(front_z) + edge_viscosity(center_z))/(dz*dz);
+  return dRm_dv_2D(cell_viscosity,edge_viscosity,center,left,front_y,center_y,dx,dz)
+    - (edge_viscosity(up_z) + edge_viscosity(center_z))/(dy*dy);
 }
 
 



More information about the CIG-COMMITS mailing list