[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