[cig-commits] commit: Make compute_Cp use FTensor

Mercurial hg at geodynamics.org
Sun Mar 11 03:16:55 PDT 2012


changeset:   80:85f5a13867e2
tag:         tip
user:        Walter Landry <wlandry at caltech.edu>
date:        Sun Mar 11 03:16:41 2012 -0700
files:       compute_Cp.cxx
description:
Make compute_Cp use FTensor


diff -r 168fc9952868 -r 85f5a13867e2 compute_Cp.cxx
--- a/compute_Cp.cxx	Sun Mar 11 01:47:57 2012 -0800
+++ b/compute_Cp.cxx	Sun Mar 11 03:16:41 2012 -0700
@@ -2,6 +2,7 @@
 #include "Model.hxx"
 #include <iostream>
 #include "compute_v_on_interface.hxx"
+#include "FTensor.hpp"
 
 void compute_Cp(const Model &model, const double zx[Nx+1][Ny],
                 const double zy[Nx][Ny+1],
@@ -23,12 +24,21 @@ void compute_Cp(const Model &model, cons
                                  vx,vy,dvx_y,dvy_y,
                                  dvx_yy,dvy_yy);
 
+          FTensor::Tensor1<double,2> v(vx,0), dv(0,dvy_y), dir(1,0);
+
           double dx=(x>middle) ? (middle-(x-h/2)) : (middle-(x+h/2));
-          double zx_jump=eta_jump*vx;
-          double dzx_x_jump=eta_jump*dvy_y;
 
-          double dzx_x_correction=(zx_jump + dx*dzx_x_jump)/h;
-          Cp=-dzx_x_correction;
+          FTensor::Tensor2_symmetric<double,2> ddel(0,1,0);
+          const FTensor::Index<'a',2> a;
+          const FTensor::Index<'b',2> b;
+          FTensor::Number<0> n;
+          FTensor::Number<1> t;
+
+          FTensor::Tensor2<double,2,2> dz_jump;
+          dz_jump(a,n)=-eta_jump*dv(b)*ddel(a,b);
+          dz_jump(a,t)=eta_jump*dv(a);
+
+          Cp=(-eta_jump*v(a)*dir(a) + dx*dz_jump(a,b)*dir(a)*dir(b))/h;
         }
     }
 }



More information about the CIG-COMMITS mailing list