[Dune] Navier-Stokes parallel with UG and YaspGrid in 2D

Martin Nolte nolte at mathematik.uni-freiburg.de
Tue Mar 20 11:58:33 CET 2012


Hi Manuel,

I guess you're using a Taylor-Hood element with 2nd order Lagrange polynomials 
for the velocity and first order ones for the pressure. The 2nd order 
polynomials have a degree of freedom on each edge of the grid. To use such a 
code in parallel, you need to communicate data on the edges residing on the 
process borders.

Unfortunately, as far as I know neither UG nor YaspGrid support communication 
of edge data. Have you tried ALUGrid?

Best,

Martin

On 03/20/2012 10:10 AM, manuel.hofmann at iwr.uni-heidelberg.de wrote:
> Hi,
>
> i tried to run the navier-stokes (cgstokes_instat) example in pdelab-howto in
> parallel mode. However i get with YaspGrid and UGGrid some interface
> communication errors. I used UG-3.9.1-patch7.
>
> [findDDDInterfaces_:/home/mhofmann/diplomarbeit/dev/dune/dune-grid/dune/grid/uggrid.hh:968]:
> Edge communication not supported for interfaces of type all / all interface
>
> [comm:/home/mhofmann/diplomarbeit/dev/dune/dune-grid/dune/grid/yaspgrid.hh:2439]:
> interface communication not implemented
>
> I tried ISTLBackend_OVLP_BCGS_ILU0 and ISTLBackend_NOVLP_CG_NOPREC as linear
> solver and newton solver of pdelab as nonlinear sovler. Both with the same
> error message. I am using the latest dune-grid module
>
> This is how i load the grid with UG8(if thats important?):
> Dune::MPIHelper& helper = Dune::MPIHelper::instance(argc, argv);
> [...]
> typedef Dune::UGGrid<2> GridType;
> GridType grid;
> std::string grid_file = "grids/cylinder.msh";
> Dune::GridFactory<GridType> factory(&grid);
> if(helper.rank()==0) {
> Dune::GmshReader<GridType>::read(factory,grid_file,true,false);
> }
> factory.createGrid();
> [...]
> grid.globalRefine(parameters.domain_level);
> if(!Dune::MPIHelper::isFake) grid.loadBalance();
>
> ---
>
> Dune::FieldVector<double,2> L(1.0);
> Dune::FieldVector<int,2> N(1);
> Dune::FieldVector<bool,2> B(false);
> int overlap=1;
> Dune::YaspGrid<2> grid(helper.getCommunicator(),L,N,B,overlap);
> typedef Dune::YaspGrid<2>::LeafGridView GV;
>
>
> Am i doing something wrong or is this still not implemented?
>
> Regards
> Manuel
>
>
> _______________________________________________
> Dune mailing list
> Dune at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune

-- 
Dr. Martin Nolte <nolte at mathematik.uni-freiburg.de>

Universität Freiburg                                   phone: +49-761-203-5630
Abteilung für angewandte Mathematik                    fax:   +49-761-203-5632
Hermann-Herder-Straße 10
79104 Freiburg, Germany



More information about the Dune mailing list