[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