Index: /issm/trunk-jpl/src/c/classes/matrix/Matrix.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/matrix/Matrix.h	(revision 13868)
+++ /issm/trunk-jpl/src/c/classes/matrix/Matrix.h	(revision 13869)
@@ -189,4 +189,17 @@
 		}
 		/*}}}*/
+		/*FUNCTION AllocationInfo{{{*/
+		void AllocationInfo(void){
+			_assert_(this);
+			if(type==PetscMatType){
+				#ifdef _HAVE_PETSC_
+				this->pmatrix->AllocationInfo();
+				#endif
+			}
+			else if(type==SeqMatType){
+				//this->smatrix->AllocationInfo();
+			}
+			else _error_("Matrix type: " << type << " not supported yet!");
+		}/*}}}*/
 		/*FUNCTION Assemble{{{*/
 		void Assemble(void){
Index: /issm/trunk-jpl/src/c/toolkits/petsc/objects/PetscMat.cpp
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/petsc/objects/PetscMat.cpp	(revision 13868)
+++ /issm/trunk-jpl/src/c/toolkits/petsc/objects/PetscMat.cpp	(revision 13869)
@@ -40,5 +40,5 @@
 }
 /*}}}*/
-/*FUNCTION PetscMat(IssmDouble* serial_mat,int M,int N,IssmDouble sparsity){{{*/
+/*FUNCTION PetscMat::PetscMat(IssmDouble* serial_mat,int M,int N,IssmDouble sparsity){{{*/
 PetscMat::PetscMat(IssmDouble* serial_mat,int M,int N,IssmDouble sparsity){
 
@@ -77,4 +77,18 @@
 
 /*PetscMat specific routines: */
+/*FUNCTION PetscMat::AllocationInfo{{{*/
+void PetscMat::AllocationInfo(void){
+
+	MatInfo info;
+	MatGetInfo(this->matrix,MAT_GLOBAL_SUM,&info);
+	_pprintLine_("=========================== Stiffness matrix allocation info ===========================");
+	_pprintLine_("");
+	_pprintLine_(" nz_allocated: "<<info.nz_allocated);
+	_pprintLine_(" nz_used     : "<<info.nz_used);
+	_pprintLine_(" nz_unneeded : "<<info.nz_unneeded<<" ("<<double(info.nz_unneeded)/double(info.nz_allocated)*100.<<"%)");
+	_pprintLine_("");
+	_pprintLine_("========================================================================================");
+}
+/*}}}*/
 /*FUNCTION PetscMat::Echo{{{*/
 void PetscMat::Echo(void){
Index: /issm/trunk-jpl/src/c/toolkits/petsc/objects/PetscMat.h
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/petsc/objects/PetscMat.h	(revision 13868)
+++ /issm/trunk-jpl/src/c/toolkits/petsc/objects/PetscMat.h	(revision 13869)
@@ -40,4 +40,5 @@
 		/*}}}*/
 		/*PetscMat specific routines {{{*/
+		void AllocationInfo(void);
 		void Echo(void);
 		void Assemble(void);
