[cig-commits] r13648 - in long/3D/Gale/trunk: . input/examples src/StgFEM/plugins/StandardConditionFunctions src/Underworld/Rheology/src

walter at geodynamics.org walter at geodynamics.org
Thu Dec 11 03:21:10 PST 2008


Author: walter
Date: 2008-12-11 03:21:10 -0800 (Thu, 11 Dec 2008)
New Revision: 13648

Modified:
   long/3D/Gale/trunk/
   long/3D/Gale/trunk/input/examples/tibet.xml
   long/3D/Gale/trunk/src/StgFEM/plugins/StandardConditionFunctions/StandardConditionFunctions.c
   long/3D/Gale/trunk/src/StgFEM/plugins/StandardConditionFunctions/StandardConditionFunctions.h
   long/3D/Gale/trunk/src/Underworld/Rheology/src/MohrCoulomb.c
   long/3D/Gale/trunk/src/Underworld/Rheology/src/MohrCoulomb.h
Log:
 r2412 at dante:  boo | 2008-12-11 02:04:14 -0800
 Remove background pressure stuff



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

Modified: long/3D/Gale/trunk/input/examples/tibet.xml
===================================================================
--- long/3D/Gale/trunk/input/examples/tibet.xml	2008-12-11 09:30:01 UTC (rev 13647)
+++ long/3D/Gale/trunk/input/examples/tibet.xml	2008-12-11 11:21:10 UTC (rev 13648)
@@ -117,31 +117,6 @@
       <param name="LinkedDofInfo">pressureLinkedDofs</param>
     </struct>
 
-    <struct name="backgroundPressure">
-      <param name="Type">MeshVariable</param>
-      <param name="mesh">mesh-linear</param>
-      <param name="Rank">Scalar</param>
-      <param name="DataType">Double</param>
-    </struct>
-    <struct name="backgroundPressureICs">
-      <param name="Type">CompositeVC</param>
-      <param name="Data">mesh-linear</param>
-    </struct>
-    <struct name="backgroundPressureDofLayout">
-      <param name="Type">DofLayout</param>
-      <param name="mesh">mesh-linear</param>
-      <list name="BaseVariables">
-        <param>backgroundPressure</param>
-      </list>
-    </struct>
-    <struct name="BackgroundPressureField">
-      <param name="Type">FeVariable</param>
-      <param name="FEMesh">mesh-linear</param>
-      <param name="DofLayout">backgroundPressureDofLayout</param>
-      <param name="LinkedDofInfo">backgroundPressureLinkedDofs</param>
-      <param name="IC">backgroundPressureICs</param>
-    </struct>
-
     <struct name="StressField">
       <param name="Type">StressField</param>
       <param name="StrainRateField">StrainRateField</param>
@@ -499,7 +474,6 @@
     <struct name="yielding">
       <param name="Type">MohrCoulomb</param>
       <param name="PressureField">PressureField</param>
-      <param name="BackgroundPressureField">BackgroundPressureField</param>
       <param name="VelocityGradientsField">VelocityGradientsField</param>
       <param name="MaterialPointsSwarm">materialSwarm</param>
       <param name="Context">context</param>
@@ -876,22 +850,6 @@
     </list>
   </struct>
 
-  <struct name="backgroundPressureICs">
-    <param name="type">CompositeVC</param>
-    <list name="vcList">
-      <struct>
-        <param name="type">AllNodesVC</param>
-        <list name="variables">
-          <struct>
-            <param name="name">backgroundPressure</param>
-            <param name="type">func</param>
-            <param name="value">PressureProfile</param>
-          </struct>
-        </list>
-      </struct>
-    </list>
-  </struct>
-
   <!-- These numbers have to be kept in sync with the top and bottom BC's.  The
   parser can not read the variables and use them there, so they have
   to be specified in two places. -->

Modified: long/3D/Gale/trunk/src/StgFEM/plugins/StandardConditionFunctions/StandardConditionFunctions.c
===================================================================
--- long/3D/Gale/trunk/src/StgFEM/plugins/StandardConditionFunctions/StandardConditionFunctions.c	2008-12-11 09:30:01 UTC (rev 13647)
+++ long/3D/Gale/trunk/src/StgFEM/plugins/StandardConditionFunctions/StandardConditionFunctions.c	2008-12-11 11:21:10 UTC (rev 13648)
@@ -131,9 +131,6 @@
 	condFunc = ConditionFunction_New( StgFEM_StandardConditionFunctions_TemperatureProfile, "TemperatureProfile");
 	ConditionFunction_Register_Add( context->condFunc_Register, condFunc );
 
-	condFunc = ConditionFunction_New( StgFEM_StandardConditionFunctions_PressureProfile, "PressureProfile");
-	ConditionFunction_Register_Add( context->condFunc_Register, condFunc );
-
 	condFunc = ConditionFunction_New( StG_FEM_StandardConditionFunctions_Gaussian, "Gaussian");
 	ConditionFunction_Register_Add( context->condFunc_Register, condFunc );
 
@@ -1469,67 +1466,6 @@
           }
 }
 
-double PressureProfile_Analytic(double density, double gravity, double h,
-                                double alpha, double T_0, double A,
-                                double B, double C)
-{
-  return density*gravity*h*(1-alpha*(T_0 + A*h/2 + B*(1+exp(-C*h)/(C*h))));
-}
-
-void StgFEM_StandardConditionFunctions_PressureProfile( Node_LocalIndex node_lI, Variable_Index var_I, void* _context, void* _result ) {
-  FiniteElementContext *	context            = (FiniteElementContext*)_context;
-  FeVariable*             feVariable         = NULL;
-  FeMesh*     mesh               = NULL;
-  Dictionary*             dictionary         = context->dictionary;
-  double*                 result             = (double*) _result;
-  double*                 coord;
-  double                  T_0, A, B, C;
-  double upper_density, lower_density, upper_alpha, lower_alpha, y_max,
-    material_boundary;
-  double gravity;
-  
-  feVariable = (FeVariable*)FieldVariable_Register_GetByName( context->fieldVariable_Register, "VelocityField" );
-  mesh       = feVariable->feMesh;
-  coord      = Mesh_GetVertex( mesh, node_lI );
-  
-  T_0 = Dictionary_GetDouble( dictionary, "TemperatureProfileTop");
-  A = Dictionary_GetDouble( dictionary, "TemperatureProfileLinearCoefficient");
-  B = Dictionary_GetDouble( dictionary,
-                            "TemperatureProfileExponentialCoefficient1");
-  C = Dictionary_GetDouble( dictionary,
-                            "TemperatureProfileExponentialCoefficient2");
-  y_max = Dictionary_GetDouble( dictionary, "maxY");
-  upper_density=Dictionary_GetDouble(dictionary,"upperDensity");
-  lower_density=Dictionary_GetDouble(dictionary,"lowerDensity");
-  upper_alpha=Dictionary_GetDouble( dictionary, "upperAlpha");
-  lower_alpha=Dictionary_GetDouble( dictionary, "lowerAlpha");
-  material_boundary=Dictionary_GetDouble(dictionary, "materialBoundary");
-  gravity=Dictionary_GetDouble( dictionary, "gravity" );
-  if(coord[1]>=y_max)
-    {
-      *result=0;
-    }
-  else
-    {
-      double h=y_max-coord[1];
-      if(coord[1]>material_boundary)
-        {
-          *result=PressureProfile_Analytic(upper_density, gravity, h,
-                                           upper_alpha, T_0, A, B, C);
-        }
-      else
-        {
-          *result=
-            PressureProfile_Analytic(upper_density, gravity, material_boundary,
-                                     upper_alpha, T_0, A, B, C)
-            - PressureProfile_Analytic(lower_density, gravity,material_boundary,
-                                       lower_alpha, T_0, A, B, C)
-            + PressureProfile_Analytic(lower_density, gravity,h,
-                                       lower_alpha, T_0, A, B, C);
-        }
-    }
-}
-
 void StgFEM_StandardConditionFunctions_ERF( Node_LocalIndex node_lI, Variable_Index var_I, void* _context, void* _result ) {
 	FiniteElementContext *	context            = (FiniteElementContext*)_context;
 	FeVariable*             feVariable         = NULL;

Modified: long/3D/Gale/trunk/src/StgFEM/plugins/StandardConditionFunctions/StandardConditionFunctions.h
===================================================================
--- long/3D/Gale/trunk/src/StgFEM/plugins/StandardConditionFunctions/StandardConditionFunctions.h	2008-12-11 09:30:01 UTC (rev 13647)
+++ long/3D/Gale/trunk/src/StgFEM/plugins/StandardConditionFunctions/StandardConditionFunctions.h	2008-12-11 11:21:10 UTC (rev 13648)
@@ -88,7 +88,6 @@
 void StG_FEM_StandardConditionFunctions_StepFunctionProduct3( Node_LocalIndex node_lI, Variable_Index var_I, void* _context, void* _result ) ;
 void StG_FEM_StandardConditionFunctions_StepFunctionProduct4( Node_LocalIndex node_lI, Variable_Index var_I, void* _context, void* _result ) ;
 void StgFEM_StandardConditionFunctions_TemperatureProfile( Node_LocalIndex node_lI, Variable_Index var_I, void* _context, void* _result ) ;
-void StgFEM_StandardConditionFunctions_PressureProfile( Node_LocalIndex node_lI, Variable_Index var_I, void* _context, void* _result ) ;
 void StG_FEM_StandardConditionFunctions_Gaussian( Node_LocalIndex node_lI, Variable_Index var_I, void* _context, void* _result ) ;
 
 void StgFEM_StandardConditionFunctions_ConvectionBenchmark( Node_LocalIndex node_lI, Variable_Index var_I, void* _context, void* _result ) ;

Modified: long/3D/Gale/trunk/src/Underworld/Rheology/src/MohrCoulomb.c
===================================================================
--- long/3D/Gale/trunk/src/Underworld/Rheology/src/MohrCoulomb.c	2008-12-11 09:30:01 UTC (rev 13647)
+++ long/3D/Gale/trunk/src/Underworld/Rheology/src/MohrCoulomb.c	2008-12-11 11:21:10 UTC (rev 13648)
@@ -110,7 +110,6 @@
 void _MohrCoulomb_Init(
 		MohrCoulomb*                        self,
 		FeVariable*                                        pressureField,
-		FeVariable*                                        backgroundPressureField,
 		FeVariable*                                        velocityGradientsField,
 		MaterialPointsSwarm*                               materialPointsSwarm,
 		double                                             cohesion,
@@ -121,7 +120,6 @@
 {
 	self->materialPointsSwarm     = materialPointsSwarm;
 	self->pressureField           = pressureField;
-	self->backgroundPressureField = backgroundPressureField;
 	self->velocityGradientsField  = velocityGradientsField;
 	
 	self->cohesion = cohesion;
@@ -162,7 +160,6 @@
                              void *data ){
 	MohrCoulomb*   self           = (MohrCoulomb*)rheology;
 	FeVariable*                   pressureField;
-	FeVariable*                   backgroundPressureField;
 	MaterialPointsSwarm*          materialPointsSwarm;
 	FeVariable*                   velocityGradientsField;
 	
@@ -180,15 +177,12 @@
 			"MaterialPointsSwarm", MaterialPointsSwarm, True, data );
 	pressureField          = Stg_ComponentFactory_ConstructByKey( cf, self->name,
 			"PressureField", FeVariable, True, data );
-	backgroundPressureField = Stg_ComponentFactory_ConstructByKey( cf, self->name,
-			"BackgroundPressureField", FeVariable, False, data );
 	velocityGradientsField = Stg_ComponentFactory_ConstructByKey( cf, self->name,
 			"VelocityGradientsField", FeVariable, True, data );
 	
 	_MohrCoulomb_Init( 
 			self,
 			pressureField,
-			backgroundPressureField,
 			velocityGradientsField,
 			materialPointsSwarm, 
 			Stg_ComponentFactory_GetDouble( cf, self->name, "cohesion", 0.0 ),
@@ -203,8 +197,6 @@
 
 	/* Build parent */
 	_YieldRheology_Build( self, data );
-	if ( self->backgroundPressureField )
-		Stg_Component_Build( self->backgroundPressureField, data, False );
 }
 
 void _MohrCoulomb_Initialise( void* rheology, void* data ) {
@@ -215,9 +207,6 @@
 
 	_YieldRheology_Initialise( self, data );
 	
-	if ( self->backgroundPressureField )
-		Stg_Component_Initialise( self->backgroundPressureField, data, False );
-
 	/* Initialise these components now just in case this function is called before their own _Initialise function */
 	Stg_Component_Initialise( self->materialPointsSwarm, data, False );
 	Stg_Component_Initialise( self->strainWeakening, data, False );
@@ -307,19 +296,12 @@
 	double                               effectiveFrictionCoefficient;
 	double                               frictionalStrength;
 
-	FeVariable* pressureField  = self->pressureField;  
-	FeVariable* backgroundPressureField  = self->backgroundPressureField;  
-	double pressure, backgroundPressure;
+	FeVariable*                       pressureField  = self->pressureField;  
+	double                            pressure;
         double theta;
         double factor;
 
 	FeVariable_InterpolateWithinElement( pressureField, lElement_I, xi, &pressure );
-        if(backgroundPressureField)
-          {
-            FeVariable_InterpolateWithinElement( backgroundPressureField, lElement_I, xi,
-                                                 &backgroundPressure );
-            pressure+=backgroundPressure;
-          }
 
 	/* Calculate frictional strength.  We modify the friction and
            cohesion because we have grouped terms from the normal
@@ -406,15 +388,10 @@
 	Dimension_Index                      dim                = constitutiveMatrix->dim;
         Eigenvector                          evectors[3];
         double e0, e1, e2;
-        double trace, p;
+        double trace;
         int i;
 	
 	FeVariable_InterpolateWithinElement( self->pressureField, lElement_I, xi, &self->currentPressure );	
-        if(self->backgroundPressureField)
-          {
-            FeVariable_InterpolateWithinElement( self->backgroundPressureField, lElement_I, xi, &p );
-            self->currentPressure+=p;
-          }
 	FeVariable_InterpolateWithinElement( self->velocityGradientsField, lElement_I, xi, self->currentVelocityGradient );
 	
 	TensorArray_GetSymmetricPart( self->currentVelocityGradient, dim, strainRate );

Modified: long/3D/Gale/trunk/src/Underworld/Rheology/src/MohrCoulomb.h
===================================================================
--- long/3D/Gale/trunk/src/Underworld/Rheology/src/MohrCoulomb.h	2008-12-11 09:30:01 UTC (rev 13647)
+++ long/3D/Gale/trunk/src/Underworld/Rheology/src/MohrCoulomb.h	2008-12-11 11:21:10 UTC (rev 13648)
@@ -59,7 +59,6 @@
 		/* Param passed in */ \
 		MaterialPointsSwarm*                                materialPointsSwarm;                                 \
 		FeVariable*                                         pressureField;                         \
-		FeVariable*                                         backgroundPressureField;                         \
 		FeVariable*                                         velocityGradientsField;                \
 		/* Director component is used to update the normal */\
 		Director*                                           director;                              \



More information about the CIG-COMMITS mailing list