[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