Index: /issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.cpp
===================================================================
--- /issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.cpp	(revision 3899)
+++ /issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.cpp	(revision 3899)
@@ -0,0 +1,45 @@
+/*!\file ComputeBasalStressx
+ * \brief: compute pressure according to each element
+ */
+
+#include "./ComputeBasalStressx.h"
+
+#include "../shared/shared.h"
+#include "../include/include.h"
+#include "../toolkits/toolkits.h"
+#include "../EnumDefinitions/EnumDefinitions.h"
+
+void	ComputeBasalStressx( Vec* psigma,DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,Parameters* parameters,
+			int analysis_type,int sub_analysis_type){
+
+	int i;
+
+	int  found=0;
+	double numberofelements;
+
+	/*output: */
+	Vec sigma=NULL;
+
+	/*Recover numberofelements: */
+	found= parameters->FindParam(&numberofelements,NumberOfElementsEnum);
+	if (!found) ISSMERROR("numberofelements not provided in parameters");
+
+	/*Allocate sigma on numberofelements: */
+	sigma=NewVec((int)numberofelements);
+
+	/*Get elements configured: */
+	elements->Configure(elements,loads, nodes,vertices, materials,parameters);
+	nodes->Configure(elements,loads, nodes,vertices, materials,parameters);
+	parameters->Configure(elements,loads, nodes,vertices, materials,parameters);
+
+	/*Call on dataset driver: */
+	elements->ComputeBasalStress(sigma,analysis_type,sub_analysis_type);
+
+	/*Assemble vector: */
+	VecAssemblyBegin(sigma);
+	VecAssemblyEnd(sigma);
+
+	/*Assign output pointers: */
+	*psigma=sigma;
+	
+}
Index: /issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.h
===================================================================
--- /issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.h	(revision 3899)
+++ /issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.h	(revision 3899)
@@ -0,0 +1,16 @@
+/*!\file:  ComputeBasalStressx.h
+ * \brief header file pressure computation
+ */ 
+
+#ifndef _COMPUTEBASALSTRESSX_H
+#define _COMPUTEBASALSTRESSX_H
+
+#include "../objects/objects.h"
+#include "../DataSet/DataSet.h"
+
+/* local prototypes: */
+void	ComputeBasalStressx( Vec* pp_g,DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,
+			int analysis_type,int sub_analysis_type);
+
+#endif  /* _COMPUTEBASALSTRESSX_H */
+
Index: /issm/trunk/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.cpp
===================================================================
--- /issm/trunk/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.cpp	(revision 3899)
+++ /issm/trunk/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.cpp	(revision 3899)
@@ -0,0 +1,44 @@
+/*!\file ComputeStrainRatex
+ * \brief: compute pressure according to each element
+ */
+
+#include "./ComputeStrainRatex.h"
+
+#include "../shared/shared.h"
+#include "../include/include.h"
+#include "../toolkits/toolkits.h"
+#include "../EnumDefinitions/EnumDefinitions.h"
+
+void	ComputeStrainRatex( Vec* peps,DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,Parameters* parameters,
+			int analysis_type,int sub_analysis_type){
+
+	int i;
+
+	int  found=0;
+	double numberofelements;
+
+	/*output: */
+	Vec eps=NULL;
+
+	/*Recover numberofelements: */
+	parameters->FindParam(&numberofelements,NumberOfElementsEnum);
+
+	/*Allocate eps on numberofelements (only 1 dof): */
+	eps=NewVec(numberofelements);
+
+	/*Get elements configured: */
+	elements->Configure(elements,loads, nodes,vertices, materials,parameters);
+	nodes->Configure(elements,loads, nodes,vertices, materials,parameters);
+	parameters->Configure(elements,loads, nodes,vertices, materials,parameters);
+
+	/*Call on dataset driver: */
+	elements->ComputeStrainRate(eps,analysis_type,sub_analysis_type);
+
+	/*Assemble vector: */
+	VecAssemblyBegin(eps);
+	VecAssemblyEnd(eps);
+
+	/*Assign output pointers: */
+	*peps=eps;
+	
+}
Index: /issm/trunk/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.h
===================================================================
--- /issm/trunk/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.h	(revision 3899)
+++ /issm/trunk/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.h	(revision 3899)
@@ -0,0 +1,16 @@
+/*!\file:  ComputeStrainRate.h
+ * \brief header file pressure computation
+ */ 
+
+#ifndef _COMPUTESTRAINRATEX_H
+#define _COMPUTESTRAINRATEX_H
+
+#include "../objects/objects.h"
+#include "../DataSet/DataSet.h"
+
+/* local prototypes: */
+void	ComputeStrainRatex(Vec* eps_g,DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,
+			int analysis_type,int sub_analysis_type);
+
+#endif  /* _COMPUTESTRAINRATEX_H */
+
Index: /issm/trunk/src/c/modules/ConfigureObjectsx/ConfigureObjectsx.cpp
===================================================================
--- /issm/trunk/src/c/modules/ConfigureObjectsx/ConfigureObjectsx.cpp	(revision 3899)
+++ /issm/trunk/src/c/modules/ConfigureObjectsx/ConfigureObjectsx.cpp	(revision 3899)
@@ -0,0 +1,30 @@
+/*!\file ConfigureObjectsx
+ * \brief: configure objects in elements and loads to link in with nodes
+ */
+
+#include "./ConfigureObjectsx.h"
+
+#include "../shared/shared.h"
+#include "../include/include.h"
+#include "../toolkits/toolkits.h"
+#include "../EnumDefinitions/EnumDefinitions.h"
+
+int	ConfigureObjectsx( DataSet* elements, DataSet* loads, DataSet* nodes, DataSet* vertices, DataSet* materials,Parameters* parameters){
+
+	int noerr=1;
+	int i;
+
+	extern int num_procs;
+	extern int my_rank;
+	
+	//_printf_("      Configuring elements...\n");
+	elements->Configure(elements,loads,nodes,vertices,materials,parameters);
+	//_printf_("      Configuring loads...\n");
+	loads->Configure(elements,loads,nodes,vertices,materials,parameters);
+	//_printf_("      Configuring nodes...\n");
+	nodes->Configure(elements,loads,nodes,vertices,materials,parameters);
+	//_printf_("      Configuring parameters...\n");
+	parameters->Configure(elements,loads,nodes,vertices,materials,parameters);
+
+	return noerr;
+}
Index: /issm/trunk/src/c/modules/ConfigureObjectsx/ConfigureObjectsx.h
===================================================================
--- /issm/trunk/src/c/modules/ConfigureObjectsx/ConfigureObjectsx.h	(revision 3899)
+++ /issm/trunk/src/c/modules/ConfigureObjectsx/ConfigureObjectsx.h	(revision 3899)
@@ -0,0 +1,14 @@
+/*!\file:  ConfigureObjectsx.h
+ * \brief header file for degree of freedoms distribution routines.
+ */ 
+
+#ifndef _CONFIGUREOBJECTSX_H
+#define _CONFIGUREOBJECTSX_H
+
+#include "../DataSet/DataSet.h"
+
+/* local prototypes: */
+int		ConfigureObjectsx( DataSet* elements, DataSet* loads, DataSet* nodes, DataSet* vertices, DataSet* materials, Parameters* parameters);
+
+#endif  /* _CONFIGUREOBJECTSX_H */
+
