> 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.

I have tried to use the Metis Partitioner. I am loading the
mesh on one CPU and trying to split it to more parts:

        Mesh mesh;
          
        TetGenIO TETGEN(mesh);
        
        TETGEN.read("meshfile");

        mesh.find_neighbors();

        MetisPartitioner().partition(mesh,8);

With the last line I try to make 8 partitions for 8
processors. Of course, it doesn't work this way - I think I
can't make more partitions than actually used processors -
which is 1. Here is the point where I don't see how to write
nemesis-files for the processors. How can I split my big
mesh???

I am sorry for writing again - I have already started with a
similar problem more than a month ago but still, I could't
solve the problem. 

Thanks very much for your help in advance, 
Robert


> 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

------------------------------------------------------------------------------
Get your Android app more play: Bring it to the BlackBerry PlayBook 
in minutes. BlackBerry App World&#153; now supports Android&#153; Apps 
for the BlackBerry&reg; PlayBook&#153;. 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

Reply via email to