[cig-commits] r7973 - mc/3D/CitcomS/trunk/lib

tan2 at geodynamics.org tan2 at geodynamics.org
Fri Sep 14 16:39:59 PDT 2007


Author: tan2
Date: 2007-09-14 16:39:59 -0700 (Fri, 14 Sep 2007)
New Revision: 7973

Modified:
   mc/3D/CitcomS/trunk/lib/Advection_diffusion.c
   mc/3D/CitcomS/trunk/lib/Phase_change.c
Log:
Rearranged computation of latent heat and the test condition of phase change

Modified: mc/3D/CitcomS/trunk/lib/Advection_diffusion.c
===================================================================
--- mc/3D/CitcomS/trunk/lib/Advection_diffusion.c	2007-09-14 23:11:46 UTC (rev 7972)
+++ mc/3D/CitcomS/trunk/lib/Advection_diffusion.c	2007-09-14 23:39:59 UTC (rev 7973)
@@ -827,26 +827,24 @@
                            float **B, float Ra, float clapeyron,
                            float depth, float transT, float width)
 {
-    double temp1, temp2, temp3;
+    double temp, temp1, temp2, temp3;
     int e, i, j;
     const int ends = enodes[E->mesh.nsd];
 
-    temp1 = 2.0 * width * clapeyron * Ra / E->control.Atemp / ends;
+    temp1 = 2.0 * width * clapeyron * Ra * E->control.disptn_number / E->control.Atemp / ends;
 
     for(e=1; e<=E->lmesh.nel; e++) {
         temp2 = 0;
         temp3 = 0;
         for(i=1; i<=ends; i++) {
             j = E->ien[m][e].node[i];
-            temp2 += (1.0 - B[m][j]) * B[m][j]
-                * E->sphere.cap[m].V[3][j] * (E->T[m][j] + E->control.surface_temp)
-                * E->control.disptn_number;
-            temp3 += clapeyron * (1.0 - B[m][j])
-                * B[m][j] * (E->T[m][j] + E->control.surface_temp)
-                * E->control.disptn_number;
+            temp = (1.0 - B[m][j]) * B[m][j]
+                * (E->T[m][j] + E->control.surface_temp);
+            temp2 += temp * E->sphere.cap[m].V[3][j];
+            temp3 += temp;
         }
         heating_adi[e] += temp2 * temp1;
-        heating_latent[e] += temp3 * temp1;
+        heating_latent[e] += clapeyron * temp3 * temp1;
     }
     return;
 }

Modified: mc/3D/CitcomS/trunk/lib/Phase_change.c
===================================================================
--- mc/3D/CitcomS/trunk/lib/Phase_change.c	2007-09-14 23:11:46 UTC (rev 7972)
+++ mc/3D/CitcomS/trunk/lib/Phase_change.c	2007-09-14 23:39:59 UTC (rev 7973)
@@ -101,18 +101,17 @@
 
 void phase_change_apply_410(struct All_variables *E, double **buoy)
 {
-  if (fabs(E->control.Ra_410) > 1e-10) {
+  if (E->control.Ra_410 != 0.0)
     phase_change_apply(E, buoy, E->Fas410, E->Fas410_b, E->control.Ra_410,
 		       E->control.clapeyron410, E->viscosity.z410,
 		       E->control.transT410, E->control.width410);
-				      }
   return;
 }
 
 
 void phase_change_apply_670(struct All_variables *E, double **buoy)
 {
-  if (fabs(E->control.Ra_670) > 1e-10)
+  if (E->control.Ra_670 != 0.0)
     phase_change_apply(E, buoy, E->Fas670, E->Fas670_b, E->control.Ra_670,
 		       E->control.clapeyron670, E->viscosity.zlm,
 		       E->control.transT670, E->control.width670);
@@ -122,7 +121,7 @@
 
 void phase_change_apply_cmb(struct All_variables *E, double **buoy)
 {
-  if (fabs(E->control.Ra_cmb) > 1e-10)
+  if (E->control.Ra_cmb != 0.0)
     phase_change_apply(E, buoy, E->Fascmb, E->Fascmb_b, E->control.Ra_cmb,
 		       E->control.clapeyroncmb, E->viscosity.zcmb,
 		       E->control.transTcmb, E->control.widthcmb);



More information about the cig-commits mailing list