[cig-commits] r14582 - in long/3D/Gale/trunk: . src/Underworld/plugins/EulerDeform

walter at geodynamics.org walter at geodynamics.org
Fri Apr 3 13:10:27 PDT 2009


Author: walter
Date: 2009-04-03 13:10:27 -0700 (Fri, 03 Apr 2009)
New Revision: 14582

Modified:
   long/3D/Gale/trunk/
   long/3D/Gale/trunk/src/Underworld/plugins/EulerDeform/EulerDeform.c
Log:
 r2650 at dante:  boo | 2009-04-03 13:10:32 -0700
 Fix a parallel 3D bug in EulerDeform



Property changes on: long/3D/Gale/trunk
___________________________________________________________________
Name: svk:merge
   - 3a629746-de10-0410-b17b-fd6ecaaa963e:/cig:2647
   + 3a629746-de10-0410-b17b-fd6ecaaa963e:/cig:2650

Modified: long/3D/Gale/trunk/src/Underworld/plugins/EulerDeform/EulerDeform.c
===================================================================
--- long/3D/Gale/trunk/src/Underworld/plugins/EulerDeform/EulerDeform.c	2009-04-03 05:42:02 UTC (rev 14581)
+++ long/3D/Gale/trunk/src/Underworld/plugins/EulerDeform/EulerDeform.c	2009-04-03 20:10:27 UTC (rev 14582)
@@ -809,46 +809,18 @@
           if(Mesh_GlobalToDomain(mesh,MT_VERTEX,n_corner,&n)
              && Mesh_GlobalToDomain(mesh,MT_VERTEX,n_interior,&n_in))
             {
-              IJK ijk_off;
-              unsigned n_temp_off, n_temp_off_in, n_off, n_off_in;
-              double *crds[4];
-              double temp, pnt[2];
-              int offset=1;
-
+              double *crds[2];
               crds[0]=mesh->verts[n];
               crds[1]=mesh->verts[n_in];
 
-              ijk_off[1]=ijk[1];
-
-              if(crds[0][2]<crds[1][2] || ijk[2]==grid->sizes[2]-1)
-                offset=-1;
-
-              ijk_off[2]=ijk[2]+offset;
-
-              ijk_off[0]=corner;
-              n_temp_off=RegularMeshUtils_Node_3DTo1D(mesh,ijk_off);
-              ijk_off[0]=inside;
-              n_temp_off_in=RegularMeshUtils_Node_3DTo1D(mesh,ijk_off);
-              if(!Mesh_GlobalToDomain(mesh,MT_VERTEX,n_temp_off,&n_off)
-                 || !Mesh_GlobalToDomain(mesh,MT_VERTEX,n_temp_off_in,&n_off_in))
+              if(!_EulerDeform_LineInterp(crds,&side_coord,0,1,&(mesh->verts[n][1]))
+                 || !_EulerDeform_LineInterp(crds,&side_coord,0,2,&(mesh->verts[n][2])))
                 {
-                  printf("Can not map the neighbor of this coordinate to the local grid.\n %d %d %d %d",
-                         ijk[0],ijk[1],ijk[2], ijk_off[2]);
+                  printf("The side is moving in the wrong direction.\n");
+                  printf("%g %g %g %g %g\n",side_coord,crds[0][0],crds[0][1],crds[1][0],crds[1][1]);
                   abort();
                 }
-              crds[2]=mesh->verts[n_off_in];
-              crds[3]=mesh->verts[n_off];
-
-              pnt[0]=side_coord;
-              pnt[2]=crds[0][2];
-              if(!_EulerDeform_QuadYInterp(crds,pnt,&temp))
-                {
-                  printf("Unable to interpolate to this point\n %g %g %d %d %d\n",
-                         pnt[0],pnt[1],ijk[0],ijk[1],ijk[2]);
-                  abort();
-                }
               mesh->verts[n][0]=side_coord;
-              mesh->verts[n][1]=temp;
             }
         }
     }



More information about the CIG-COMMITS mailing list