[cig-commits] r5944 - mc/3D/CitcomS/branches/compressible/lib

tan2 at geodynamics.org tan2 at geodynamics.org
Wed Jan 31 12:58:24 PST 2007


Author: tan2
Date: 2007-01-31 12:58:23 -0800 (Wed, 31 Jan 2007)
New Revision: 5944

Modified:
   mc/3D/CitcomS/branches/compressible/lib/Advection_diffusion.c
Log:
Fixed two bugs in heating

Modified: mc/3D/CitcomS/branches/compressible/lib/Advection_diffusion.c
===================================================================
--- mc/3D/CitcomS/branches/compressible/lib/Advection_diffusion.c	2007-01-31 20:50:30 UTC (rev 5943)
+++ mc/3D/CitcomS/branches/compressible/lib/Advection_diffusion.c	2007-01-31 20:58:23 UTC (rev 5944)
@@ -748,11 +748,13 @@
 {
     int e, i;
     double visc, temp;
+    float *strain_sqr;
     const int vpts = vpoints[E->mesh.nsd];
 
+    strain_sqr = (float*) malloc((E->lmesh.nel+1)*sizeof(float));
     temp = E->control.disptn_number / E->control.Atemp;
 
-    strain_rate_2_inv(E, m, heating, 0);
+    strain_rate_2_inv(E, m, strain_sqr, 0);
 
     *total_heating = 0;
 
@@ -762,9 +764,11 @@
             visc += E->EVi[m][(e-1)*vpts + i];
         visc = visc / vpts;
 
-        heating[e] *= temp * visc;
+        heating[e] = temp * visc * strain_sqr[e];
         *total_heating += heating[e] * E->eco[m][e].area;
     }
+
+    free(strain_sqr);
     return;
 }
 
@@ -784,7 +788,7 @@
         temp = 0.0;
         for(i=1; i<=ends; i++) {
             j = E->ien[m][e].node[i];
-            temp += E->V[m][3][j] * (E->T[m][j] + E->data.surf_temp);
+            temp += E->sphere.cap[m].V[3][j] * (E->T[m][j] + E->data.surf_temp);
         }
         temp = temp * E->control.disptn_number / ends;
 
@@ -813,7 +817,7 @@
         for(i=1; i<=ends; i++) {
             j = E->ien[m][e].node[i];
             temp2 += temp1 * (1.0 - B[m][j]) * B[m][j]
-                * E->V[m][3][j] * (E->T[m][j] + E->data.surf_temp)
+                * E->sphere.cap[m].V[3][j] * (E->T[m][j] + E->data.surf_temp)
                 * E->control.disptn_number;
             temp3 += temp1 * clapeyron * (1.0 - B[m][j])
                 * B[m][j] * (E->T[m][j] + E->data.surf_temp)



More information about the cig-commits mailing list