<div dir="ltr">Hi Georg,<div><br></div><div>You are correct that a more efficient solution is possible. After reading the Ensight Gold binary format ( <a href="http://www-vis.lbl.gov/NERSC/Software/ensight/doc/OnlineHelp/UM-C11.pdf">http://www-vis.lbl.gov/NERSC/Software/ensight/doc/OnlineHelp/UM-C11.pdf</a> ) I have discovered how you can do this more efficiently.</div>

<div><br></div><div style>If you are start at 11-37 you will see that they state:</div><div style><br></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div style><div style>&quot;Note 3: Efficient reading of each file (especially binary) is facilitated by </div>

</div><div style><div style>appending each file with a file index. A file index contains appropriate </div></div><div style><div style>information to access the file byte positions of each time step in the file. (EnSight </div>

</div><div style><div style>automatically appends a file index to each file when exporting in transient single </div></div><div style><div style>file format.) If used, the file index must follow the last END TIME STEP</div>

</div><div style><div style>wrapper in each file.&quot;</div></div><div style><div style><br></div></div><div style><div style>File Index Usage:</div></div><div style><div style>ASCII, Binary, Item, Description</div></div>

<div style><div style>“%20d\n”, sizeof(int), n, Total number of data time steps in the file.</div></div><div style><div style>“%20d\n”, sizeof(long), fb1, File byte loc for contents of 1st time step*</div></div><div style>

<div style>“%20d\n”, sizeof(long), fb2, File byte loc for contents of 2nd time step*</div></div><div style><div style><div style>. . .,  . . .,  . . .,  . . .</div></div></div><div style><div style><div style>“%20d\n”, sizeof(long), fbn, File byte loc for contents of nth time step*</div>

</div></div><div style><div style><div style>“%20d\n”, sizeof(int), flag, Miscellaneous flag (= 0 for now)</div></div></div><div style><div style><div style>“%20d\n”, sizeof(long), fb, of item n File byte loc for Item n above</div>

</div></div><div style><div style><div style>“%s\n”, sizeof(char)*80, “FILE_INDEX”, File index keyword</div></div></div><div style><div style>* Each file byte location is the first byte that follows the BEGIN TIME STEP record</div>

</div></blockquote><div><br></div><div style>To me the best way is to read the file in reverse looking for FILE_INDEX as the last 80 characters. From that you parse the previous long as</div><div style>the new seek position which jumps you to the start of the file index records. After reading the file index records you have a lookup table for all seek positions of the time steps in that ensight file.</div>

</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Mar 6, 2013 at 4:23 AM, Georg Hammerl <span dir="ltr">&lt;<a href="mailto:hammerl@lnm.mw.tum.de" target="_blank">hammerl@lnm.mw.tum.de</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
I have already posted this issue on the paraview mailing list, but then I realized that it is more of a VTK problem.<br>
I can load the first time step of my results but when I switch to the next step (in which 4 points are added), paraview freezes and htop shows 100% load for this process. Surprisingly, this only happens when I use binary ensight gold format. The same results written in ascii ensight gold format work. The ens_checker tells me for both cases that I have valid output files.<br>


<br>
Meanwhile I had a look into the source code and discovered the issue. Whenever the variable-files are read for a time steps greater than 1, Paraview has to jump in the binary file to the desired timestep. This is done by partially parsing and skipping blocks until the correct &quot;BEGIN TIME STEP&quot; is found. In order to skip the correct block length, Paraview uses the number of points (numPts) from the current geometry step. This breaks with a varying number of points per timestep.<br>


As an example my first step contains 2 points and the second step 6 points, therefore when Paraview skips the first time step, it skips a block length equivalent to 6 points. The correct number would be 2 points. It therefore skips past the next &quot;BEGIN TIME STEP&quot;.<br>


<br>
In order to verify my theory I have implemented a little hack which looks for the next &quot;BEGIN TIME STEP&quot; by brute force. In case someone wants to try this I have attached a patch which can be used in conjunction with the attached examples.<br>


<br>
A clean solution would be to skip the correct number of points for every given timestep. Unfortunately I do not have enough insight into the VTK ensight reader to implement this and would appreciate any help in finding a clean solution to this.<br>


<br>
Cheers,<br>
<br>
Georg<span class="HOEnZb"><font color="#888888"><br>
<br>
-- <br>
Dipl.-Ing. Georg Hammerl<br>
Lehrstuhl für Numerische Mechanik<br>
Technische Universität München<br>
Boltzmannstrasse 15, D-85747 Garching b. München<br>
phone <a href="tel:%2B49%2089%20289%2015237" value="+498928915237" target="_blank">+49 89 289 15237</a><br>
fax <a href="tel:%2B49%2089%20289%2015301" value="+498928915301" target="_blank">+49 89 289 15301</a><br>
<a href="mailto:hammerl@lnm.mw.tum.de" target="_blank">hammerl@lnm.mw.tum.de</a><br>
<a href="http://www.lnm.mw.tum.de" target="_blank">http://www.lnm.mw.tum.de</a><br>
<br>
</font></span><br>_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Robert Maynard
</div>