[dune-fem] UG linking problems

Tom Ranner t.ranner at warwick.ac.uk
Fri Sep 14 12:15:54 CEST 2012


Dear all,

>From reading [
http://users.dune-project.org/projects/1/wiki/Grid-Manager_Features], I
understand that if I want to use a supported 3D grid manager that uses
simplices and uses a conforming refinement routine on parallel meshes, I
should use UG.

The instructions from [
http://www.dune-project.org/external_libraries/install_ug.html] seem
unclear when compiling against the 2.2 release of DUNE. The set of patches
for the 2.0 release of DUNE lead to a configure error (the version is too
old) so that UG is not enabled. The set of patches for the current svn
version of DUNE configure fine and work well with the code in
dune-grid-howto (parfinitevolume.cc).

However, when using UGGRID as the GRIDTYPE with dune-fem code (for example
the school code in 03.poisson/src/poisson.cc) leads to the following
compiler error:

$ make poisson GRIDTYPE=UGGRID
mpic++ -std=c++0x -DHAVE_CONFIG_H -I. -I../../..
-I/home/tom/software/dune/dune-common
-I/home/tom/software/dune/dune-istl
-I/home/tom/software/dune/dune-geometry
-I/home/tom/software/dune/dune-grid
-I/home/tom/software/dune/dune-localfunctions
-I/home/tom/software/dune/dune-fem-1.3.0
-I/home/tom/software/dune/dune-common
-I/home/tom/software/dune/dune-istl
-I/home/tom/software/dune/dune-geometry
-I/home/tom/software/dune/dune-grid
-I/home/tom/software/dune/dune-localfunctions
-I/home/tom/software/dune/modules/SuiteSparse/UMFPACK/Include
-I/home/tom/software/dune/modules/SuiteSparse/UFconfig
-I/home/tom/software/dune/modules/SuiteSparse/AMD/Include
-DENABLE_UMFPACK=1 -I/home/tom/software/dune/dune-fem-1.3.0
-I/usr/lib/openmpi/include -I/usr/lib/openmpi/include/openmpi -pthread
-DMPIPP_H -DENABLE_MPI=1 -I/home/tom/software/dune/dune-common
-I/home/tom/software/dune/dune-istl
-I/home/tom/software/dune/dune-geometry -DGRIDDIM=2 -DWORLDDIM=2
-DUGGRID -I/home/tom/software/dune/modules/alberta-3.x-20120316-3708/include
-I/home/tom/software/dune/modules/alberta-3.x-20120316-3708/include/alberta
-DALBERTA_DIM=2 -DENABLE_ALBERTA -I/usr/lib/openmpi/include
-I/usr/lib/openmpi/include/openmpi -pthread -DMPIPP_H -DENABLE_MPI=1
-I/home/tom/software/dune/modules/UG/ug/install/include/ug
-DENABLE_UG -DModelP -I/usr/lib/openmpi/include
-I/usr/lib/openmpi/include/openmpi -pthread -DMPIPP_H -DENABLE_MPI=1
-I/home/tom/software/dune/modules/ALUGrid-1.50/include
-I/home/tom/software/dune/modules/ALUGrid-1.50/include/serial
-I/home/tom/software/dune/modules/ALUGrid-1.50/include/duneinterface
-DENABLE_ALUGRID
-I/home/tom/software/dune/modules/ALUGrid-1.50/include/parallel
-I/home/tom/software/dune/dune-grid
-I/home/tom/software/dune/dune-localfunctions
-I/home/tom/software/dune/modules/SuiteSparse/UMFPACK/Include
-I/home/tom/software/dune/modules/SuiteSparse/UFconfig
-I/home/tom/software/dune/modules/SuiteSparse/AMD/Include
-DENABLE_UMFPACK=1 -I/home/tom/software/dune/dune-fem-1.3.0
-I/usr/lib/openmpi/include -I/usr/lib/openmpi/include/openmpi -pthread
-DMPIPP_H -DENABLE_MPI=1 -DPOLORDER=1 -DWANT_ISTL=1   -O2 -Wall
-Wfatal-errors -Wno-deprecated-declarations -MT poisson.o -MD -MP -MF
.deps/poisson.Tpo -c -o poisson.o poisson.cc
In file included from
/home/tom/software/dune/dune-grid/dune/grid/uggrid.hh:104:0,
                 from ../../../config.h:528,
                 from poisson.cc:1:
/home/tom/software/dune/dune-grid/dune/grid/uggrid/uggridleafiterator.hh:
In member function ‘void Dune::UGGridLeafIterator<codim, pitype,
GridImp>::globalIncrement() [with int codim = 1,
Dune::PartitionIteratorType pitype = (Dune::PartitionIteratorType)4u,
GridImp = const Dune::UGGrid<2>]’:
/home/tom/software/dune/dune-grid/dune/grid/uggrid/uggridleafiterator.hh:63:13:
  instantiated from ‘void Dune::UGGridLeafIterator<codim, pitype,
GridImp>::increment() [with int codim = 1, Dune::PartitionIteratorType
pitype = (Dune::PartitionIteratorType)4u, GridImp = const
Dune::UGGrid<2>]’
/home/tom/software/dune/dune-grid/dune/grid/common/entityiterator.hh:47:7:
  instantiated from ‘Dune::EntityIterator<codim, Grid, IteratorImp>&
Dune::EntityIterator<codim, Grid, IteratorImp>::operator++() [with int
codim = 1, Grid = const Dune::UGGrid<2>, IteratorImp =
Dune::UGGridLeafIterator<1, (Dune::PartitionIteratorType)4u, const
Dune::UGGrid<2> >, Dune::EntityIterator<codim, Grid, IteratorImp> =
Dune::EntityIterator<1, const Dune::UGGrid<2>,
Dune::UGGridLeafIterator<1, (Dune::PartitionIteratorType)4u, const
Dune::UGGrid<2> > >]’
/home/tom/software/dune/dune-fem-1.3.0/dune/fem/gridpart/adaptiveleafindexset.hh:998:66:
  instantiated from ‘void
Dune::Fem::AdaptiveIndexSetBase<TraitsImp>::setupCodimSet(const
std::integral_constant<bool, true>&) const [with int codim = 1,
TraitsImp = Dune::Fem::AdaptiveLeafIndexSetTraits<Dune::Fem::AdaptiveLeafGridPart<Dune::UGGrid<2>,
(Dune::PartitionIteratorType)1u, false> >]’
/home/tom/software/dune/dune-fem-1.3.0/dune/fem/gridpart/adaptiveleafindexset.hh:510:11:
  instantiated from
‘Dune::Fem::AdaptiveIndexSetBase<TraitsImp>::IndexType
Dune::Fem::AdaptiveIndexSetBase<TraitsImp>::index(const typename
TraitsImp::GridPartType::GridType::Codim<codim>::Entity&) const [with
int codim = 1, TraitsImp =
Dune::Fem::AdaptiveLeafIndexSetTraits<Dune::Fem::AdaptiveLeafGridPart<Dune::UGGrid<2>,
(Dune::PartitionIteratorType)1u, false> >,
Dune::Fem::AdaptiveIndexSetBase<TraitsImp>::IndexType = unsigned int,
typename TraitsImp::GridPartType::GridType::Codim<codim>::Entity =
Dune::Entity<1, 2, const Dune::UGGrid<2>, Dune::UGGridEntity>]’
/home/tom/software/dune/dune-fem-1.3.0/dune/fem/gridpart/adaptiveleafindexset.hh:499:53:
  instantiated from
‘Dune::Fem::AdaptiveIndexSetBase<TraitsImp>::IndexType
Dune::Fem::AdaptiveIndexSetBase<TraitsImp>::index(const Entity&) const
[with Entity = Dune::UGMakeableEntity<1, 2, Dune::UGGrid<2> >,
TraitsImp = Dune::Fem::AdaptiveLeafIndexSetTraits<Dune::Fem::AdaptiveLeafGridPart<Dune::UGGrid<2>,
(Dune::PartitionIteratorType)1u, false> >,
Dune::Fem::AdaptiveIndexSetBase<TraitsImp>::IndexType = unsigned int]’
/home/tom/software/dune/dune-fem-1.3.0/dune/fem/space/dofmapper/dofmapper.hh:481:70:
  [ skipping 12 instantiation contexts ]
/home/tom/software/dune/dune-fem-1.3.0/dune/fem/function/common/discretefunction_inline.hh:169:59:
  instantiated from
‘Dune::Fem::DiscreteFunctionDefault<DFTraits>::RangeFieldType
Dune::Fem::DiscreteFunctionDefault<DFTraits>::scalarProductDofs(const
DiscreteFunctionInterfaceType&) const [with DiscreteFunctionTraits =
Dune::Fem::AdaptiveDiscreteFunctionTraits<Dune::Fem::LagrangeDiscreteFunctionSpace<Dune::Fem::FunctionSpace<double,
double, 2, 1>, Dune::Fem::AdaptiveLeafGridPart<Dune::UGGrid<2>,
(Dune::PartitionIteratorType)1u, false>, 1, Dune::Fem::CachingStorage>
>, Dune::Fem::DiscreteFunctionDefault<DFTraits>::RangeFieldType =
double, Dune::Fem::DiscreteFunctionDefault<DFTraits>::DiscreteFunctionInterfaceType
= Dune::Fem::DiscreteFunctionInterface<Dune::Fem::AdaptiveDiscreteFunctionTraits<Dune::Fem::LagrangeDiscreteFunctionSpace<Dune::Fem::FunctionSpace<double,
double, 2, 1>, Dune::Fem::AdaptiveLeafGridPart<Dune::UGGrid<2>,
(Dune::PartitionIteratorType)1u, false>, 1, Dune::Fem::CachingStorage>
> >]’
/home/tom/software/dune/dune-fem-1.3.0/dune/fem/solver/cginverseoperator.hh:444:87:
  instantiated from ‘void
Dune::Fem::ConjugateGradientSolver<Operator>::solve(const
OperatorType&, const PreconditionerType&, const RangeFunctionType&,
Dune::Fem::ConjugateGradientSolver<Operator>::DomainFunctionType&)
const [with Operator =
Dune::Fem::Operator<Dune::Fem::AdaptiveDiscreteFunction<Dune::Fem::LagrangeDiscreteFunctionSpace<Dune::Fem::FunctionSpace<double,
double, 2, 1>, Dune::Fem::AdaptiveLeafGridPart<Dune::UGGrid<2>,
(Dune::PartitionIteratorType)1u, false>, 1, Dune::Fem::CachingStorage>
>, Dune::Fem::AdaptiveDiscreteFunction<Dune::Fem::LagrangeDiscreteFunctionSpace<Dune::Fem::FunctionSpace<double,
double, 2, 1>, Dune::Fem::AdaptiveLeafGridPart<Dune::UGGrid<2>,
(Dune::PartitionIteratorType)1u, false>, 1, Dune::Fem::CachingStorage>
> >, Dune::Fem::ConjugateGradientSolver<Operator>::OperatorType =
Dune::Fem::Operator<Dune::Fem::AdaptiveDiscreteFunction<Dune::Fem::LagrangeDiscreteFunctionSpace<Dune::Fem::FunctionSpace<double,
double, 2, 1>, Dune::Fem::AdaptiveLeafGridPart<Dune::UGGrid<2>,
(Dune::PartitionIteratorType)1u, false>, 1, Dune::Fem::CachingStorage>
>, Dune::Fem::AdaptiveDiscreteFunction<Dune::Fem::LagrangeDiscreteFunctionSpace<Dune::Fem::FunctionSpace<double,
double, 2, 1>, Dune::Fem::AdaptiveLeafGridPart<Dune::UGGrid<2>,
(Dune::PartitionIteratorType)1u, false>, 1, Dune::Fem::CachingStorage>
> >, Dune::Fem::ConjugateGradientSolver<Operator>::PreconditionerType
= Dune::Fem::Operator<Dune::Fem::AdaptiveDiscreteFunction<Dune::Fem::LagrangeDiscreteFunctionSpace<Dune::Fem::FunctionSpace<double,
double, 2, 1>, Dune::Fem::AdaptiveLeafGridPart<Dune::UGGrid<2>,
(Dune::PartitionIteratorType)1u, false>, 1, Dune::Fem::CachingStorage>
>, Dune::Fem::AdaptiveDiscreteFunction<Dune::Fem::LagrangeDiscreteFunctionSpace<Dune::Fem::FunctionSpace<double,
double, 2, 1>, Dune::Fem::AdaptiveLeafGridPart<Dune::UGGrid<2>,
(Dune::PartitionIteratorType)1u, false>, 1, Dune::Fem::CachingStorage>
> >, typename Operator::DomainFunctionType =
Dune::Fem::AdaptiveDiscreteFunction<Dune::Fem::LagrangeDiscreteFunctionSpace<Dune::Fem::FunctionSpace<double,
double, 2, 1>, Dune::Fem::AdaptiveLeafGridPart<Dune::UGGrid<2>,
(Dune::PartitionIteratorType)1u, false>, 1, Dune::Fem::CachingStorage>
>, typename Operator::RangeFunctionType =
Dune::Fem::AdaptiveDiscreteFunction<Dune::Fem::LagrangeDiscreteFunctionSpace<Dune::Fem::FunctionSpace<double,
double, 2, 1>, Dune::Fem::AdaptiveLeafGridPart<Dune::UGGrid<2>,
(Dune::PartitionIteratorType)1u, false>, 1, Dune::Fem::CachingStorage>
>, Dune::Fem::ConjugateGradientSolver<Operator>::RangeFunctionType =
Dune::Fem::AdaptiveDiscreteFunction<Dune::Fem::LagrangeDiscreteFunctionSpace<Dune::Fem::FunctionSpace<double,
double, 2, 1>, Dune::Fem::AdaptiveLeafGridPart<Dune::UGGrid<2>,
(Dune::PartitionIteratorType)1u, false>, 1, Dune::Fem::CachingStorage>
>, Dune::Fem::ConjugateGradientSolver<Operator>::DomainFunctionType =
Dune::Fem::AdaptiveDiscreteFunction<Dune::Fem::LagrangeDiscreteFunctionSpace<Dune::Fem::FunctionSpace<double,
double, 2, 1>, Dune::Fem::AdaptiveLeafGridPart<Dune::UGGrid<2>,
(Dune::PartitionIteratorType)1u, false>, 1, Dune::Fem::CachingStorage>
>]’
/home/tom/software/dune/dune-fem-1.3.0/dune/fem/solver/cginverseoperator.hh:254:13:
  instantiated from ‘void
Dune::Fem::Solver::CGInverseOperator<DiscreteFunction>::operator()(const
DomainFunctionType&,
Dune::Fem::Solver::CGInverseOperator<DiscreteFunction>::RangeFunctionType&)
const [with DiscreteFunction =
Dune::Fem::AdaptiveDiscreteFunction<Dune::Fem::LagrangeDiscreteFunctionSpace<Dune::Fem::FunctionSpace<double,
double, 2, 1>, Dune::Fem::AdaptiveLeafGridPart<Dune::UGGrid<2>,
(Dune::PartitionIteratorType)1u, false>, 1, Dune::Fem::CachingStorage>
>, Dune::Fem::Solver::CGInverseOperator<DiscreteFunction>::DomainFunctionType
= Dune::Fem::AdaptiveDiscreteFunction<Dune::Fem::LagrangeDiscreteFunctionSpace<Dune::Fem::FunctionSpace<double,
double, 2, 1>, Dune::Fem::AdaptiveLeafGridPart<Dune::UGGrid<2>,
(Dune::PartitionIteratorType)1u, false>, 1, Dune::Fem::CachingStorage>
>, Dune::Fem::Solver::CGInverseOperator<DiscreteFunction>::RangeFunctionType
= Dune::Fem::AdaptiveDiscreteFunction<Dune::Fem::LagrangeDiscreteFunctionSpace<Dune::Fem::FunctionSpace<double,
double, 2, 1>, Dune::Fem::AdaptiveLeafGridPart<Dune::UGGrid<2>,
(Dune::PartitionIteratorType)1u, false>, 1, Dune::Fem::CachingStorage>
>]’
femscheme.hh:149:5:   instantiated from ‘void
FemScheme<Model>::solve(bool) [with Model =
DiffusionModel<Dune::Fem::FunctionSpace<double, double, 2, 1>,
Dune::Fem::AdaptiveLeafGridPart<Dune::UGGrid<2>,
(Dune::PartitionIteratorType)1u, false> >]’
poisson.cc:67:3:   instantiated from ‘double algorithm(HGridType&,
int) [with HGridType = Dune::UGGrid<2>]’
poisson.cc:137:61:   instantiated from here
/home/tom/software/dune/dune-grid/dune/grid/uggrid/uggridleafiterator.hh:124:9:
error: invalid conversion from ‘void*’ to
‘Dune::UG_NS<2>::Entity<1>::T* {aka UG::D2::edge*}’ [-fpermissive]
compilation terminated due to -Wfatal-errors.
make: *** [poisson.o] Error 1

For information,

$ mpic++ --version
g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

I use the core dune modules release version 2.2 and dune-fem 1.3.0. I've
attached the config.log files for dune-grid, dune-fem and ug.

Does anyone have any ideas what I'm doing wrong and how to fix this?

Kind Regards,
Tom
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.dune-project.org/pipermail/dune-fem/attachments/20120914/24d870e1/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dune-grid-config.log
Type: application/octet-stream
Size: 194938 bytes
Desc: not available
URL: <https://lists.dune-project.org/pipermail/dune-fem/attachments/20120914/24d870e1/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dune-fem-config.log
Type: application/octet-stream
Size: 240715 bytes
Desc: not available
URL: <https://lists.dune-project.org/pipermail/dune-fem/attachments/20120914/24d870e1/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ug-config.log
Type: application/octet-stream
Size: 314102 bytes
Desc: not available
URL: <https://lists.dune-project.org/pipermail/dune-fem/attachments/20120914/24d870e1/attachment-0002.obj>


More information about the dune-fem mailing list