diff -ruN foam-extend-3.0.orig/etc/settings.sh foam-extend-3.0/etc/settings.sh
--- foam-extend-3.0.orig/etc/settings.sh	2014-02-27 09:52:22.524463655 +0100
+++ foam-extend-3.0/etc/settings.sh	2014-02-27 11:48:54.290303826 +0100
@@ -334,6 +334,16 @@
     unset mpi_version
     ;;
 
+IMPI)
+    export MPI_HOME=$EBROOTIMPI/intel64
+    export MPI_ARCH_PATH=$EBROOTIMPI/intel64
+
+    _foamAddPath $MPI_ARCH_PATH/bin
+    _foamAddLib $MPI_ARCH_PATH/lib
+
+    export FOAM_MPI_LIBBIN=$FOAM_LIBBIN/impi
+    ;; 
+
 MPICH)
     mpi_version=mpich-1.2.4
     export MPI_HOME=$WM_THIRD_PARTY_DIR/$mpi_version
diff -ruN foam-extend-3.0.orig/src/decompositionMethods/metisDecomp/Make/options foam-extend-3.0/src/decompositionMethods/metisDecomp/Make/options
--- foam-extend-3.0.orig/src/decompositionMethods/metisDecomp/Make/options	2014-02-27 09:52:22.558463656 +0100
+++ foam-extend-3.0/src/decompositionMethods/metisDecomp/Make/options	2014-02-27 11:50:36.439475845 +0100
@@ -1,8 +1,12 @@
+include $(RULES)/mplib$(WM_MPLIB)
+
 EXE_INC = \
+    $(PINC) $(PFLAGS) \
     -I$(METIS_INCLUDE_DIR) \
     -I../decompositionMethods/lnInclude \
     -I../scotchDecomp/lnInclude
 
 LIB_LIBS = \
+    $(PLIBS) \
     -L$(FOAM_LIBBIN)/dummy \
     -L$(METIS_LIB_DIR) -lmetis
diff -ruN foam-extend-3.0.orig/src/decompositionMethods/parMetisDecomp/Make/options foam-extend-3.0/src/decompositionMethods/parMetisDecomp/Make/options
--- foam-extend-3.0.orig/src/decompositionMethods/parMetisDecomp/Make/options	2014-02-27 09:52:22.558463656 +0100
+++ foam-extend-3.0/src/decompositionMethods/parMetisDecomp/Make/options	2014-02-27 11:51:10.259206062 +0100
@@ -9,4 +9,4 @@
 
 LIB_LIBS = \
     -L$(FOAM_MPI_LIBBIN) \
-    -L$(PARMETIS_LIB_DIR) -lparmetis
+    -L$(PARMETIS_LIB_DIR) -lparmetis -lmetis
diff -ruN foam-extend-3.0.orig/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options foam-extend-3.0/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options
--- foam-extend-3.0.orig/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options	2014-02-27 09:52:22.860463667 +0100
+++ foam-extend-3.0/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options	2014-02-27 11:48:54.290303826 +0100
@@ -7,9 +7,8 @@
 
 EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(PARMGRIDGEN_INCLUDE_DIR)/Lib    \
-    -I$(PARMGRIDGEN_INCLUDE_DIR)/IMlib  \
+    -I$(PARMGRIDGEN_INCLUDE_DIR)    \
     $(TYPE_REAL)
 
 LIB_LIBS = \
-    -L$(PARMGRIDGEN_LIB_DIR) -lMGridGen
+    -L$(PARMGRIDGEN_LIB_DIR) -lmgrid
diff -ruN foam-extend-3.0.orig/wmake/rules/linux64Icc/mplibIMPI foam-extend-3.0/wmake/rules/linux64Icc/mplibIMPI
--- foam-extend-3.0.orig/wmake/rules/linux64Icc/mplibIMPI	1970-01-01 01:00:00.000000000 +0100
+++ foam-extend-3.0/wmake/rules/linux64Icc/mplibIMPI	2014-02-27 11:48:54.290303826 +0100
@@ -0,0 +1,3 @@
+PFLAGS     = -DMPICH_IGNORE_CXX_SEEK
+PINC       = -I$(MPI_ARCH_PATH)/include -DMPICH_SKIP_MPICXX
+PLIBS      = -L$(MPI_ARCH_PATH)/lib -lmpi
