[Dune] How to use parallel UGGrid?
Christian Engwer
christi at uni-hd.de
Fri Jun 18 11:27:48 CEST 2010
Hi Wolfgang,
UG Grid assumes, that you setup the grid in one processor and then
calls load-balance to distribute ist. ATM there is no way to
distribute mesh afterwards.
Please try to read the grid _only_ on rank==0.
If this still doesn't help, you can send the new error messages.
Christian
On Fri, Jun 18, 2010 at 11:02:21AM +0200, giese at mathematik.hu-berlin.de wrote:
> Dear Dune-Developers,
>
> I have a question regarding the usage of the parallel UGGrid in combination
> with the gmshreader. I tried an easy example in DUNE, where the programme
> just reads a grid using the gmshreader and produces an output of the
> distributed grid using the vtkwriter. The crucial part of the code looks
> as follows:
>
> .
> .
> .
>
> typedef Dune::UGGrid<3> GridType;
> GridType grid(400);
>
> // read a gmsh file
> Dune::GmshReader<GridType> gmshreader;
> gmshreader.read(grid, "cube.msh");
>
> // refine grid
> grid.globalRefine(level);
>
> if(!Dune::MPIHelper::isFake)
> grid.loadBalance();
>
> // get a grid view
> typedef GridType::LeafGridView GV;
> const GV& gv = grid.leafView();
>
> // plot celldata
> std::vector<int> a(gv.size(0), 1);
>
> // output
> Dune::VTKWriter<GV> vtkwriter(gv);
> vtkwriter.addCellData(a, "celldata");
> vtkwriter.write("TestGrid", Dune::VTKOptions::ascii);
>
> .
> .
> .
>
> This code produces an error message, which you can be seen below. It seems
> that UGGrid starts in parallel. It is actually configured with
> "--enable-parallel". But somehow in the end something is going wrong. What
> do I have to change? Do I have to add some code? Maybe you have an easy
> example that works in parallel? I would be very grateful if you could help
> me!
>
> Best regards,
> Wolfgang Giese
>
> ---Error Message---
> The programme "gridtest" started on three nodes produces the
> following error Message:
>
> parallel run on 3 process(es)
> DimX=3, DimY=1, DimZ=1
> Reading 3d Gmsh grid...
> Reading 3d Gmsh grid...
> Reading 3d Gmsh grid...
> version 2 Gmsh file detected
> file contains 14 nodes
> number of real vertices = 14
> number of boundary elements = 24
> number of elements = 24
> number of real vertices = 14
> number of boundary elements = 24
> number of elements = 24
> file contains 48 elements
> number of real vertices = 14
> number of boundary elements = 24
> number of elements = 24
> [node18:11171] *** Process received signal ***
> [node18:11171] Signal: Segmentation fault (11)
> [node18:11171] Signal code: Address not mapped (1)
> [node18:11171] Failing at address: 0x7359e3588
> [node18:11170] *** Process received signal ***
> [node18:11170] Signal: Segmentation fault (11)
> [node18:11170] Signal code: Address not mapped (1)
> [node18:11170] Failing at address: 0x1655035c8
> [node18:11170] [ 0] /lib64/libpthread.so.0 [0x2b402c690a90]
> [node18:11170] [ 1] ./gridtest(_ZN4Dune6UGGridILi3EE12globalRefineEi+0xdb)
> [0x60c78b]
> [node18:11170] [ 2] ./gridtest(main+0x233) [0x597213]
> [node18:11170] [ 3] /lib64/libc.so.6(__libc_start_main+0xe6) [0x2b402c8bd586]
> [node18:11170] [ 4] ./gridtest [0x596b79]
> [node18:11170] *** End of error message ***
> [node18:11171] [ 0] /lib64/libpthread.so.0 [0x2ac5e672ca90]
> [node18:11171] [ 1] ./gridtest(_ZN4Dune6UGGridILi3EE12globalRefineEi+0xdb)
> [0x60c78b]
> [node18:11171] [ 2] ./gridtest(main+0x233) [0x597213]
> [node18:11171] [ 3] /lib64/libc.so.6(__libc_start_main+0xe6) [0x2ac5e6959586]
> [node18:11171] [ 4] ./gridtest [0x596b79]
> [node18:11171] *** End of error message ***
> --------------------------------------------------------------------------
> mpirun noticed that process rank 2 with PID 11171 on node node18 exited on
> signal 11 (Segmentation fault).
> --------------------------------------------------------------------------
>
>
> _______________________________________________
> Dune mailing list
> Dune at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune
>
More information about the Dune
mailing list