[cig-commits] r4899 - in long/3D/Gale/trunk/src/StgFEM: . plugins/VelicAnalyticSolutions/Velic_solCA

walter at geodynamics.org walter at geodynamics.org
Wed Oct 11 13:50:18 PDT 2006


Author: walter
Date: 2006-10-11 13:50:18 -0700 (Wed, 11 Oct 2006)
New Revision: 4899

Modified:
   long/3D/Gale/trunk/src/StgFEM/
   long/3D/Gale/trunk/src/StgFEM/plugins/VelicAnalyticSolutions/Velic_solCA/solCA.c
   long/3D/Gale/trunk/src/StgFEM/plugins/VelicAnalyticSolutions/Velic_solCA/solCA.h
Log:
 r785 at earth:  boo | 2006-10-11 13:49:36 -0700
  r759 at earth (orig r638):  JulianGiordani | 2006-09-11 20:20:32 -0700
  
  Adding the functionality to calculate the analytic strain-rate at any position.
  
  
 



Property changes on: long/3D/Gale/trunk/src/StgFEM
___________________________________________________________________
Name: svk:merge
   - 38867592-cf10-0410-9e16-a142ea72ac34:/cig:784
db209038-57f2-0310-97fa-b160e0ae9d04:/trunk:637
   + 38867592-cf10-0410-9e16-a142ea72ac34:/cig:785
db209038-57f2-0310-97fa-b160e0ae9d04:/trunk:638

Modified: long/3D/Gale/trunk/src/StgFEM/plugins/VelicAnalyticSolutions/Velic_solCA/solCA.c
===================================================================
--- long/3D/Gale/trunk/src/StgFEM/plugins/VelicAnalyticSolutions/Velic_solCA/solCA.c	2006-10-11 20:50:16 UTC (rev 4898)
+++ long/3D/Gale/trunk/src/StgFEM/plugins/VelicAnalyticSolutions/Velic_solCA/solCA.c	2006-10-11 20:50:18 UTC (rev 4899)
@@ -173,6 +173,10 @@
 		 result[2] = sum4; //txz
 	 } else if (whatWeWant == 3 ) {
 		 *result = sum5;
+	 } else if( whatWeWant == 4 ) {
+		 result[0] = ( sum6 - 0.5*(sum6 + sum3) ) / ( 2 * Z );
+		 result[1] = ( sum3 - 0.5*(sum6 + sum3) ) / ( 2 * Z );
+		 result[2] = ( sum4 ) / ( 2 * Z ); 
 	 }
 }
 
@@ -187,12 +191,17 @@
 void Velic_solCA_StressFunction( void* analyticSolution, FeVariable* analyticFeVariable, double* coord, double* stress ) {
 	Velic_solCA_MirkoFunction( analyticSolution, coord, 2, stress );
 }
+
+void Velic_solCA_StrainRateFunction( void* analyticSolution, FeVariable* analyticFeVariable, double* coord, double* strainRate ) {
+	Velic_solCA_MirkoFunction( analyticSolution, coord, 4, strainRate );
+}
 	
 void _Velic_solCA_Construct( void* analyticSolution, Stg_ComponentFactory* cf ) {
 	Velic_solCA* self = (Velic_solCA*) analyticSolution;
 	FeVariable*              velocityField;
 	FeVariable*              pressureField;
 	FeVariable*              stressField;
+	FeVariable*              strainRateField;
 	/* Construct Parent */
 	_AnalyticSolution_Construct( self, cf );
 
@@ -203,6 +212,9 @@
 	pressureField = Stg_ComponentFactory_ConstructByName( cf, "PressureField", FeVariable, True );
 	AnalyticSolution_CreateAnalyticField( self, pressureField, Velic_solCA_PressureFunction );
 
+	strainRateField = Stg_ComponentFactory_ConstructByName( cf, "StrainRateField", FeVariable, False );
+	AnalyticSolution_CreateAnalyticField( self, strainRateField, Velic_solCA_StrainRateFunction );
+
 	stressField = Stg_ComponentFactory_ConstructByName( cf, "StressField", FeVariable, False );
 	if ( stressField )
 		AnalyticSolution_CreateAnalyticSymmetricTensorField( self, stressField, Velic_solCA_StressFunction );

Modified: long/3D/Gale/trunk/src/StgFEM/plugins/VelicAnalyticSolutions/Velic_solCA/solCA.h
===================================================================
--- long/3D/Gale/trunk/src/StgFEM/plugins/VelicAnalyticSolutions/Velic_solCA/solCA.h	2006-10-11 20:50:16 UTC (rev 4898)
+++ long/3D/Gale/trunk/src/StgFEM/plugins/VelicAnalyticSolutions/Velic_solCA/solCA.h	2006-10-11 20:50:18 UTC (rev 4899)
@@ -56,5 +56,6 @@
 	void Velic_solCA_PressureFunction( void* analyticSolution, FeVariable* analyticFeVariable, double* coord, double* pressure );
 	void Velic_solCA_VelocityFunction( void* analyticSolution, FeVariable* analyticFeVariable, double* coord, double* velocity );
 	void Velic_solCA_StressFunction( void* analyticSolution, FeVariable* analyticFeVariable, double* coord, double* stress );
+	void Velic_solCA_StrainRateFunction( void* analyticSolution, FeVariable* analyticFeVariable, double* coord, double* stress );
 
 #endif



More information about the cig-commits mailing list