[cig-commits] commit: Compute all components of d/dtt using a general method
Mercurial
hg at geodynamics.org
Thu Mar 15 06:53:09 PDT 2012
changeset: 95:a451764d762d
tag: tip
user: Walter Landry <wlandry at caltech.edu>
date: Thu Mar 15 06:52:55 2012 -0700
files: compute_v_on_interface/compute_dv_dtt.cxx compute_v_on_interface/compute_v_on_interface.cxx
description:
Compute all components of d/dtt using a general method
diff -r d97a502abc10 -r a451764d762d compute_v_on_interface/compute_dv_dtt.cxx
--- a/compute_v_on_interface/compute_dv_dtt.cxx Wed Mar 14 20:00:23 2012 -0700
+++ b/compute_v_on_interface/compute_dv_dtt.cxx Thu Mar 15 06:52:55 2012 -0700
@@ -100,14 +100,15 @@ void compute_derivatives(const int &pm,
}
-double compute_dv_dtt(const double zx[Nx+1][Ny],
- const double zy[Nx][Ny+1],
- const double log_etax[Nx+1][Ny],
- const double log_etay[Nx][Ny+1],
- const double distx[Nx+1][Ny],
- const double disty[Nx][Ny+1],
- const FTensor::Tensor1<double,2> &pos,
- FTensor::Tensor1<double,2> &tangent)
+FTensor::Tensor1<double,2> compute_dv_dtt(const double zx[Nx+1][Ny],
+ const double zy[Nx][Ny+1],
+ const double log_etax[Nx+1][Ny],
+ const double log_etay[Nx][Ny+1],
+ const double distx[Nx+1][Ny],
+ const double disty[Nx][Ny+1],
+ const FTensor::Tensor1<double,2> &pos,
+ FTensor::Tensor1<double,2> &norm,
+ FTensor::Tensor1<double,2> &tangent)
{
/* vx */
@@ -266,7 +267,8 @@ double compute_dv_dtt(const double zx[Nx
temp+=eta_pm[d]*eta_pm[d];
ddv(a)+=ddv_pm[d](a,b,c)*tangent(b)*tangent(c)*eta_pm[d]*eta_pm[d];
}
+ ddv(a)/=temp*h*h;
- return ddv(0)/(temp*h*h);
+ return FTensor::Tensor1<double,2>(ddv(a)*norm(a),ddv(a)*tangent(a));
}
diff -r d97a502abc10 -r a451764d762d compute_v_on_interface/compute_v_on_interface.cxx
--- a/compute_v_on_interface/compute_v_on_interface.cxx Wed Mar 14 20:00:23 2012 -0700
+++ b/compute_v_on_interface/compute_v_on_interface.cxx Thu Mar 15 06:52:55 2012 -0700
@@ -183,14 +183,15 @@ double dzy_x_jump(const double &dvx_y)
return -eta_jump*dvx_y;
}
-double compute_dv_dtt(const double zx[Nx+1][Ny],
- const double zy[Nx][Ny+1],
- const double log_etax[Nx+1][Ny],
- const double log_etay[Nx][Ny+1],
- const double distx[Nx+1][Ny],
- const double disty[Nx][Ny+1],
- const FTensor::Tensor1<double,2> &pos,
- FTensor::Tensor1<double,2> &tangent);
+FTensor::Tensor1<double,2> compute_dv_dtt(const double zx[Nx+1][Ny],
+ const double zy[Nx][Ny+1],
+ const double log_etax[Nx+1][Ny],
+ const double log_etay[Nx][Ny+1],
+ const double distx[Nx+1][Ny],
+ const double disty[Nx][Ny+1],
+ const FTensor::Tensor1<double,2> &pos,
+ FTensor::Tensor1<double,2> &norm,
+ FTensor::Tensor1<double,2> &tangent);
void compute_v_on_interface(const double zx[Nx+1][Ny],
const double zy[Nx][Ny+1],
@@ -246,8 +247,8 @@ void compute_v_on_interface(const double
double length=1/std::max(std::abs(norm(0)),std::abs(norm(1)));
- FTensor::Tensor2<double,2,2> ddv_xy;
- ddv(0)=compute_dv_dtt(zx,zy,log_etax,log_etay,distx,disty,pos,tangent);
+ ddv(a)=compute_dv_dtt(zx,zy,log_etax,log_etay,distx,disty,pos,
+ norm,tangent)(a);
// FTensor::Tensor1<double,2> pos_p, pos_pp, pos_m, pos_mm;
// pos_p(a)=pos(a)+length*norm(a);
@@ -255,16 +256,11 @@ void compute_v_on_interface(const double
// pos_m(a)=pos(a)-length*norm(a);
// pos_mm(a)=pos(a)-2*norm(a)*length;
-
- // ddv(0)=compute_dv_yy(zx,log_etax,dx_i,ix,j);
-
-
dv(1)=compute_dv_y(zy,log_etay,dzy_yx_jump(ddv(0)),dx_j,iy,j);
v(0)=compute_v(zx,log_etax,dzx_x_jump(dv(1)),dx_i,ix,j);
v(1)=0;
dv(0)=0;
- ddv(1)=0;
double eta=exp(log_etax[i][j]);
double x_i(i*h);
More information about the CIG-COMMITS
mailing list