[cig-commits] commit: Increase the search area by 1 to get all of the possible contributions to the stencil.
Mercurial
hg at geodynamics.org
Fri Mar 30 12:52:21 PDT 2012
changeset: 144:b7879e4e3cd7
tag: tip
user: Walter Landry <wlandry at caltech.edu>
date: Fri Mar 30 12:52:10 2012 -0700
files: compute_coefficients/compute_coefficients.cxx
description:
Increase the search area by 1 to get all of the possible contributions to the stencil.
diff -r a12cb8d8c4a8 -r b7879e4e3cd7 compute_coefficients/compute_coefficients.cxx
--- a/compute_coefficients/compute_coefficients.cxx Fri Mar 30 12:28:57 2012 -0700
+++ b/compute_coefficients/compute_coefficients.cxx Fri Mar 30 12:52:10 2012 -0700
@@ -73,12 +73,13 @@ void compute_coefficients(const double l
for(auto &J: I)
J=0;
+ const int max_rp1(max_r+1);
FTensor::Tensor2<int,2,2> max_ij(Nx,Ny-1,Nx-1,Ny);
for(int i=1;i<Nx;++i)
for(int j=0;j<Ny;++j)
{
- for(int di=std::max(i-max_r,0);di<=std::min(i+max_r,max_ij(0,0));++di)
- for(int dj=std::max(j-max_r,0);dj<=std::min(j+max_r,max_ij(0,1));++dj)
+ for(int di=std::max(i-max_rp1,0);di<=std::min(i+max_rp1,max_ij(0,0));++di)
+ for(int dj=std::max(j-max_rp1,0);dj<=std::min(j+max_rp1,max_ij(0,1));++dj)
{
zx[di][dj]=1;
double R=simplified_Rx(i,j,zx,zy,log_etax,log_etay,fx,fy,
@@ -90,8 +91,8 @@ void compute_coefficients(const double l
dRx[i][j]=R;
zx[di][dj]=0;
}
- for(int di=std::max(i-max_r,0);di<=std::min(i+max_r,max_ij(1,0));++di)
- for(int dj=std::max(j-max_r,0);dj<=std::min(j+max_r,max_ij(1,1));++dj)
+ for(int di=std::max(i-max_rp1,0);di<=std::min(i+max_rp1,max_ij(1,0));++di)
+ for(int dj=std::max(j-max_rp1,0);dj<=std::min(j+max_rp1,max_ij(1,1));++dj)
{
zy[di][dj]=1;
double R=simplified_Rx(i,j,zx,zy,log_etax,log_etay,fx,fy,
@@ -107,8 +108,8 @@ void compute_coefficients(const double l
for(int i=0;i<Nx;++i)
for(int j=1;j<Ny;++j)
{
- for(int di=std::max(i-max_r,0);di<=std::min(i+max_r,max_ij(0,0));++di)
- for(int dj=std::max(j-max_r,0);dj<=std::min(j+max_r,max_ij(0,1));++dj)
+ for(int di=std::max(i-max_rp1,0);di<=std::min(i+max_rp1,max_ij(0,0));++di)
+ for(int dj=std::max(j-max_rp1,0);dj<=std::min(j+max_rp1,max_ij(0,1));++dj)
{
zx[di][dj]=1;
double R=simplified_Ry(i,j,zx,zy,log_etax,log_etay,fx,fy,
@@ -117,8 +118,8 @@ void compute_coefficients(const double l
Cfy[0][i][j].push_back(Coefficient(di,dj,R));
zx[di][dj]=0;
}
- for(int di=std::max(i-max_r,0);di<=std::min(i+max_r,max_ij(1,0));++di)
- for(int dj=std::max(j-max_r,0);dj<=std::min(j+max_r,max_ij(1,1));++dj)
+ for(int di=std::max(i-max_rp1,0);di<=std::min(i+max_rp1,max_ij(1,0));++di)
+ for(int dj=std::max(j-max_rp1,0);dj<=std::min(j+max_rp1,max_ij(1,1));++dj)
{
zy[di][dj]=1;
double R=simplified_Ry(i,j,zx,zy,log_etax,log_etay,fx,fy,
@@ -137,8 +138,8 @@ void compute_coefficients(const double l
for(int i=0;i<Nx;++i)
for(int j=0;j<Ny;++j)
{
- for(int di=std::max(i-max_r,0);di<=std::min(i+max_r,max_ij(0,0));++di)
- for(int dj=std::max(j-max_r,0);dj<=std::min(j+max_r,max_ij(0,1));++dj)
+ for(int di=std::max(i-max_rp1,0);di<=std::min(i+max_rp1,max_ij(0,0));++di)
+ for(int dj=std::max(j-max_rp1,0);dj<=std::min(j+max_rp1,max_ij(0,1));++dj)
{
zx[di][dj]=1;
double R=simplified_Rp(i,j,zx,zy,log_etax,log_etay,fx,fy,
@@ -147,8 +148,8 @@ void compute_coefficients(const double l
Cfp[0][i][j].push_back(Coefficient(di,dj,R));
zx[di][dj]=0;
}
- for(int di=std::max(i-max_r,0);di<=std::min(i+max_r,max_ij(1,0));++di)
- for(int dj=std::max(j-max_r,0);dj<=std::min(j+max_r,max_ij(1,1));++dj)
+ for(int di=std::max(i-max_rp1,0);di<=std::min(i+max_rp1,max_ij(1,0));++di)
+ for(int dj=std::max(j-max_rp1,0);dj<=std::min(j+max_rp1,max_ij(1,1));++dj)
{
zy[di][dj]=1;
double R=simplified_Rp(i,j,zx,zy,log_etax,log_etay,fx,fy,
More information about the CIG-COMMITS
mailing list