I have spent more than 20 hours now with the simple problem
to read a tetgen file and write it with Nemesis_IO i such a
way that I can re-read it in parallel. My mesh fits on one
processor - but I can only use one because a copy of it on a
second processor wouldn´t fit anymore. I read in the mesh
and tried every method I found to partition it - but I never
succeeded to write the nemesis files for the different
processors. I only get one file which, I can't read in i
parallel because the program searches the files mesh.8.0,
mesh.8.1, mesh.8.2, ... . How can I get these files when
reading in the serial tetgen mesh on one processor?
I am sure it is quite easy - unfortunately I don't progress
any more without help.
thank you,
Robert
> > >> You'd either need to borrow a large memory machine
> > for >> long enough to read in the Tetgen file and
> > rewrite it as >> Nemesis, or you'd need to modify the
> > TetGenIO to support >> reading a pre-parallelized
> > ParallelMesh. >
> > > I had a look at the class Nemesis_IO. There seem to be
> > > some differences between the online documentation and
> > > the class provided in version 0.7.1.
> >
> > You may need to use the SVN head; I forget how recent
> > the latest ParallelMesh development was, but it's quite
> > possible that it wasn't working yet in 0.7.1.
>
> I have tried with the SVN version. The following code for
> writing the nemesis file worked fine:
>
> Mesh mesh;
>
> TetGenIO TETGEN(mesh);
>
> { // read TETGEN file
> OStringStream inmesh;
> inmesh << mesh_dir << ReadMesh[actual_pulse]<<".ele";
> TETGEN.read(inmesh.str().c_str());
> }
>
> mesh.prepare_for_use();
>
>
> Nemesis_IO NEM (mesh);
>
> NEM.write("out/nemmesh");
>
>
> Afterwards, when I want to read it on one processor:
> /tryRead-opt
>
> Mesh mesh;
> Nemesis_IO NEM (mesh);
> NEM.read("nemmesh.1.0");
>
> reading seems to work but, at the end of the program I get
> the following error:
>
> ----------------------------------------------------------
> ---------------------- Error flushing buffers to file.
> [0] src/mesh/exodusII_io_helper.C, line 151, compiled Oct
> 30 2011 at 11:09:28
> terminate called after throwing an instance of
> 'libMesh::LogicError'
> what(): Error in libMesh internal logic
> [tomo-PaineCalc:28510] *** Process received signal ***
> [tomo-PaineCalc:28510] Signal: Aborted (6)
> [tomo-PaineCalc:28510] Signal code: (-6)
> [tomo-PaineCalc:28510] [ 0]
> /lib/x86_64-linux-gnu/libpthread.so.0(+0xfc60)
> [0x7f0606345c60]
> [tomo-PaineCalc:28510] [ 1]
> /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35)
> [0x7f0605115d05]
> [tomo-PaineCalc:28510] [ 2]
> /lib/x86_64-linux-gnu/libc.so.6(abort+0x186)
> [0x7f0605119ab6]
> [tomo-PaineCalc:28510] [ 3]
> /usr/lib/x86_64-linux-gnu/libstdc++.so.6(_ZN9__gnu_cxx27__
> verbose_terminate_handlerEv+0x11d) [0x7f06055316dd]
> [tomo-PaineCalc:28510] [ 4]
> /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xb9926)
> [0x7f060552f926]
> [tomo-PaineCalc:28510] [ 5]
> /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xb9953)
> [0x7f060552f953]
> [tomo-PaineCalc:28510] [ 6]
> /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xb9a5e)
> [0x7f060552fa5e]
> [tomo-PaineCalc:28510] [ 7]
> /home/ThermoPaine/libmesh_svn/lib/x86_64-unknown-linux-gnu
> _opt/libmesh.so(_ZN7libMesh18ExodusII_IO_Helper9check_errE
> iSs+0x1b3) [0x7f060adbaa73]
> [tomo-PaineCalc:28510] [ 8]
> /home/ThermoPaine/libmesh_svn/lib/x86_64-unknown-linux-gnu
> _opt/libmesh.so(_ZN7libMesh17Nemesis_IO_HelperD1Ev+0x48)
> [0x7f060ae88978] [tomo-PaineCalc:28510] [ 9]
> /home/ThermoPaine/libmesh_svn/lib/x86_64-unknown-linux-gnu
> _opt/libmesh.so(_ZN7libMesh17Nemesis_IO_HelperD0Ev+0x9)
> [0x7f060ae89599] [tomo-PaineCalc:28510] [10]
> /home/ThermoPaine/libmesh_svn/lib/x86_64-unknown-linux-gnu
> _opt/libmesh.so(_ZN7libMesh10Nemesis_IOD1Ev+0x2d)
> [0x7f060ae7c41d] [tomo-PaineCalc:28510] [11]
> /tryRead-opt(main+0x202) [0x4589e2]
> [tomo-PaineCalc:28510] [12]
> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xff)
> [0x7f0605100eff]
> [tomo-PaineCalc:28510] [13] ./tryRead-opt() [0x458719]
> [tomo-PaineCalc:28510] *** End of error message ***
> Aborted
>
> ----------------------------------------------------------
> ----------------------
>
>
>
>
>
> However, if I want to read it when running with 'mpiexec
> -np 8 ./tryRead-opt'
> I get a long error message - see at the end of the mail.
>
> For configuring of libmesh I used the following options:
> /configure --enable-slepc --enable-mpi --enable-parmesh
> --enable-petsc
>
> Do I maybe have to change something there?
> thanks, Robert
>
>
> ----------------------------------------------------------
> ----------------------
> what(): Error in libMesh internal logic
> [tomo-PaineCalc:28499] *** Process received signal ***
> [tomo-PaineCalc:28499] Signal: Aborted (6)
> [tomo-PaineCalc:28499] Signal code: (-6)
> [tomo-PaineCalc:28500] [ 0]
> /lib/x86_64-linux-gnu/libpthread.so.0(+0xfc60)
> [0x7f9eac762c60]
> [tomo-PaineCalc:28500] [ 1]
> /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35)
> [0x7f9eab532d05]
> [tomo-PaineCalc:28500] [ 2]
> /lib/x86_64-linux-gnu/libc.so.6(abort+0x186)
> [0x7f9eab536ab6]
> [tomo-PaineCalc:28500] [ 3]
> /usr/lib/x86_64-linux-gnu/libstdc++.so.6(_ZN9__gnu_cxx27__
> verbose_terminate_handlerEv+0x11d) [0x7f9eab94e6dd]
> [tomo-PaineCalc:28500] [ 4]
> /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xb9926)
> [0x7f9eab94c926]
> [tomo-PaineCalc:28500] [ 5]
> /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xb9953)
> [0x7f9eab94c953]
> [tomo-PaineCalc:28500] [ 6]
> /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xb9a5e)
> [0x7f9eab94ca5e]
> [tomo-PaineCalc:28500] [ 7]
> /home/ThermoPaine/libmesh_svn/lib/x86_64-unknown-linux-gnu
> _opt/libmesh.so(_ZN7libMesh18ExodusII_IO_Helper9check_errE
> iSs+0x1b3) [0x7f9eb11d7a73]
> [tomo-PaineCalc:28500] [ 8]
> /home/ThermoPaine/libmesh_svn/lib/x86_64-unknown-linux-gnu
> _opt/libmesh.so(_ZN7libMesh18ExodusII_IO_Helper4openEPKc+0
> x99) [0x7f9eb11da299]
> [tomo-PaineCalc:28500] [ 9]
> /home/ThermoPaine/libmesh_svn/lib/x86_64-unknown-linux-gnu
> _opt/libmesh.so(_ZN7libMesh10Nemesis_IO4readERKSs+0xe5)
> [0x7f9eb129a955] [tomo-PaineCalc:28500] [10]
> /tryRead-opt(main+0xe6) [0x4588c6]
> [tomo-PaineCalc:28500] [11]
> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xff)
> [0x7f9eab51deff]
> [tomo-PaineCalc:28500] [12] ./tryRead-opt() [0x458719]
> [tomo-PaineCalc:28503] [ 0]
> /lib/x86_64-linux-gnu/libpthread.so.0(+0xfc60)
> [0x7f497c5fbc60]
> [tomo-PaineCalc:28503] [ 1]
> /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35)
> [0x7f497b3cbd05]
> [tomo-PaineCalc:28503] [ 2]
> /lib/x86_64-linux-gnu/libc.so.6(abort+0x186)
> [0x7f497b3cfab6]
> [tomo-PaineCalc:28503] [ 3]
> /usr/lib/x86_64-linux-gnu/libstdc++.so.6(_ZN9__gnu_cxx27__
> verbose_terminate_handlerEv+0x11d) [0x7f497b7e76dd]
> [tomo-PaineCalc:28503] [ 4]
> /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xb9926)
> [0x7f497b7e5926]
> [tomo-PaineCalc:28503] [ 5]
> /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xb9953)
> [0x7f497b7e5953]
> [tomo-PaineCalc:28503] [ 6]
> /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xb9a5e)
> [0x7f497b7e5a5e]
> [tomo-PaineCalc:28503] [ 7]
> /home/ThermoPaine/libmesh_svn/lib/x86_64-unknown-linux-gnu
> _opt/libmesh.so(_ZN7libMesh18ExodusII_IO_Helper9check_errE
> iSs+0x1b3) [0x7f4981070a73]
> [tomo-PaineCalc:28503] [ 8]
> /home/ThermoPaine/libmesh_svn/lib/x86_64-unknown-linux-gnu
> _opt/libmesh.so(_ZN7libMesh18ExodusII_IO_Helper4openEPKc+0
> x99) [0x7f4981073299]
> [tomo-PaineCalc:28503] [ 9]
> /home/ThermoPaine/libmesh_svn/lib/x86_64-unknown-linux-gnu
> _opt/libmesh.so(_ZN7libMesh10Nemesis_IO4readERKSs+0xe5)
> [0x7f4981133955] [tomo-PaineCalc:28503] [10]
> /tryRead-opt(main+0xe6) [0x4588c6]
> [tomo-PaineCalc:28503] [11]
> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xff)
> [0x7f497b3b6eff]
> [tomo-PaineCalc:28503] [12] ./tryRead-opt() [0x458719]
> [tomo-PaineCalc:28503] *** End of error message ***
> [tomo-PaineCalc:28502] [ 0]
> /lib/x86_64-linux-gnu/libpthread.so.0(+0xfc60)
> [0x7fb12c0c9c60]
> [tomo-PaineCalc:28502] [ 1]
> /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35)
> [0x7fb12ae99d05]
> [tomo-PaineCalc:28502] [ 2]
> /lib/x86_64-linux-gnu/libc.so.6(abort+0x186)
> [0x7fb12ae9dab6]------------------------------------------
> -------------------------------- mpiexec noticed that
> process rank 3 with PID 28501 on node tomo-PaineCalc
> exited on signal 6 (Aborted).
> ----------------------------------------------------------
> ---------------- 5 total processes killed (some possibly
> by mpiexec during cleanup)
>
>
>
> .. and so on :-|
>
>
> ----------------------------------------------------------
> ----------------------
>
> ----------------------------------------------------------
> -------------------- Get your Android app more play: Bring
> it to the BlackBerry PlayBook in minutes. BlackBerry App
> World now supports Android Apps for the
> BlackBerry® PlayBook. Discover just how easy and
> simple it is! http://p.sf.net/sfu/android-dev2dev
> _______________________________________________
> Libmesh-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/libmesh-users
------------------------------------------------------------------------------
Get your Android app more play: Bring it to the BlackBerry PlayBook
in minutes. BlackBerry App World™ now supports Android™ Apps
for the BlackBerry® PlayBook™. Discover just how easy and simple
it is! http://p.sf.net/sfu/android-dev2dev
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users