Index: /issm/trunk/src/c/objects/Numerics/ElementMatrix.cpp
===================================================================
--- /issm/trunk/src/c/objects/Numerics/ElementMatrix.cpp	(revision 7638)
+++ /issm/trunk/src/c/objects/Numerics/ElementMatrix.cpp	(revision 7639)
@@ -460,2 +460,14 @@
 }
 /*}}}*/
+/*FUNCTION ElementMatrix::SetDiag{{{1*/
+void ElementMatrix::SetDiag(double scalar){
+
+	int i;
+
+	if(this->nrows!=this->ncols)_error_("need square matrix in input!");
+
+	for(i=0;i<this->nrows;i++){
+		this->values[this->ncols*i+i]=scalar;
+	}
+}
+/*}}}*/
Index: /issm/trunk/src/c/objects/Numerics/ElementMatrix.h
===================================================================
--- /issm/trunk/src/c/objects/Numerics/ElementMatrix.h	(revision 7638)
+++ /issm/trunk/src/c/objects/Numerics/ElementMatrix.h	(revision 7639)
@@ -64,4 +64,5 @@
 		void Transpose(void);
 		void Init(ElementMatrix* Ke);
+		void SetDiag(double scalar);
 		/*}}}*/
 };
Index: /issm/trunk/src/c/objects/Numerics/ElementVector.cpp
===================================================================
--- /issm/trunk/src/c/objects/Numerics/ElementVector.cpp	(revision 7638)
+++ /issm/trunk/src/c/objects/Numerics/ElementVector.cpp	(revision 7639)
@@ -273,2 +273,11 @@
 }
 /*}}}*/
+/*FUNCTION ElementVector::SetValue{{{1*/
+void ElementVector::SetValue(double scalar){
+
+	int i;
+
+	for(i=0;i<this->nrows;i++)this->values[i]=scalar;
+
+}
+/*}}}*/
Index: /issm/trunk/src/c/objects/Numerics/ElementVector.h
===================================================================
--- /issm/trunk/src/c/objects/Numerics/ElementVector.h	(revision 7638)
+++ /issm/trunk/src/c/objects/Numerics/ElementVector.h	(revision 7639)
@@ -45,4 +45,5 @@
 		void Echo(void);
 		void Init(ElementVector* pe);
+		void SetValue(double scalar);
 		/*}}}*/
 };
