[Dune] Dune::PDELab::ISTLBackend_NOVLP_CG_AMG_SSOR with ALUGrid

Eike Mueller E.Mueller at bath.ac.uk
Fri Jan 27 11:17:23 CET 2012


Dear dune-/pdelab-list,

I'm trying to use the non-overlapping ISTL backend 
Dune::PDELab::ISTLBackend_NOVLP_CG_AMG_SSOR for solving a problem on my 
spherical shell grid, which I implemented with ALUGrid. This works fine 
in serial, but if I try to run in parallel I get the runtime error given 
below [1]. I have also tried the same backend on a non-overlapping 
YaspGrid (just a simple cube), where it works fine both serially and in 
parallel. In addition, the ISTL backend 
Dune::PDELab::ISTLBackend_NOVLP_CG_SSORk works without problems in 
parallel with my ALUGrid implementation.

Does anyone have any idea what might be going wrong here?

Thanks a lot,

Eike

[1] runtime error message:

/u/n/em459/Library/Dune_32bit/include/dune/istl/paamg/galerkin.hh:576: 
M* Dune::Amg::GalerkinProduct<T>::build(const M&, G&, V&, const T&, 
Dune::Amg::AggregatesMap<typename G::VertexDescriptor>&, const typename 
M::size_type&, const Set&) [with M = 
Dune::BCRSMatrix<Dune::FieldMatrix<double, 1, 1>, 
std::allocator<Dune::FieldMatrix<double, 1, 1> > >, G = 
Dune::Amg::MatrixGraph<const Dune::BCRSMatrix<Dune::FieldMatrix<double, 
1, 1>, std::allocator<Dune::FieldMatrix<double, 1, 1> > > >, V = 
Dune::Amg::MatrixHierarchy<M, PI, A>::build(const T&) [with O = 
Dune::NegateSet<Dune::EnumItem<Dune::OwnerOverlapCopyAttributeSet::AttributeSet, 
1> >, T = 
Dune::Amg::CoarsenCriterion<Dune::Amg::SymmetricCriterion<Dune::BCRSMatrix<Dune::FieldMatrix<double, 
1, 1>, std::allocator<Dune::FieldMatrix<double, 1, 1> > >, 
Dune::Amg::FirstDiagonal> >, M = 
Dune::NonoverlappingSchwarzOperator<Dune::BCRSMatrix<Dune::FieldMatrix<double, 
1, 1>, std::allocator<Dune::FieldMatrix<double, 1, 1> > >, 
Dune::BlockVector<Dune::FieldVector<double, 1>, 
std::allocator<Dune::FieldVector<double, 1> > >, 
Dune::BlockVector<Dune::FieldVector<double, 1>, 
std::allocator<Dune::FieldVector<double, 1> > >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int> >, PI 
= Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int>, A 
= std::allocator<Dune::BlockVector<Dune::FieldVector<double, 1>, 
std::allocator<Dune::FieldVector<double, 1> > > >]::VisitedMap2, Set = 
Dune::Amg::MatrixHierarchy<M, PI, A>::build(const T&) [with O = 
Dune::NegateSet<Dune::EnumItem<Dune::OwnerOverlapCopyAttributeSet::AttributeSet, 
1> >, T = 
Dune::Amg::CoarsenCriterion<Dune::Amg::SymmetricCriterion<Dune::BCRSMatrix<Dune::FieldMatrix<double, 
1, 1>, std::allocator<Dune::FieldMatrix<double, 1, 1> > >, 
Dune::Amg::FirstDiagonal> >, M = 
Dune::NonoverlappingSchwarzOperator<Dune::BCRSMatrix<Dune::FieldMatrix<double, 
1, 1>, std::allocator<Dune::FieldMatrix<double, 1, 1> > >, 
Dune::BlockVector<Dune::FieldVector<double, 1>, 
std::allocator<Dune::FieldVector<double, 1> > >, 
Dune::BlockVector<Dune::FieldVector<double, 1>, 
std::allocator<Dune::FieldVector<double, 1> > >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int> >, PI 
= Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int>, A 
= std::allocator<Dune::BlockVector<Dune::FieldVector<double, 1>, 
std::allocator<Dune::FieldVector<double, 1> > > >]::OverlapFlags, T = 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int>]: 
Assertion `aggregates[*vertex] != AggregatesMap<typename 
G::VertexDescriptor>::UNAGGREGATED' failed.




More information about the Dune mailing list