[cig-commits] r14257 - long/3D/SNAC/trunk/Snac/libSnac/src

cstark at geodynamics.org cstark at geodynamics.org
Sun Mar 8 08:31:19 PDT 2009


Author: cstark
Date: 2009-03-08 08:31:19 -0700 (Sun, 08 Mar 2009)
New Revision: 14257

Modified:
   long/3D/SNAC/trunk/Snac/libSnac/src/Context.c
   long/3D/SNAC/trunk/Snac/libSnac/src/Context.h
Log:
Added new function _Snac_Context_AdjustDump() that updates dump stream parameters to enforce change in dump frequency - required by hillSlope plugin so that dumping can be blocked prior to elastic stabilization and set to whatever needed for the plastic deformation stage.

This function mimics _Snac_Context_InitDump() and resets variables for all the output streams except stressTensorOut and phaseIndexOut.  

A more elegant method ought to be found.




Modified: long/3D/SNAC/trunk/Snac/libSnac/src/Context.c
===================================================================
--- long/3D/SNAC/trunk/Snac/libSnac/src/Context.c	2009-03-08 15:26:00 UTC (rev 14256)
+++ long/3D/SNAC/trunk/Snac/libSnac/src/Context.c	2009-03-08 15:31:19 UTC (rev 14257)
@@ -1268,10 +1268,72 @@
 	}
 }
 
+void _Snac_Context_AdjustDump( Snac_Context* self ) {
+	Snac_Mesh* tmpMesh;
+	char tmpBuf[200];
+
+	/* Adjust the strain rate dumping stream */
+	sprintf( tmpBuf, "%s/strainRate.%u", self->outputPath, self->rank );
+	VariableDumpStream_SetVariable(
+		self->strainRateOut,
+		Variable_Register_GetByName( self->variable_Register, "strainRate" ),
+		self->mesh->elementLocalCount,
+		self->dumpEvery,
+		tmpBuf );
+
+	/* Adjust the stress dumping stream */
+	sprintf( tmpBuf, "%s/stress.%u", self->outputPath, self->rank );
+	VariableDumpStream_SetVariable(
+		self->stressOut,
+		Variable_Register_GetByName( self->variable_Register, "stress" ),
+		self->mesh->elementLocalCount,
+		self->dumpEvery,
+		tmpBuf );
+
+	/* Adjust the pressure  dumping stream */
+	sprintf( tmpBuf, "%s/hydroPressure.%u", self->outputPath, self->rank );
+	VariableDumpStream_SetVariable(
+		self->hydroPressureOut,
+		Variable_Register_GetByName( self->variable_Register, "hydroPressure" ),
+		self->mesh->elementLocalCount,
+		self->dumpEvery,
+		tmpBuf );
+
+	/* Adjust the coords dumping stream */
+	sprintf( tmpBuf, "%s/coord.%u", self->outputPath, self->rank );
+	VariableDumpStream_SetVariable(
+		self->coordOut,
+		Variable_Register_GetByName( self->variable_Register, "coord" ),
+		self->mesh->nodeLocalCount,
+		self->dumpEvery,
+		tmpBuf );
+
+	/* Adjust the velocity dumping stream */
+	sprintf( tmpBuf, "%s/vel.%u", self->outputPath, self->rank );
+	VariableDumpStream_SetVariable(
+		self->velOut,
+		Variable_Register_GetByName( self->variable_Register, "velocity" ),
+		self->mesh->nodeLocalCount,
+		self->dumpEvery,
+		tmpBuf );
+
+	/* Adjust the force dumping stream */
+	sprintf( tmpBuf, "%s/force.%u", self->outputPath, self->rank );
+	VariableDumpStream_SetVariable(
+		self->forceOut,
+		Variable_Register_GetByName( self->variable_Register, "force" ),
+		self->mesh->nodeLocalCount,
+		self->dumpEvery,
+		tmpBuf );
+}
+
+
 void _Snac_Context_DumpStressTensor( Snac_Context* self ) {
 
+/*     fprintf(stderr, "Dumping ? stress tensor: ts=%d df=%d\n",self->timeStep,self->dumpEvery); */
 	if( self->timeStep ==0 || (self->timeStep-1) % self->dumpEvery == 0 ) {
 		Element_LocalIndex			element_lI;
+/*     fprintf(stderr, "  ... dumping stress tensor: ts=%d df=%d\n",self->timeStep,self->dumpEvery); */
 
 		for( element_lI = 0; element_lI < self->mesh->elementLocalCount; element_lI++ ) {
 			Snac_Element* 				element = Snac_Element_At( self, element_lI );

Modified: long/3D/SNAC/trunk/Snac/libSnac/src/Context.h
===================================================================
--- long/3D/SNAC/trunk/Snac/libSnac/src/Context.h	2009-03-08 15:26:00 UTC (rev 14256)
+++ long/3D/SNAC/trunk/Snac/libSnac/src/Context.h	2009-03-08 15:31:19 UTC (rev 14257)
@@ -225,6 +225,7 @@
 	void DumpForceCheckSum( Snac_Context* self );
 
 	void _Snac_Context_InitDump( Snac_Context* self );
+	void _Snac_Context_AdjustDump( Snac_Context* self );
 	void _Snac_Context_DumpStressTensor( Snac_Context* self );
 	void _Snac_Context_DumpPhaseIndex( Snac_Context* self );
 



More information about the CIG-COMMITS mailing list