<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:arial, helvetica, sans-serif;font-size:10pt"><div style="background-color: white; color: black; font-family: arial, helvetica, sans-serif; font-size: 10pt; "></div><div style="background-color: white; color: black; font-family: arial, helvetica, sans-serif; font-size: 10pt; ">Hi Tim,</div><div style="background-color: white; color: black; font-family: arial, helvetica, sans-serif; font-size: 10pt; "><br></div><div style="background-color: white; color: black; font-family: arial, helvetica, sans-serif; font-size: 10pt; ">I'm &nbsp;unable to get the parallel version of ACIS based MeshKit running,&nbsp;</div><div style="background-color: white; "><font class="Apple-style-span" face="arial, helvetica, sans-serif" size="2">there is an error when running CoreGen (HongJun has the same thing, we are trying to fix it.</font></div><div style="background-color:
 white; "><font class="Apple-style-span" face="arial, helvetica, sans-serif" size="2">---------------------------------------------------------------------------------------</font></div><div style="background-color: white; "><font class="Apple-style-span" face="arial, helvetica, sans-serif" size="2">....MeshKit-acis/rgg&gt; coregen</font></div><div style="background-color: white; "><font class="Apple-style-span" face="arial, helvetica, sans-serif" size="2">.....</font></div><div style="background-color: white; "><span class="Apple-style-span" style="font-family: arial, helvetica, sans-serif; font-size: small; ">Internal Error: invalid error code 1dc52e0 (Ring Index out of range) in MPIR_Init_thread:394</span></div><div style="background-color: white; "><font class="Apple-style-span" face="arial, helvetica, sans-serif" size="2">p0_5954: &nbsp;p4_error: interrupt SIGSEGV: 11</font></div><div style="color: black; font-family: arial, helvetica, sans-serif;
 font-size: 10pt; ">-----------------------------------------------------------------------------------------</div><div style="background-color: white; color: black; font-family: arial, helvetica, sans-serif; font-size: 10pt; ">my OCC based MeshKit works and I'll try to see how to parallel mergemesh fits into CoreGen.</div><div style="background-color: white; color: black; font-family: arial, helvetica, sans-serif; font-size: 10pt; ">Is there an example for using&nbsp;<meta http-equiv="content-type" content="text/html; charset=utf-8">ParallelMergeMesh?</div><div style="background-color: white; color: black; font-family: arial, helvetica, sans-serif; font-size: 10pt; "><br></div><div style="background-color: white; color: black; font-family: arial, helvetica, sans-serif; font-size: 10pt; ">Recently, I've found that saving and extrusion are the steps that eat a lot of memory and take the most time.</div><div style="background-color: white; color: black;
 font-family: arial, helvetica, sans-serif; font-size: 10pt; ">I'm thinking of parallel save and extrusion?</div><div style="color: black; font-family: arial, helvetica, sans-serif; font-size: 10pt; "><br></div><div style="color: black; font-family: arial, helvetica, sans-serif; font-size: 10pt; "><span class="Apple-style-span" style="background-color: transparent;">Also, exploring pCAMAL in Cubit 12.2:</span></div><div style="color: black; font-family: arial, helvetica, sans-serif; font-size: 10pt; "><span class="Apple-style-span" style="background-color: transparent;">"The <em><span>set <font style="color: black; ">parallel</font> meshing</span></em> works with the <em><span>export <font style="color: black; ">parallel</font></span></em> 
 com</span><span class="Apple-style-span" style="background-color: white;">mand to&nbsp;</span></div><div style="color: black; font-family: arial, helvetica, sans-serif; font-size: 10pt; "><span class="Apple-style-span" style="background-color: white;">generate a boundary mesh suitable for sweeping with the pCAMAL 
 application."</span></div><div style="background-color: white; color: black; font-family: arial, helvetica, sans-serif; font-size: 10pt; ">&nbsp;</div><font style="font-family: arial, helvetica, sans-serif; background-color: white; color: black; font-size: 10pt; " size="2">Rajeev</font><br><div style="background-color: white; color: black; font-family: arial, helvetica, sans-serif; font-size: 10pt; ">P.S. Please let me know the correction/additions to the poster.</div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; background-color: white; color: black; "><br><div style="font-family:arial, helvetica, sans-serif;font-size:10pt"><font size="2" face="Tahoma"><hr size="1"><b><span style="font-weight: bold;">From:</span></b> "tautges@mcs.anl.gov" &lt;tautges@mcs.anl.gov&gt;<br><b><span style="font-weight: bold;">To:</span></b> moab-dev@mcs.anl.gov<br><b><span style="font-weight: bold;">Sent:</span></b> Wednesday, March 23, 2011
 13:58:18<br><b><span style="font-weight: bold;">Subject:</span></b> [MOAB-dev] r4632 - in MOAB/trunk: src/io src/parallel src/parallel/moab test/parallel tools/vtkMOABReader<br></font><br>Author: tautges<br>Date: 2011-03-23 13:58:17 -0500 (Wed, 23 Mar 2011)<br>New Revision: 4632<br><br>Modified:<br>&nbsp;  MOAB/trunk/src/io/ReadNC.cpp<br>&nbsp;  MOAB/trunk/src/parallel/ParallelMergeMesh.cpp<br>&nbsp;  MOAB/trunk/src/parallel/moab/ParallelMergeMesh.hpp<br>&nbsp;  MOAB/trunk/test/parallel/parmerge.cpp<br>&nbsp;  MOAB/trunk/tools/vtkMOABReader/vtkMOABReader.cxx<br>Log:<br>ParallelMergeMesh: updates from Nathan, now it works.<br><br>ReadNC: change method used to partition, so it checks available parameters against # procs; <br>also partition over I first, then J, then K.<br><br>vtkMOABReader: handle tags on vertices differently, as data associated with points instead<br>of with point cells.<br><br><br><br>Modified:
 MOAB/trunk/src/io/ReadNC.cpp<br>===================================================================<br>--- MOAB/trunk/src/io/ReadNC.cpp&nbsp;&nbsp;&nbsp; 2011-03-22 05:39:07 UTC (rev 4631)<br>+++ MOAB/trunk/src/io/ReadNC.cpp&nbsp;&nbsp;&nbsp; 2011-03-23 18:58:17 UTC (rev 4632)<br>@@ -646,25 +646,39 @@<br>&nbsp;  if (isParallel) {<br>&nbsp; &nbsp; &nbsp;  // partition *the elements* over the parametric space; 1d partition for now, in the k parameter <br>&nbsp; &nbsp; &nbsp;  // (or j if there isn't one)<br>-&nbsp; &nbsp; if (-1 != klMin) {<br>-&nbsp; &nbsp; &nbsp; int dk = (kMax - kMin) / myPcomm-&gt;proc_config().proc_size();<br>-&nbsp; &nbsp; &nbsp; unsigned int extra = (kMax - kMin) % myPcomm-&gt;proc_config().proc_size();<br>-&nbsp; &nbsp; &nbsp; klMin = kMin + myPcomm-&gt;proc_config().proc_rank()*dk + <br>+<br>+&nbsp; &nbsp; if (-1 != ilMin &amp;&amp; (iMax - iMin) &gt; myPcomm-&gt;proc_config().proc_size()) {<br>+&nbsp; &nbsp; &nbsp; int di =
 (iMax - iMin) / myPcomm-&gt;proc_config().proc_size();<br>+&nbsp; &nbsp; &nbsp; unsigned int extra = (iMax - iMin) % myPcomm-&gt;proc_config().proc_size();<br>+&nbsp; &nbsp; &nbsp; ilMin = iMin + myPcomm-&gt;proc_config().proc_rank()*di + <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  std::min(myPcomm-&gt;proc_config().proc_rank(), extra);<br>-&nbsp; &nbsp; &nbsp; klMax = klMin + dk + (myPcomm-&gt;proc_config().proc_rank() &lt; extra ? 1 : 0);<br>+&nbsp; &nbsp; &nbsp; ilMax = ilMin + di + (myPcomm-&gt;proc_config().proc_rank() &lt; extra ? 1 : 0);<br> <br>-&nbsp; &nbsp; &nbsp; ilMin = iMin; ilMax = iMax;<br>+&nbsp; &nbsp; &nbsp; klMin = kMin; klMax = kMax;<br>&nbsp; &nbsp; &nbsp;  jlMin = jMin; jlMax = jMax;<br>&nbsp; &nbsp;  }<br>-&nbsp; &nbsp; else {<br>+&nbsp; &nbsp; else if (-1 != jlMin &amp;&amp; (jMax - jMin) &gt; myPcomm-&gt;proc_config().proc_size()) {<br>&nbsp; &nbsp; &nbsp;  int dj = (jMax - jMin) / myPcomm-&gt;proc_config().proc_size();<br>&nbsp;
 &nbsp; &nbsp;  unsigned int extra = (jMax - jMin) % myPcomm-&gt;proc_config().proc_size();<br>&nbsp; &nbsp; &nbsp;  jlMin = jMin + myPcomm-&gt;proc_config().proc_rank()*dj + <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  std::min(myPcomm-&gt;proc_config().proc_rank(), extra);<br>&nbsp; &nbsp; &nbsp;  jlMax = jlMin + dj + (myPcomm-&gt;proc_config().proc_rank() &lt; extra ? 1 : 0);<br> <br>+&nbsp; &nbsp; &nbsp; klMin = kMin; klMax = kMax;<br>&nbsp; &nbsp; &nbsp;  ilMin = iMin; ilMax = iMax;<br>&nbsp; &nbsp;  }<br>+&nbsp; &nbsp; else if (-1 != klMin &amp;&amp; (kMax - kMin) &gt; myPcomm-&gt;proc_config().proc_size()) {<br>+&nbsp; &nbsp; &nbsp; int dk = (kMax - kMin) / myPcomm-&gt;proc_config().proc_size();<br>+&nbsp; &nbsp; &nbsp; unsigned int extra = (kMax - kMin) % myPcomm-&gt;proc_config().proc_size();<br>+&nbsp; &nbsp; &nbsp; klMin = kMin + myPcomm-&gt;proc_config().proc_rank()*dk + <br>+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
 std::min(myPcomm-&gt;proc_config().proc_rank(), extra);<br>+&nbsp; &nbsp; &nbsp; klMax = klMin + dk + (myPcomm-&gt;proc_config().proc_rank() &lt; extra ? 1 : 0);<br>+<br>+&nbsp; &nbsp; &nbsp; jlMin = jMin; jlMax = jMax;<br>+&nbsp; &nbsp; &nbsp; ilMin = iMin; ilMax = iMax;<br>+&nbsp; &nbsp; }<br>+&nbsp; &nbsp; else<br>+&nbsp; &nbsp; &nbsp; ERRORR(MB_FAILURE, "Couldn't find a suitable partition.");<br>&nbsp;  }<br> #endif<br>&nbsp; &nbsp;  <br></div></div><div style="position: fixed; background-color: white; color: black; font-family: arial, helvetica, sans-serif; font-size: 10pt; "></div>


</div><br></body></html>