[cig-commits] r7191 - in long/3D/Gale/trunk: . src/Underworld/plugins/Output/DumpSwarm src/Underworld/plugins/Output/VTKOutput

walter at geodynamics.org walter at geodynamics.org
Wed Jun 13 01:45:46 PDT 2007


Author: walter
Date: 2007-06-13 01:45:46 -0700 (Wed, 13 Jun 2007)
New Revision: 7191

Modified:
   long/3D/Gale/trunk/
   long/3D/Gale/trunk/src/Underworld/plugins/Output/DumpSwarm/DumpSwarm.c
   long/3D/Gale/trunk/src/Underworld/plugins/Output/VTKOutput/VTKOutput.c
Log:
 r1820 at earth:  boo | 2007-06-13 01:41:58 -0700
 Make DumpSwarm and VTKOutput output the thermal diffusivity



Property changes on: long/3D/Gale/trunk
___________________________________________________________________
Name: svk:merge
   - 3a629746-de10-0410-b17b-fd6ecaaa963e:/cig:1819
   + 3a629746-de10-0410-b17b-fd6ecaaa963e:/cig:1820

Modified: long/3D/Gale/trunk/src/Underworld/plugins/Output/DumpSwarm/DumpSwarm.c
===================================================================
--- long/3D/Gale/trunk/src/Underworld/plugins/Output/DumpSwarm/DumpSwarm.c	2007-06-13 08:45:36 UTC (rev 7190)
+++ long/3D/Gale/trunk/src/Underworld/plugins/Output/DumpSwarm/DumpSwarm.c	2007-06-13 08:45:46 UTC (rev 7191)
@@ -117,6 +117,7 @@
         double *coord;
         char *format;
         int stepping;
+        double defaultDiffusivity;
         char separator[2];
         separator[0]='\0';
 
@@ -126,6 +127,8 @@
 	
         format=Dictionary_GetString_WithDefault(dictionary,"outputFormat","txt");
         stepping=Dictionary_GetInt_WithDefault(dictionary,"particleStepping",1);
+        defaultDiffusivity=Dictionary_GetDouble_WithDefault
+          (dictionary,"defaultDiffusivity",1.0);
 
         if(!strcmp(format,"csv"))
           strcpy(separator,",");
@@ -142,7 +145,7 @@
         /* Loop over all of the particles */
         for ( lParticle_I = 0 ; lParticle_I < num_particles ;
               ++lParticle_I ){
-          double yielding, viscosity, density, alpha, stress[6];
+          double yielding, viscosity, density, alpha, stress[6], diffusivity;
           int rheology_hash;
           
           IntegrationPoint* integrationparticle = (IntegrationPoint*)Swarm_ParticleAt( picswarm, lParticle_I );
@@ -162,6 +165,8 @@
                                                     "density", 0.0 );
           alpha=Dictionary_GetDouble_WithDefault( material->dictionary,
                                                   "alpha", 0.0 );
+          diffusivity=Dictionary_GetDouble_WithDefault
+            ( material->dictionary, "diffusivity", defaultDiffusivity );
           stress[0]=stress[1]=stress[2]=stress[3]=stress[4]=stress[5]=0;
 
           /* Loop over all of the rheologies for a particle. */
@@ -220,15 +225,17 @@
           }
           /* Then print out the data */
           if (context->dim == 2) {
-            fprintf(fp,"%lf%s %lf%s %lf%s %lf%s %lf%s %lf%s %lf\n",
+            fprintf(fp,"%lf%s %lf%s %lf%s %lf%s %lf%s %lf%s %lf%s %lf\n",
                     yielding,separator,viscosity,separator,
                     density,separator,alpha,separator,
+                    diffusivity,separator,
                     stress[0],separator,stress[1],separator,
                     stress[2]);
           } else {
-            fprintf(fp,"%lf%s %lf%s %lf%s %lf%s %lf%s %lf%s %lf%s %lf%s %lf%s %lf\n",
+            fprintf(fp,"%lf%s %lf%s %lf%s %lf%s %lf%s %lf%s %lf%s %lf%s %lf%s %lf%s %lf\n",
                     yielding,separator,viscosity,separator,
                     density,separator,alpha,separator,
+                    diffusivity,separator,
                     stress[0],separator,stress[1],separator,
                     stress[2],separator,stress[3],separator,
                     stress[4],separator,stress[5]);

Modified: long/3D/Gale/trunk/src/Underworld/plugins/Output/VTKOutput/VTKOutput.c
===================================================================
--- long/3D/Gale/trunk/src/Underworld/plugins/Output/VTKOutput/VTKOutput.c	2007-06-13 08:45:36 UTC (rev 7190)
+++ long/3D/Gale/trunk/src/Underworld/plugins/Output/VTKOutput/VTKOutput.c	2007-06-13 08:45:46 UTC (rev 7191)
@@ -79,6 +79,7 @@
 }
 
 void VTKOutput_particles(IntegrationPointsSwarm*  picswarm, 
+                         double defaultDiffusivity,
                          int stepping,
                          char *outputPath, int timeStep, int dim, int myRank);
 void VTKOutput_fields(void *context, int myRank);
@@ -103,6 +104,8 @@
         /* Write the particles and then all of the fields. */
 
         VTKOutput_particles(context->picIntegrationPoints,
+                            Dictionary_GetDouble_WithDefault
+                            (dictionary,"defaultDiffusivity",1.0),
                             Dictionary_GetInt_WithDefault
                             (dictionary,"particleStepping",1),
                             context->outputPath, context->timeStep,
@@ -111,6 +114,7 @@
 }
 
 void VTKOutput_particles(IntegrationPointsSwarm*  picswarm,
+                         double defaultDiffusivity,
                          int stepping, char *outputPath,
                          int timeStep, int dim, int myRank) {
         double *coord;
@@ -139,14 +143,14 @@
         fprintf(fp,"# vtk DataFile Version 2.0\nGale\nASCII\nDATASET UNSTRUCTURED_GRID\nPOINTS %d float\n",
                 (num_particles-1)/stepping+1);
 
-        /* We need three iterations, because the values are written
+        /* We need many iterations, because the values are written
            separately from the coordinates. */
-        for(iteration=0; iteration<6; ++iteration)
+        for(iteration=0; iteration<7; ++iteration)
           {
             /* Loop over all of the particles */
             for ( lParticle_I = 0 ; lParticle_I < num_particles ;
                   ++lParticle_I ){
-              double yielding, viscosity, density, alpha;
+              double yielding, viscosity, density, alpha, diffusivity;
               SymmetricTensor stress;
               BuoyancyForceTerm_MaterialExt*   materialExt;
               Material *extension_info;
@@ -160,6 +164,8 @@
                                                         "density", 0.0 );
               alpha=Dictionary_GetDouble_WithDefault( material->dictionary,
                                                       "alpha", 0.0 );
+              diffusivity=Dictionary_GetDouble_WithDefault
+                ( material->dictionary, "diffusivity", defaultDiffusivity );
               rheology_register=(Rheology_Register*)material->rheology_Register;
               
               rheologyCount = Rheology_Register_GetCount( rheology_register ); 
@@ -249,6 +255,9 @@
                     case 5:
                       fprintf(fp,"%lf ",alpha);
                       break;
+                    case 6:
+                      fprintf(fp,"%lf ",diffusivity);
+                      break;
                     }
                 }
             }
@@ -271,6 +280,9 @@
                 fprintf(fp,"\nSCALARS Alpha float 1\nLOOKUP_TABLE default\n");
                 break;
               case 5:
+                fprintf(fp,"\nSCALARS Thermal_Diffusivity float 1\nLOOKUP_TABLE default\n");
+                break;
+              case 6:
                 fprintf(fp,"\n");
               }
           }



More information about the cig-commits mailing list