[cig-commits] commit: Set up distances properly for the inclusion.

Mercurial hg at geodynamics.org
Tue May 8 05:50:56 PDT 2012


changeset:   158:ea067e692ffb
user:        Walter Landry <wlandry at caltech.edu>
date:        Mon May 07 08:50:48 2012 -0700
files:       initial.cxx
description:
Set up distances properly for the inclusion.


diff -r fd1ad612f16f -r ea067e692ffb initial.cxx
--- a/initial.cxx	Mon May 07 08:50:17 2012 -0700
+++ b/initial.cxx	Mon May 07 08:50:48 2012 -0700
@@ -55,9 +55,9 @@ void initial(const Model &model, double 
   gsl_permutation_free(perm);
 
 
-  const double theta(-0.5);
+  // const double theta(0.5);
   // const double theta(pi);
-  // const double theta(0);
+  const double theta(0);
   FTensor::Tensor2<double,2,2>
     rot(std::cos(theta),std::sin(theta),-std::sin(theta),std::cos(theta));
   FTensor::Tensor1<double,2> offset(0.5,0.5);
@@ -70,23 +70,20 @@ void initial(const Model &model, double 
         {
           FTensor::Tensor1<double,2> coord(i*h,j*h), xy;
           xy(a)=rot(a,b)*(coord(b)-offset(b)) + offset(a);
-          // double x(xy(0)), y(xy(1)), r2(x*x+y*y);
-          double x(xy(0));
+          double x(xy(0)), y(xy(1)), r2(x*x+y*y);
 
-            switch(model)
-              {
-              case Model::inclusion:
-                abort();
-                break;
-              case Model::solCx:
-                {
-                  dist_edge[i][j]=x-middle;
-                }
-                break;
-              default:
-                abort();
-                break;
-              }
+          switch(model)
+            {
+            case Model::inclusion:
+              dist_edge[i][j]=std::sqrt(r2)-sqrt(r2_inclusion);
+              break;
+            case Model::solCx:
+              dist_edge[i][j]=x-middle;
+              break;
+            default:
+              abort();
+              break;
+            }
         }
 
         if(i<Nx && j<Ny)
@@ -101,7 +98,13 @@ void initial(const Model &model, double 
                 if(r2>=r2_inclusion)
                   {
                     p[i][j]=-2*A*(r2_inclusion/r2)*2*epsilon*(2*x*x/r2 -1);
+                    eta_cell[i][j]=min_eta;
                   }
+                else
+                  {
+                    eta_cell[i][j]=max_eta;
+                  }
+                dist_cell[i][j]=std::sqrt(r2)-std::sqrt(r2_inclusion);
                 break;
               case Model::solCx:
                 {
@@ -226,6 +229,7 @@ void initial(const Model &model, double 
                   }
                 v=(phi - z*conj(dphi) - conj(psi))/2.0;
                 zx[i][j]=v.real();
+                distx[i][j]=std::sqrt(r2)-std::sqrt(r2_inclusion);
                 break;
               }
           }
@@ -319,6 +323,8 @@ void initial(const Model &model, double 
                   }
                 v=(phi - z*conj(dphi) - conj(psi))/2.0;
                 zy[i][j]=v.imag();
+                
+                disty[i][j]=std::sqrt(r2)-std::sqrt(r2_inclusion);
                 break;
               }
           }



More information about the CIG-COMMITS mailing list