[cig-commits] r6524 - in long/3D/Gale/trunk: . src/StgFEM/plugins/StandardConditionFunctions

walter at geodynamics.org walter at geodynamics.org
Sat Apr 7 22:20:37 PDT 2007


Author: walter
Date: 2007-04-07 22:20:37 -0700 (Sat, 07 Apr 2007)
New Revision: 6524

Modified:
   long/3D/Gale/trunk/
   long/3D/Gale/trunk/src/StgFEM/plugins/StandardConditionFunctions/StandardConditionFunctions.c
   long/3D/Gale/trunk/src/StgFEM/plugins/StandardConditionFunctions/StandardConditionFunctions.h
Log:
 r1788 at earth:  boo | 2007-04-07 22:18:09 -0700
 Add ShearZ to StandardConditionFunctions



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

Modified: long/3D/Gale/trunk/src/StgFEM/plugins/StandardConditionFunctions/StandardConditionFunctions.c
===================================================================
--- long/3D/Gale/trunk/src/StgFEM/plugins/StandardConditionFunctions/StandardConditionFunctions.c	2007-04-08 03:32:09 UTC (rev 6523)
+++ long/3D/Gale/trunk/src/StgFEM/plugins/StandardConditionFunctions/StandardConditionFunctions.c	2007-04-08 05:20:37 UTC (rev 6524)
@@ -70,6 +70,8 @@
 	
 	condFunc = ConditionFunction_New( StgFEM_StandardConditionFunctions_SimpleShear, "Velocity_SimpleShear" );
 	ConditionFunction_Register_Add( context->condFunc_Register, condFunc );
+	condFunc = ConditionFunction_New( StgFEM_StandardConditionFunctions_ShearZ, "ShearZ" );
+	ConditionFunction_Register_Add( context->condFunc_Register, condFunc );
 	condFunc = ConditionFunction_New( StgFEM_StandardConditionFunctions_Extension, "Velocity_Extension" );
 	ConditionFunction_Register_Add( context->condFunc_Register, condFunc );
 
@@ -361,6 +363,29 @@
 	*result = factor * (coord[ J_AXIS ] - centre);
 }
 
+void StgFEM_StandardConditionFunctions_ShearZ( Node_LocalIndex node_lI, Variable_Index var_I, void* _context, void* _result ) {
+	DiscretisationContext*	context            = (DiscretisationContext*)_context;
+	Dictionary*             dictionary         = context->dictionary;
+	FeVariable*             feVariable         = NULL;
+	FeMesh*			mesh               = NULL;
+	double*                 result             = (double*) _result;
+	double*                 coord;
+	double                  centre;
+	double                  factor;
+	
+	feVariable = (FeVariable*)FieldVariable_Register_GetByName( context->fieldVariable_Register, "VelocityField" );
+	mesh       = feVariable->feMesh;
+
+	/* Find Centre of Solid Body Rotation */
+	centre = Dictionary_GetDouble_WithDefault( dictionary, "ShearZCentre", 0.0 );
+	factor = Dictionary_GetDouble_WithDefault( dictionary, "ShearZFactor", 1.0 );
+
+	/* Find coordinate of node */
+	coord = Mesh_GetVertex( mesh, node_lI );
+
+	*result = factor * (coord[ K_AXIS ] - centre);
+}
+
 void StgFEM_StandardConditionFunctions_Extension( Node_LocalIndex node_lI, Variable_Index var_I, void* _context, void* _result ) {
 	DiscretisationContext*	context            = (DiscretisationContext*)_context;
 	Dictionary*             dictionary         = context->dictionary;

Modified: long/3D/Gale/trunk/src/StgFEM/plugins/StandardConditionFunctions/StandardConditionFunctions.h
===================================================================
--- long/3D/Gale/trunk/src/StgFEM/plugins/StandardConditionFunctions/StandardConditionFunctions.h	2007-04-08 03:32:09 UTC (rev 6523)
+++ long/3D/Gale/trunk/src/StgFEM/plugins/StandardConditionFunctions/StandardConditionFunctions.h	2007-04-08 05:20:37 UTC (rev 6524)
@@ -65,6 +65,7 @@
 void StgFEM_StandardConditionFunctions_TaperedRotationX( Node_LocalIndex node_lI, Variable_Index var_I, void* _context, void* _result ) ;
 void StgFEM_StandardConditionFunctions_TaperedRotationY( Node_LocalIndex node_lI, Variable_Index var_I, void* _context, void* _result ) ;
 void StgFEM_StandardConditionFunctions_SimpleShear( Node_LocalIndex node_lI, Variable_Index var_I, void* _context, void* _result ) ;
+void StgFEM_StandardConditionFunctions_ShearZ( Node_LocalIndex node_lI, Variable_Index var_I, void* _context, void* _result ) ;
 void StgFEM_StandardConditionFunctions_Extension( Node_LocalIndex node_lI, Variable_Index var_I, void* _context, void* _result ) ;
 void StgFEM_StandardConditionFunctions_PartialLid_TopLayer( Node_LocalIndex node_lI, Variable_Index var_I, void* _context, void* result ) ;
 void StgFEM_StandardConditionFunctions_LinearInterpolationLid( Node_LocalIndex node_lI, Variable_Index var_I, void* _context, void* result ) ;



More information about the cig-commits mailing list