[dune-fem] UG linking problems

Martin Nolte nolte at mathematik.uni-freiburg.de
Fri Sep 14 13:27:51 CEST 2012


Hi Tom,

despite the fact that only dune-fem triggers the problem, I fear Andreas is 
right. I does seem like a dune-grid issue.

Could you try using the current development trunk of the core modules? Maybe 
the problem has already been fixed in the mean time.

Best,

Martin

On 09/14/2012 12:47 PM, Tom Ranner wrote:
> Both compile and run fine.
>
> Tom
>
> On 14 September 2012 11:37, Dedner, Andreas <A.S.Dedner at warwick.ac.uk
> <mailto:A.S.Dedner at warwick.ac.uk>> wrote:
>
>     Hi Tom.
>
>     This does not really look like a dune-fem problem to me.
>     Could you try the test in dune-grid, i.e.,
>     in dune/grid/test try make test-ug test-parallel-ug
>     Does that work?
>
>     Best
>     Andreas
>
>     ------------------------------------------------------------------------------
>     *From:* dune-fem-bounces+a.s.dedner=warwick.ac.uk at dune-project.org
>     <mailto:warwick.ac.uk at dune-project.org>
>     [dune-fem-bounces+a.s.dedner=warwick.ac.uk at dune-project.org
>     <mailto:warwick.ac.uk at dune-project.org>] on behalf of Tom Ranner
>     [t.ranner at warwick.ac.uk <mailto:t.ranner at warwick.ac.uk>]
>     *Sent:* 14 September 2012 11:15
>     *To:* dune-fem at dune-project.org <mailto:dune-fem at dune-project.org>
>     *Subject:* [dune-fem] UG linking problems
>
>     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/du
ne/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/du
ne-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::LagrangeDiscreteFunctio
nSpace<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::CachingStor
age> > >, 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 sourcefor  copying conditions.  There is NO
>     warranty; not evenfor  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
>
>     _______________________________________________
>     dune-fem mailing list
>     dune-fem at dune-project.org <mailto:dune-fem at dune-project.org>
>     http://lists.dune-project.org/mailman/listinfo/dune-fem
>
>
>
>
> --
> Tom Ranner
> Mathematics Institute
> Zeeman Building
> University of Warwick
> Coventry
> CV4 7AL
>
> Email: t.ranner at warwick.ac.uk <mailto:t.ranner at warwick.ac.uk>
> Tel: +44 (0) 7861 173636
> Web: go.warwick.ac.uk/tranner <http://go.warwick.ac.uk/tranner>
>
>
> _______________________________________________
> dune-fem mailing list
> dune-fem at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune-fem
>

-- 
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-fem mailing list