Index: /issm/trunk-jpl/src/c/Container/Constraints.cpp
===================================================================
--- /issm/trunk-jpl/src/c/Container/Constraints.cpp	(revision 13603)
+++ /issm/trunk-jpl/src/c/Container/Constraints.cpp	(revision 13604)
@@ -49,6 +49,6 @@
 	/*figure out total number of constraints combining all the cpus (no clones here)*/
 	#ifdef _HAVE_MPI_
-		MPI_Reduce(&localconstraints,&numberofconstraints,1,MPI_INT,MPI_SUM,0,MPI_COMM_WORLD );
-		MPI_Bcast(&numberofconstraints,1,MPI_INT,0,MPI_COMM_WORLD);
+		MPI_Reduce(&localconstraints,&numberofconstraints,1,MPI_INT,MPI_SUM,0,IssmComm::GetComm() );
+		MPI_Bcast(&numberofconstraints,1,MPI_INT,0,IssmComm::GetComm());
 	#else
 		numberofconstraints=localconstraints;
Index: /issm/trunk-jpl/src/c/Container/Elements.cpp
===================================================================
--- /issm/trunk-jpl/src/c/Container/Elements.cpp	(revision 13603)
+++ /issm/trunk-jpl/src/c/Container/Elements.cpp	(revision 13604)
@@ -126,10 +126,10 @@
 	/*Synchronize across cluster, so as to not end up with different sizes for each patch on each cpu: */
 	#ifdef _HAVE_MPI_
-	MPI_Reduce (&numvertices,&max_numvertices,1,MPI_INT,MPI_MAX,0,MPI_COMM_WORLD );
-	MPI_Bcast(&max_numvertices,1,MPI_INT,0,MPI_COMM_WORLD);
+	MPI_Reduce (&numvertices,&max_numvertices,1,MPI_INT,MPI_MAX,0,IssmComm::GetComm() );
+	MPI_Bcast(&max_numvertices,1,MPI_INT,0,IssmComm::GetComm());
 	numvertices=max_numvertices;
 
-	MPI_Reduce (&numnodes,&max_numnodes,1,MPI_INT,MPI_MAX,0,MPI_COMM_WORLD );
-	MPI_Bcast(&max_numnodes,1,MPI_INT,0,MPI_COMM_WORLD);
+	MPI_Reduce (&numnodes,&max_numnodes,1,MPI_INT,MPI_MAX,0,IssmComm::GetComm() );
+	MPI_Bcast(&max_numnodes,1,MPI_INT,0,IssmComm::GetComm());
 	numnodes=max_numnodes;
 	#endif
@@ -202,5 +202,5 @@
 		if(this->Size()) rank=my_rank2;
 		else rank=num_procs2;
-		MPI_Allreduce (&rank,&minrank,1,MPI_INT,MPI_MIN,MPI_COMM_WORLD);
+		MPI_Allreduce (&rank,&minrank,1,MPI_INT,MPI_MIN,IssmComm::GetComm());
 		#else
 		minrank=my_rank2;
@@ -214,5 +214,5 @@
 		}
 		#ifdef _HAVE_MPI_
-		MPI_Bcast(&numberofresults,1,MPI_DOUBLE,minrank,MPI_COMM_WORLD);
+		MPI_Bcast(&numberofresults,1,MPI_DOUBLE,minrank,IssmComm::GetComm());
 		#endif
 
@@ -226,8 +226,8 @@
 			resultssteps=xNew<int>(numberofresults);
 		}
-		MPI_Bcast(resultsenums,numberofresults,MPI_INT,minrank,MPI_COMM_WORLD);
-		MPI_Bcast(resultssizes,numberofresults,MPI_INT,minrank,MPI_COMM_WORLD);
-		MPI_Bcast(resultstimes,numberofresults,MPI_DOUBLE,minrank,MPI_COMM_WORLD);
-		MPI_Bcast(resultssteps,numberofresults,MPI_INT,minrank,MPI_COMM_WORLD);
+		MPI_Bcast(resultsenums,numberofresults,MPI_INT,minrank,IssmComm::GetComm());
+		MPI_Bcast(resultssizes,numberofresults,MPI_INT,minrank,IssmComm::GetComm());
+		MPI_Bcast(resultstimes,numberofresults,MPI_DOUBLE,minrank,IssmComm::GetComm());
+		MPI_Bcast(resultssteps,numberofresults,MPI_INT,minrank,IssmComm::GetComm());
 		#endif
 
@@ -304,5 +304,5 @@
 	local_nelem=this->Size();
 	#ifdef _HAVE_MPI_
-	MPI_Allreduce ( (void*)&local_nelem,(void*)&numberofelements,1,MPI_INT,MPI_SUM,MPI_COMM_WORLD);
+	MPI_Allreduce ( (void*)&local_nelem,(void*)&numberofelements,1,MPI_INT,MPI_SUM,IssmComm::GetComm());
 	#else
 	numberofelements=local_nelem;
Index: /issm/trunk-jpl/src/c/Container/Loads.cpp
===================================================================
--- /issm/trunk-jpl/src/c/Container/Loads.cpp	(revision 13603)
+++ /issm/trunk-jpl/src/c/Container/Loads.cpp	(revision 13604)
@@ -64,6 +64,6 @@
 	/*figure out total number of loads combining all the cpus (no clones here)*/
 	#ifdef _HAVE_MPI_
-	MPI_Reduce(&localloads,&numberofloads,1,MPI_INT,MPI_SUM,0,MPI_COMM_WORLD );
-	MPI_Bcast(&numberofloads,1,MPI_INT,0,MPI_COMM_WORLD);
+	MPI_Reduce(&localloads,&numberofloads,1,MPI_INT,MPI_SUM,0,IssmComm::GetComm() );
+	MPI_Bcast(&numberofloads,1,MPI_INT,0,IssmComm::GetComm());
 	#else
 	numberofloads=localloads;
Index: /issm/trunk-jpl/src/c/Container/Nodes.cpp
===================================================================
--- /issm/trunk-jpl/src/c/Container/Nodes.cpp	(revision 13603)
+++ /issm/trunk-jpl/src/c/Container/Nodes.cpp	(revision 13604)
@@ -90,6 +90,6 @@
 	alldofcount=xNew<int>(num_procs2);
 	#ifdef _HAVE_MPI_
-	MPI_Gather(&dofcount,1,MPI_INT,alldofcount,1,MPI_INT,0,MPI_COMM_WORLD);
-	MPI_Bcast(alldofcount,num_procs2,MPI_INT,0,MPI_COMM_WORLD);
+	MPI_Gather(&dofcount,1,MPI_INT,alldofcount,1,MPI_INT,0,IssmComm::GetComm());
+	MPI_Bcast(alldofcount,num_procs2,MPI_INT,0,IssmComm::GetComm());
 	#else
 	alldofcount[0]=dofcount;
@@ -129,5 +129,5 @@
 
 	#ifdef _HAVE_MPI_
-	MPI_Allreduce((void*)truedofs,(void*)alltruedofs,numnodes*maxdofspernode,MPI_INT,MPI_MAX,MPI_COMM_WORLD);
+	MPI_Allreduce((void*)truedofs,(void*)alltruedofs,numnodes*maxdofspernode,MPI_INT,MPI_MAX,IssmComm::GetComm());
 	#else
 	for(i=0;i<numnodes*maxdofspernode;i++)alltruedofs[i]=truedofs[i];
@@ -174,5 +174,5 @@
 	 * order of cpu rank. This is also why we initialized this array to num_procs.*/
 	#ifdef _HAVE_MPI_
-	MPI_Allreduce((void*)ranks,(void*)minranks,numnodes,MPI_INT,MPI_MIN,MPI_COMM_WORLD);
+	MPI_Allreduce((void*)ranks,(void*)minranks,numnodes,MPI_INT,MPI_MIN,IssmComm::GetComm());
 	#else
 	for(i=0;i<numnodes;i++)minranks[i]=ranks[i];
@@ -221,5 +221,5 @@
 	/*Grab max of all cpus: */
 	#ifdef _HAVE_MPI_
-	MPI_Allreduce ( (void*)&max,(void*)&allmax,1,MPI_INT,MPI_MAX,MPI_COMM_WORLD);
+	MPI_Allreduce ( (void*)&max,(void*)&allmax,1,MPI_INT,MPI_MAX,IssmComm::GetComm());
 	max=allmax;
 	#endif
@@ -255,5 +255,5 @@
 	/*Gather from all cpus: */
 	#ifdef _HAVE_MPI_
-	MPI_Allreduce ( (void*)&numdofs,(void*)&allnumdofs,1,MPI_INT,MPI_SUM,MPI_COMM_WORLD);
+	MPI_Allreduce ( (void*)&numdofs,(void*)&allnumdofs,1,MPI_INT,MPI_SUM,IssmComm::GetComm());
 	#else
 	allnumdofs=numdofs;
@@ -282,5 +282,5 @@
 	/*Gather from all cpus: */
 	#ifdef _HAVE_MPI_
-	MPI_Allreduce ( (void*)&numnodes,(void*)&allnumnodes,1,MPI_INT,MPI_SUM,MPI_COMM_WORLD);
+	MPI_Allreduce ( (void*)&numnodes,(void*)&allnumnodes,1,MPI_INT,MPI_SUM,IssmComm::GetComm());
 	#else
 	allnumnodes=numnodes;
@@ -312,6 +312,6 @@
 
 	#ifdef _HAVE_MPI_
-	MPI_Reduce (&max_sid,&node_max_sid,1,MPI_INT,MPI_MAX,0,MPI_COMM_WORLD );
-	MPI_Bcast(&node_max_sid,1,MPI_INT,0,MPI_COMM_WORLD);
+	MPI_Reduce (&max_sid,&node_max_sid,1,MPI_INT,MPI_MAX,0,IssmComm::GetComm() );
+	MPI_Bcast(&node_max_sid,1,MPI_INT,0,IssmComm::GetComm());
 	max_sid=node_max_sid;
 	#endif
Index: /issm/trunk-jpl/src/c/Container/Vertices.cpp
===================================================================
--- /issm/trunk-jpl/src/c/Container/Vertices.cpp	(revision 13603)
+++ /issm/trunk-jpl/src/c/Container/Vertices.cpp	(revision 13604)
@@ -66,6 +66,6 @@
 	allpidcount=xNew<int>(num_procs2);
 	#ifdef _HAVE_MPI_
-	MPI_Gather(&pidcount,1,MPI_INT,allpidcount,1,MPI_INT,0,MPI_COMM_WORLD);
-	MPI_Bcast(allpidcount,num_procs2,MPI_INT,0,MPI_COMM_WORLD);
+	MPI_Gather(&pidcount,1,MPI_INT,allpidcount,1,MPI_INT,0,IssmComm::GetComm());
+	MPI_Bcast(allpidcount,num_procs2,MPI_INT,0,IssmComm::GetComm());
 	#else
 	allpidcount[0]=pidcount;
@@ -94,5 +94,5 @@
 	}
 	#ifdef _HAVE_MPI_
-	MPI_Allreduce((void*)truepids,(void*)alltruepids,numberofobjects,MPI_INT,MPI_MAX,MPI_COMM_WORLD);
+	MPI_Allreduce((void*)truepids,(void*)alltruepids,numberofobjects,MPI_INT,MPI_MAX,IssmComm::GetComm());
 	#else
 	for(i=0;i<numberofobjects;i++)alltruepids[i]=truepids[i];
@@ -137,5 +137,5 @@
 	 * order of cpu rank. This is also why we initialized this array to num_procs.*/
 	#ifdef _HAVE_MPI_
-	MPI_Allreduce ( (void*)ranks,(void*)minranks,numberofobjects,MPI_INT,MPI_MIN,MPI_COMM_WORLD);
+	MPI_Allreduce ( (void*)ranks,(void*)minranks,numberofobjects,MPI_INT,MPI_MIN,IssmComm::GetComm());
 	#else
 	for(i=0;i<numberofobjects;i++)minranks[i]=ranks[i];
@@ -169,6 +169,6 @@
 
 	#ifdef _HAVE_MPI_
-	MPI_Reduce (&max_sid,&vertex_max_sid,1,MPI_INT,MPI_MAX,0,MPI_COMM_WORLD );
-	MPI_Bcast(&vertex_max_sid,1,MPI_INT,0,MPI_COMM_WORLD);
+	MPI_Reduce (&max_sid,&vertex_max_sid,1,MPI_INT,MPI_MAX,0,IssmComm::GetComm() );
+	MPI_Bcast(&vertex_max_sid,1,MPI_INT,0,IssmComm::GetComm());
 	max_sid=vertex_max_sid;
 	#endif
