[dune-fem] UG linking problems

Martin Nolte nolte at mathematik.uni-freiburg.de
Fri Sep 14 15:10:07 CEST 2012


Ahh, I see. Could this problem originate from the namespace change? In 
adaptiveleafindexset.hh, there are the following lines (within the namespace Fem):

template< int codim >
struct CallSetUpCodimSet
   : public CallSetUpCodimSetBase< codim, Capabilities :: hasEntity < 
GridType, codim > :: v >
{
};

What happens, if you say Dune::Capabilities::hasEntity instead?

Note:Similarly, GetFaceEntity and InsertGhostSubEntities might need to be fixed.

Best,

Martin


On 09/14/2012 02:41 PM, Dedner, Andreas wrote:
> @Martin: if you look at the error message, its triggered from the codimIndexSet and for some
> reason its assuming that UG has Codim 1 entities:
>>      /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> >]’
> Now as far as I can see the Capability in dune-grid still says that UGGrid only has Entityies for codim=0 and dim...
> ________________________________________
> From: dune-fem-bounces+a.s.dedner=warwick.ac.uk at dune-project.org [dune-fem-bounces+a.s.dedner=warwick.ac.uk at dune-project.org] on behalf of Martin Nolte [nolte at mathematik.uni-freiburg.de]
> Sent: 14 September 2012 12:27
> To: dune-fem at dune-project.org
> Subject: Re: [dune-fem] UG linking problems
>
> 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::LagrangeDiscreteFunct
io
> 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::CachingSt
or
> 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::AdaptiveDiscreteFunctio
n<
> 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::AdaptiveDiscreteFuncti
on
> <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
>
> _______________________________________________
> 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