Index: /issm/trunk-jpl/src/c/objects/Numerics/Vector.cpp
===================================================================
--- /issm/trunk-jpl/src/c/objects/Numerics/Vector.cpp	(revision 11703)
+++ /issm/trunk-jpl/src/c/objects/Numerics/Vector.cpp	(revision 11704)
@@ -78,4 +78,18 @@
 }
 /*}}}*/
+#ifdef _HAVE_PETSC_
+/*FUNCTION Vector::Vector(Vec petsc_vec){{{1*/
+Vector::Vector(Vec petsc_vec){
+
+	/*Get Vector size*/
+	VecGetSize(petsc_vec,&this->M);
+
+	/*copy vector*/
+	VecDuplicate(petsc_vec,&this->vector);
+	VecCopy(petsc_vec,this->vector);
+
+}
+/*}}}*/
+#endif
 		/*FUNCTION Vector::~Vector(){{{1*/
 Vector::~Vector(){
@@ -91,5 +105,4 @@
 }
 /*}}}*/
-
 
 /*Vector specific routines: */
@@ -240,5 +253,4 @@
 		_error_("not implemented yet!");
 	#endif
-
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/objects/Numerics/Vector.h
===================================================================
--- /issm/trunk-jpl/src/c/objects/Numerics/Vector.h	(revision 11703)
+++ /issm/trunk-jpl/src/c/objects/Numerics/Vector.h	(revision 11704)
@@ -46,4 +46,7 @@
 		Vector(int M,bool fromlocalsize=false);
 		Vector(double* serial_vec,int pM);
+		#ifdef _HAVE_PETSC_
+		Vector(Vec petsc_vec);
+		#endif
 		~Vector();
 		/*}}}*/
