Index: /issm/trunk/configs/linux64/linux64.sh
===================================================================
--- /issm/trunk/configs/linux64/linux64.sh	(revision 2041)
+++ /issm/trunk/configs/linux64/linux64.sh	(revision 2042)
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-./configure --prefix=$ISSM_DIR --with-matlab-dir=$MATLAB_DIR --with-triangle-dir=$ISSM_DIR/externalpackages/triangle/install --with-metis-dir=$ISSM_DIR/externalpackages/metis/install --with-petsc-dir=$ISSM_DIR/externalpackages/petsc/install --with-mpi-include=$ISSM_DIR/externalpackages/mpich2/install/include  --with-mpi-lib="-L$ISSM_DIR/externalpackages/mpich2/install/lib/ -lmpich" --with-petsc-arch=$ISSM_ARCH --with-dakota-dir=$ISSM_DIR/externalpackages/dakota/install --with-blas-lapack-dir=$ISSM_DIR/externalpackages/petsc/install/externalpackages/fblaslapack/$ISSM_ARCH
+./configure --prefix=$ISSM_DIR --with-matlab-dir=$MATLAB_DIR --with-triangle-dir=$ISSM_DIR/externalpackages/triangle/install --with-metis-dir=$ISSM_DIR/externalpackages/metis/install --with-petsc-dir=$ISSM_DIR/externalpackages/petsc/install --with-mpi-include=$ISSM_DIR/externalpackages/mpich2/install/include  --with-mpi-lib="-L$ISSM_DIR/externalpackages/mpich2/install/lib/ -lmpich" --with-petsc-arch=$ISSM_ARCH --with-dakota-dir=$ISSM_DIR/externalpackages/dakota/install --with-blas-lapack-dir=$ISSM_DIR/externalpackages/petsc/install/$ISSM_ARCH/lib --with-plapack-dir=$ISSM_DIR/externalpackages/petsc/install/$ISSM_ARCH/lib --with-blacs-dir=$ISSM_DIR/externalpackages/petsc/install/$ISSM_ARCH/lib --with-scalapack-dir=$ISSM_DIR/externalpackages/petsc/install/$ISSM_ARCH/lib --with-mumps-dir=$ISSM_DIR/externalpackages/petsc/install/$ISSM_ARCH/ --with-fortran-lib="-L/usr/lib/gcc/x86_64-redhat-linux/4.1.1/ -lgfortran" --with-graphics-lib=/usr/lib64/libX11.so 
Index: /issm/trunk/etc/cluster.rc
===================================================================
--- /issm/trunk/etc/cluster.rc	(revision 2041)
+++ /issm/trunk/etc/cluster.rc	(revision 2042)
@@ -39,5 +39,5 @@
 
 cluster_name=astrid
-cluster_codepath=/u/astrid1/larour/issm/trunk/bin
+cluster_codepath=/u/astrid-r1b/larour/issm/trunk/bin
 cluster_executionpath=/u/wilkes-r1b/larour/Testing/Execution
 
Index: /issm/trunk/etc/environment.sh
===================================================================
--- /issm/trunk/etc/environment.sh	(revision 2041)
+++ /issm/trunk/etc/environment.sh	(revision 2042)
@@ -29,6 +29,6 @@
 #PETSC
 export PETSC_DIR
-export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PETSC_DIR/lib/$ISSM_ARCH"
-export LD_RUN_PATH="$LD_RUN_PATH:$PETSC_DIR/lib/$ISSM_ARCH"
+export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PETSC_DIR/lib/"
+export LD_RUN_PATH="$LD_RUN_PATH:$PETSC_DIR/lib"
 
 #SLEPC
Index: /issm/trunk/m4/issm_options.m4
===================================================================
--- /issm/trunk/m4/issm_options.m4	(revision 2041)
+++ /issm/trunk/m4/issm_options.m4	(revision 2042)
@@ -275,30 +275,25 @@
 	if test -d "$PETSC_ROOT"; then
 
-		if test -d "$PETSC_ROOT/bmake/$PETSC_ARCH"; then
-		
-			PETSCINCL="-I$PETSC_ROOT/include  -I$PETSC_ROOT/ -I$PETSC_ROOT/bmake/$PETSC_ARCH -I$PETSC_ROOT/src/mat/impls/dense/mpi/plapack/"
-		
-			case "${host_os}" in
-				*cygwin*)
-				PETSCLIB="-link -LIBPATH:\"$PETSC_ROOT/lib/$PETSC_ARCH\" libpetscksp.lib  libpetscdm.lib  libpetscmat.lib  libpetscvec.lib libpetsc.lib  libpetscsnes.lib libpetscts.lib libmpiuni.lib"
-				;;
-				*linux*)
-				PETSCLIB="-L$PETSC_ROOT/lib/$PETSC_ARCH -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetsc  -lpetscsnes -lpetscts"
-				;;
-				*darwin9.6.0*)
-				PETSCLIB="-L$PETSC_ROOT/lib/$PETSC_ARCH -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetsc  -lpetscsnes -lpetscts"
-				;;
-			esac
-			                          
-
-
-			AC_DEFINE([_HAVE_PETSC_],[1],[with Petsc in ISSM src])
-			AC_SUBST([PETSCINCL])
-			AC_SUBST([PETSCLIB])
-
-			HAVE_PETSC=yes
-		else
-			HAVE_PETSC=no
-		fi
+		PETSCINCL="-I$PETSC_ROOT/$PETSC_ARCH/include  -I$PETSC_ROOT/include -I$PETSC_ROOT/ -I$PETSC_ROOT/bmake/$PETSC_ARCH -I$PETSC_ROOT/src/mat/impls/dense/mpi/plapack/"
+	
+		case "${host_os}" in
+			*cygwin*)
+			PETSCLIB="-link -LIBPATH:\"$PETSC_ROOT/lib/$PETSC_ARCH\" libpetscksp.lib  libpetscdm.lib  libpetscmat.lib  libpetscvec.lib libpetsc.lib  libpetscsnes.lib libpetscts.lib libmpiuni.lib"
+			;;
+			*linux*)
+			PETSCLIB="-L$PETSC_ROOT/$PETSC_ARCH/lib -L$PETSC_ROOT/lib -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetsc  -lpetscsnes -lpetscts"
+			;;
+			*darwin9.6.0*)
+			PETSCLIB="-L$PETSC_ROOT/lib/$PETSC_ARCH -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetsc  -lpetscsnes -lpetscts"
+			;;
+		esac
+								  
+
+
+		AC_DEFINE([_HAVE_PETSC_],[1],[with Petsc in ISSM src])
+		AC_SUBST([PETSCINCL])
+		AC_SUBST([PETSCLIB])
+
+		HAVE_PETSC=yes
 	else
 		HAVE_PETSC=no
@@ -476,5 +471,5 @@
 		HAVE_MUMPS=yes
 		MUMPSINCL=-I"$MUMPS_ROOT/include"
-		MUMPSLIB=-L"$MUMPS_ROOT/lib -ldmumps -lcmumps -lpord"
+		MUMPSLIB=-L"$MUMPS_ROOT/lib -ldmumps -lcmumps  -lmumps_common -lpord -lparmetis"
 
 		AC_DEFINE([_HAVE_MUMPS_],[1],[with Mumps in ISSM src])
Index: /issm/trunk/src/c/Makefile.am
===================================================================
--- /issm/trunk/src/c/Makefile.am	(revision 2041)
+++ /issm/trunk/src/c/Makefile.am	(revision 2042)
@@ -615,5 +615,5 @@
 endif
 
-LDADD = ./libpISSM.a $(METISLIB) $(PETSCLIB) $(DAKOTALIB) $(SLEPCLIB) $(MUMPSLIB) $(PLAPACKLIB)  $(MPILIB) $(X_LIBS) $(GRAPHICSLIB) $(BLASLAPACKLIB) $(MKLLIB) $(SCALAPACKLIB) $(BLACSLIB) $(FLIBS)
+LDADD =   ./libpISSM.a $(PETSCLIB)   $(FLIBS)  $(PLAPACKLIB)  $(MUMPSLIB) $(SCALAPACKLIB)  $(BLACSLIB)  $(DAKOTALIB) $(METISLIB) $(BLASLAPACKLIB)  $(MPILIB) $(MATHLIB) $(FORTRANLIB) $(GRAPHICSLIB)
 
 diagnostic_exe_SOURCES = parallel/diagnostic.cpp
Index: /issm/trunk/src/c/Reduceloadfromgtofx/Reduceloadfromgtofx.cpp
===================================================================
--- /issm/trunk/src/c/Reduceloadfromgtofx/Reduceloadfromgtofx.cpp	(revision 2041)
+++ /issm/trunk/src/c/Reduceloadfromgtofx/Reduceloadfromgtofx.cpp	(revision 2042)
@@ -36,5 +36,5 @@
 		
 			/*Create G_mn'*/
-			MatTranspose(G_mn,&tG_mn);  
+			MatTranspose(G_mn,MAT_INITIAL_MATRIX,&tG_mn);  
 
 			/*Create G_mn' * pm*/
Index: /issm/trunk/src/c/Reducematrixfromgtofx/Reducematrixfromgton.cpp
===================================================================
--- /issm/trunk/src/c/Reducematrixfromgtofx/Reducematrixfromgton.cpp	(revision 2041)
+++ /issm/trunk/src/c/Reducematrixfromgtofx/Reducematrixfromgton.cpp	(revision 2042)
@@ -50,5 +50,5 @@
 			
 			//K_nn = K_nn + G_mn' * K_mn;
-			MatTranspose(Gmn,&tGmn);
+			MatTranspose(Gmn,MAT_INITIAL_MATRIX,&tGmn);
 			MatMatMult(tGmn,Kmn,MAT_INITIAL_MATRIX,PETSC_DEFAULT,&tGmnKmn);
 			MatAXPY(Knn,a,tGmnKmn,DIFFERENT_NONZERO_PATTERN);
Index: /issm/trunk/src/c/Solverx/Solverx.cpp
===================================================================
--- /issm/trunk/src/c/Solverx/Solverx.cpp	(revision 2041)
+++ /issm/trunk/src/c/Solverx/Solverx.cpp	(revision 2042)
@@ -20,4 +20,5 @@
 	/*Solver*/
 	KSP ksp=NULL;
+	PC  pc=NULL;
 	int iteration_number;
 	PetscTruth flag;
@@ -39,25 +40,26 @@
 	PetscOptionsDetermineSolverType(&solver_type,solver_string);
 
-	if (solver_type==MUMPSPACKAGE_LU){
-		/*Convert Kff to MATTAIJMUMPS: */
-		MatConvert(Kff,MATAIJMUMPS,MAT_REUSE_MATRIX,&Kff);
-	}
-	if (solver_type==MUMPSPACKAGE_CHOL){
-		/*Convert Kff to MATTSBAIJMUMPS: */
-		MatConvert(Kff,MATSBAIJMUMPS,MAT_REUSE_MATRIX,&Kff);
-	}
-	if (solver_type==SPOOLESPACKAGE_LU){
-		/*Convert Kff to MATTSBAIJMUMPS: */
-		MatConvert(Kff,MATAIJSPOOLES,MAT_REUSE_MATRIX,&Kff);
-	}
-	if (solver_type==SPOOLESPACKAGE_CHOL){
-		/*Convert Kff to MATTSBAIJMUMPS: */
-		MatConvert(Kff,MATSBAIJSPOOLES,MAT_REUSE_MATRIX,&Kff);
-	}
-	if (solver_type==SUPERLUDISTPACKAGE){
-		/*Convert Kff to MATTSBAIJMUMPS: */
-		MatConvert(Kff,MATSUPERLU_DIST,MAT_REUSE_MATRIX,&Kff);
-	}
-
+	/*obsolete? : */
+//	if (solver_type==MUMPSPACKAGE_LU){
+//		/*Convert Kff to MATTAIJMUMPS: */
+//		MatConvert(Kff,MATAIJMUMPS,MAT_REUSE_MATRIX,&Kff);
+//	}
+//	if (solver_type==MUMPSPACKAGE_CHOL){
+//		/*Convert Kff to MATTSBAIJMUMPS: */
+//		MatConvert(Kff,MATSBAIJMUMPS,MAT_REUSE_MATRIX,&Kff);
+//	}
+//	if (solver_type==SPOOLESPACKAGE_LU){
+//		/*Convert Kff to MATTSBAIJMUMPS: */
+//		MatConvert(Kff,MATAIJSPOOLES,MAT_REUSE_MATRIX,&Kff);
+//	}
+//	if (solver_type==SPOOLESPACKAGE_CHOL){
+//		/*Convert Kff to MATTSBAIJMUMPS: */
+//		MatConvert(Kff,MATSBAIJSPOOLES,MAT_REUSE_MATRIX,&Kff);
+//	}
+//	if (solver_type==SUPERLUDISTPACKAGE){
+//		/*Convert Kff to MATTSBAIJMUMPS: */
+//		MatConvert(Kff,MATSUPERLU_DIST,MAT_REUSE_MATRIX,&Kff);
+//	}
+//
 
 	/*Prepare solver*/
@@ -65,4 +67,10 @@
 	KSPSetOperators(ksp,Kff,Kff,DIFFERENT_NONZERO_PATTERN);
 	KSPSetFromOptions(ksp);
+
+	/*specific solver?: */
+	KSPGetPC(ksp,&pc);
+	if (solver_type==MUMPSPACKAGE_LU){
+		PCFactorSetMatSolverPackage(pc,MAT_SOLVER_MUMPS);
+	}
 
 	/*If initial guess for solution, use it, except if we are using the MUMPS direct solver, where any initial 
Index: /issm/trunk/src/c/toolkits/petsc/patches/MatInvert.cpp
===================================================================
--- /issm/trunk/src/c/toolkits/petsc/patches/MatInvert.cpp	(revision 2041)
+++ /issm/trunk/src/c/toolkits/petsc/patches/MatInvert.cpp	(revision 2042)
@@ -52,5 +52,5 @@
 	PCSetType(pc,PCLU);
 	KSPSetUp(ksp);
-	PCGetFactoredMatrix(pc,&factored_matrix);
+	//PCGetFactoredMatrix(pc,&factored_matrix); //not found any replacement yet
 	MatMatSolve(factored_matrix,identity,inv);
 
Index: /issm/trunk/src/c/toolkits/petsc/patches/MatPartition.cpp
===================================================================
--- /issm/trunk/src/c/toolkits/petsc/patches/MatPartition.cpp	(revision 2041)
+++ /issm/trunk/src/c/toolkits/petsc/patches/MatPartition.cpp	(revision 2042)
@@ -35,5 +35,5 @@
 	int lower_row,upper_row,range;
 	int MA,NA; //matrixA dimensions
-	MatType type;
+	const char* type=NULL;
 	int csize;
 
Index: /issm/trunk/src/c/toolkits/petsc/patches/MatlabMatrixToPetscMatrix.cpp
===================================================================
--- /issm/trunk/src/c/toolkits/petsc/patches/MatlabMatrixToPetscMatrix.cpp	(revision 2041)
+++ /issm/trunk/src/c/toolkits/petsc/patches/MatlabMatrixToPetscMatrix.cpp	(revision 2042)
@@ -27,4 +27,5 @@
 	int rows, cols;
 	double* mxmatrix_ptr=NULL;
+	double* tmatrix=NULL;
 	int ierr;
 	int i,j;
@@ -89,4 +90,12 @@
 		#endif
 
+		/*transpose, as Petsc now does not allows MAT_COLUMN_ORIENTED matrices in MatSetValues: */
+		tmatrix=(double*)xmalloc(rows*cols*sizeof(double));
+		for(i=0;i<cols;i++){
+			for(j=0;j<rows;j++){
+				*(tmatrix+rows*i+j)=*(mxmatrix_ptr+cols*j+i);
+			}
+		}
+
 		/*Create serial matrix: */
 		ierr=MatCreateSeqDense(PETSC_COMM_SELF,rows,cols,NULL,&matrix);CHKERRQ(ierr);
@@ -99,6 +108,7 @@
 		for(i=0;i<cols;i++)idxn[i]=i;
 
-		ierr=MatSetOption(matrix,MAT_COLUMN_ORIENTED); CHKERRQ(ierr);//matlab is col-oriented.
-		ierr=MatSetValues(matrix,rows,idxm,cols,idxn,mxmatrix_ptr,INSERT_VALUES); CHKERRQ(ierr);
+		ierr=MatSetValues(matrix,rows,idxm,cols,idxn,tmatrix,INSERT_VALUES); CHKERRQ(ierr);
+
+		xfree((void**)&tmatrix);
 
 	}
Index: /issm/trunk/src/c/toolkits/petsc/patches/PetscMatrixToMatlabMatrix.cpp
===================================================================
--- /issm/trunk/src/c/toolkits/petsc/patches/PetscMatrixToMatlabMatrix.cpp	(revision 2041)
+++ /issm/trunk/src/c/toolkits/petsc/patches/PetscMatrixToMatlabMatrix.cpp	(revision 2042)
@@ -47,5 +47,5 @@
 
 	/*petsc type: */
-	MatType type;
+	const char* type=NULL;
 	int*    idxm=NULL;
 	int*    idxn=NULL;
Index: /issm/trunk/src/c/toolkits/petsc/patches/PetscOptionsDetermineSolverType.cpp
===================================================================
--- /issm/trunk/src/c/toolkits/petsc/patches/PetscOptionsDetermineSolverType.cpp	(revision 2041)
+++ /issm/trunk/src/c/toolkits/petsc/patches/PetscOptionsDetermineSolverType.cpp	(revision 2042)
@@ -45,5 +45,5 @@
 
 	/*The list of options is going to be pairs of the type "-option option_value"*/
-	PetscToken *token=NULL;
+	PetscToken token=NULL;
 	char* first=NULL;
 	char* second=NULL;
Index: /issm/trunk/src/c/toolkits/petsc/patches/PetscOptionsInsertMultipleString.cpp
===================================================================
--- /issm/trunk/src/c/toolkits/petsc/patches/PetscOptionsInsertMultipleString.cpp	(revision 2041)
+++ /issm/trunk/src/c/toolkits/petsc/patches/PetscOptionsInsertMultipleString.cpp	(revision 2042)
@@ -25,5 +25,5 @@
 
 	/*The list of options is going to be pairs of the type "-option option_value"*/
-	PetscToken *token=NULL;
+	PetscToken token=NULL;
 	char* first=NULL;
 	char* second=NULL;
Index: /issm/trunk/src/mex/Makefile.am
===================================================================
--- /issm/trunk/src/mex/Makefile.am	(revision 2041)
+++ /issm/trunk/src/mex/Makefile.am	(revision 2042)
@@ -57,5 +57,7 @@
 
 
-LDADD =   $(TRIANGLELIB)  $(PETSCLIB)  ../c/libISSM.a  $(METISLIB) $(FLIBS)  $(PLAPACKLIB) $(SCALAPACKLIB) $(BLASLAPACKLIB) $(MUMPSLIB) $(BLACSLIB) $(DAKOTALIB)  $(MPILIB) $(MEXLIB) $(MATHLIB) $(FORTRANLIB)
+#LDADD =   $(TRIANGLELIB)  $(PETSCLIB)  ../c/libISSM.a  $(METISLIB) $(FLIBS)  $(PLAPACKLIB) $(SCALAPACKLIB) $(BLASLAPACKLIB) $(MUMPSLIB) $(BLACSLIB) $(DAKOTALIB)  $(MPILIB) $(MEXLIB) $(MATHLIB) $(FORTRANLIB)
+
+LDADD =   $(TRIANGLELIB) ../c/libISSM.a $(PETSCLIB)   $(FLIBS)  $(PLAPACKLIB)  $(MUMPSLIB) $(SCALAPACKLIB)  $(BLACSLIB)  $(DAKOTALIB) $(METISLIB) $(BLASLAPACKLIB)  $(MPILIB) $(MATHLIB) $(FORTRANLIB) $(GRAPHICSLIB)
 
 AM_LDFLAGS = $(MEXLINK)
Index: /issm/trunk/todo
===================================================================
--- /issm/trunk/todo	(revision 2041)
+++ /issm/trunk/todo	(revision 2042)
@@ -36,2 +36,43 @@
 
 Answer Jesse, Bob.
+
+
+
+
+
+
+
+Look at issm_options.m4, homogeneize! 
+Look at petsc, why doesn't it compile?
+Homogeneize the archive.
+
+
+
+
+
+
+
+Look at issm_options.m4, homogeneize! 
+Look at petsc, why doesn't it compile?
+Homogeneize the archive.
+
+
+
+
+
+
+
+Look at issm_options.m4, homogeneize! 
+Look at petsc, why doesn't it compile?
+Homogeneize the archive.
+
+
+
+
+
+
+
+Look at issm_options.m4, homogeneize! 
+Look at petsc, why doesn't it compile?
+Homogeneize the archive.
+
