[cig-commits] commit: Make the boundaries interpolate correctly and remove some extraneous stuff.

Mercurial hg at geodynamics.org
Fri Feb 25 14:15:07 PST 2011


changeset:   54:fdf56f6e1020
user:        Walter Landry <wlandry at caltech.edu>
date:        Fri Jan 14 10:53:15 2011 -0800
files:       V_Coarsen.C
description:
Make the boundaries interpolate correctly and remove some extraneous stuff.


diff -r fdc7a6ec07dc -r fdf56f6e1020 V_Coarsen.C
--- a/V_Coarsen.C	Thu Jan 13 12:54:39 2011 -0800
+++ b/V_Coarsen.C	Fri Jan 14 10:53:15 2011 -0800
@@ -49,13 +49,8 @@ void SAMRAI::geom::V_Coarsen::coarsen(hi
   TBOX_ASSERT(directions ==
               hier::IntVector::min(directions, v_fine->getDirectionVector()));
 
-  const tbox::Pointer<CartesianPatchGeometry> fgeom =
-    fine.getPatchGeometry();
   const tbox::Pointer<CartesianPatchGeometry> cgeom =
     coarse.getPatchGeometry();
-
-  const hier::Index ifirstc = coarse_box.lower();
-  const hier::Index ilastc = coarse_box.upper();
 
   /* Numbering of v nodes is
 
@@ -105,12 +100,12 @@ void SAMRAI::geom::V_Coarsen::coarsen(hi
              if(i==coarse_box.lower(0)
                 && cgeom->getTouchesRegularBoundary(0,0))
                {
-                 (*v)(coarse)=0;
+                 (*v)(coarse)=((*v_fine)(center) + (*v_fine)(center+jp))/2;
                }
              else if(i==coarse_box.upper(0)+1
                      && cgeom->getTouchesRegularBoundary(0,1))
                {
-                 (*v)(coarse)=0;
+                 (*v)(coarse)=((*v_fine)(center) + (*v_fine)(center+jp))/2;
                }
              else
                {
@@ -127,12 +122,12 @@ void SAMRAI::geom::V_Coarsen::coarsen(hi
              if(j==coarse_box.lower(1)
                 && cgeom->getTouchesRegularBoundary(1,0))
                {
-                 (*v)(coarse)=0;
+                   (*v)(coarse)=((*v_fine)(center) + (*v_fine)(center+ip))/2;
                }
              else if(j==coarse_box.upper(1)+1
                      && cgeom->getTouchesRegularBoundary(1,1))
                {
-                 (*v)(coarse)=0;
+                 (*v)(coarse)=((*v_fine)(center) + (*v_fine)(center+ip))/2;
                }
              else
                {



More information about the CIG-COMMITS mailing list