[Dune-devel] Compile time of reference elements

Oliver Sander sander at igpm.rwth-aachen.de
Sun Feb 17 21:40:20 CET 2013


Hi Markus,
this is indeed related.  I didn't find this one because no test in 
dune-geometry
covers it, and Martin had changed the name.  Please update and try again.
best,
Oliver

Am 17.02.2013 16:34, schrieb Markus Blatt:
> Hey Oliver,
>
> might be unrelated, but somehow the test of localfunctions do not
> compile any more, due to a missing type Mapping in ReferenceElements:
>
> g++ -std=c++0x -DHAVE_CONFIG_H -I. -I../../..
> -I/home/mblatt/buildbot-slave1/DUNE-1/trunk/dune-common
> -I/home/mblatt/buildbot-slave1/DUNE-1/trunk/dune-geometry
> -I/home/mblatt/buildbot-slave1/DUNE-1/trunk/dune-grid -I../../..   -g
> -O2 -MT virtualshapefunctiontest-virtualshapefunctiontest.o -MD -MP
> -MF .deps/virtualshapefunctiontest-virtualshapefunctiontest.Tpo -c -o
> virtualshapefunctiontest-virtualshapefunctiontest.o `test -f
> 'virtualshapefunctiontest.cc' || echo './'`virtualshapefunctiontest.cc
> mv -f .deps/virtualshapefunctiontest-virtualshapefunctiontest.Tpo
> .deps/virtualshapefunctiontest-virtualshapefunctiontest.Po
> /bin/bash ../../../libtool  --tag=CXX   --mode=link g++ -std=c++0x  -g
> -O2   -o virtualshapefunctiontest
> virtualshapefunctiontest-virtualshapefunctiontest.o
> /home/mblatt/buildbot-slave1/DUNE-1/trunk/dune-grid/lib/libdunegrid.la
> /home/mblatt/buildbot-slave1/DUNE-1/trunk/dune-grid/lib/libdunegrid.la
> /home/mblatt/buildbot-slave1/DUNE-1/trunk/dune-geometry/lib/libdunegeometry.la
> /home/mblatt/buildbot-slave1/DUNE-1/trunk/dune-geometry/lib/libdunegeometry.la
> /home/mblatt/buildbot-slave1/DUNE-1/trunk/dune-common/lib/libdunecommon.la
> /home/mblatt/buildbot-slave1/DUNE-1/trunk/dune-common/lib/libdunecommon.la
> libtool: link: g++ -std=c++0x -g -O2 -o virtualshapefunctiontest
> virtualshapefunctiontest-virtualshapefunctiontest.o
> /home/mblatt/buildbot-slave1/DUNE-1/trunk/dune-grid/lib/.libs/libdunegrid.a
> /home/mblatt/buildbot-slave1/DUNE-1/trunk/dune-geometry/lib/.libs/libdunegeometry.a
> /home/mblatt/buildbot-slave1/DUNE-1/trunk/dune-common/lib/.libs/libdunecommon.a
> -llapack -lcblas -lf77blas -latlas -lgfortranbegin -lgfortran
> g++ -std=c++0x -DHAVE_CONFIG_H -I. -I../../..
> -I/home/mblatt/buildbot-slave1/DUNE-1/trunk/dune-common
> -I/home/mblatt/buildbot-slave1/DUNE-1/trunk/dune-geometry
> -I/home/mblatt/buildbot-slave1/DUNE-1/trunk/dune-grid -I../../..    -g
> -O2 -MT testgenericfem-testgenericfem.o -MD -MP -MF
> .deps/testgenericfem-testgenericfem.Tpo -c -o
> testgenericfem-testgenericfem.o `test -f 'testgenericfem.cc' || echo
> './'`testgenericfem.cc
> In file included from
> ../../../dune/localfunctions/raviartthomas/raviartthomassimplex/raviartthomassimplexbasis.hh:8,
>                   from
> 		 ../../../dune/localfunctions/raviartthomas/raviartthomassimplex.hh:5,
>                   from ../../../dune/localfunctions/raviartthomas.hh:5,
>                   from testgenericfem.cc:26:
> ../../../dune/localfunctions/raviartthomas/raviartthomassimplex/raviartthomassimplexinterpolation.hh:
> In member function ‘void Dune::RaviartThomasL2Interpolation<dimension,
> F>::interpolate(typename Dune::InterpolationHelper<F,
> dimension>::Helper<Func, Container, type>&) const [with Func =
> Func<Dune::RaviartThomasSimplexLocalFiniteElement<3u, double, double,
> double, double>  >, Container = std::vector<double,
> std::allocator<double>  >, bool type = true, unsigned int dimension =
> 3u, F = double]’:
> ../../../dune/localfunctions/raviartthomas/raviartthomassimplex/raviartthomassimplexinterpolation.hh:220:
> instantiated from ‘void Dune::RaviartThomasL2Interpolation<dimension,
> F>::interpolate(const Function&, std::vector<DofField,
> std::allocator<DofField>  >&) const [with Function =
> Func<Dune::RaviartThomasSimplexLocalFiniteElement<3u, double, double,
> double, double>  >, Fy = double, unsigned int dimension = 3u, F =
> double]’
> test-localfe.hh:240:   instantiated from ‘bool testFE(const FE&,
> unsigned int) [with FE =
> Dune::RaviartThomasSimplexLocalFiniteElement<3u, double, double,
> double, double>]’
> testgenericfem.cc:111:   instantiated from here
> ../../../dune/localfunctions/raviartthomas/raviartthomassimplex/raviartthomassimplexinterpolation.hh:287:
> error: no type named ‘Mapping’ in ‘struct
> Dune::ReferenceElement<double, 3>::Codim<1>’
> ../../../dune/localfunctions/raviartthomas/raviartthomassimplex/raviartthomassimplexinterpolation.hh:
> In member function ‘void Dune::RaviartThomasL2Interpolation<dimension,
> F>::interpolate(typename Dune::InterpolationHelper<F,
> dimension>::Helper<Func, Container, type>&) const [with Func =
> LocalFEFunction<Dune::RaviartThomasSimplexLocalFiniteElement<3u,
> double, double, double, double>  >, Container = std::vector<double,
> std::allocator<double>  >, bool type = true, unsigned int dimension =
> 3u, F = double]’:
> ../../../dune/localfunctions/raviartthomas/raviartthomassimplex/raviartthomassimplexinterpolation.hh:220:
> instantiated from ‘void Dune::RaviartThomasL2Interpolation<dimension,
> F>::interpolate(const Function&, std::vector<DofField,
> std::allocator<DofField>  >&) const [with Function =
> LocalFEFunction<Dune::RaviartThomasSimplexLocalFiniteElement<3u,
> double, double, double, double>  >, Fy = double, unsigned int dimension
> = 3u, F = double]’
> test-localfe.hh:112:   instantiated from ‘bool
> testLocalInterpolation(const FE&, int) [with FE =
> Dune::RaviartThomasSimplexLocalFiniteElement<3u, double, double,
> double, double>]’
> test-localfe.hh:243:   instantiated from ‘bool testFE(const FE&,
> unsigned int) [with FE =
> Dune::RaviartThomasSimplexLocalFiniteElement<3u, double, double,
> double, double>]’
> testgenericfem.cc:111:   instantiated from here
> ../../../dune/localfunctions/raviartthomas/raviartthomassimplex/raviartthomassimplexinterpolation.hh:287:
> error: no type named ‘Mapping’ in ‘struct
> Dune::ReferenceElement<double, 3>::Codim<1>’
> ../../../dune/localfunctions/raviartthomas/raviartthomassimplex/raviartthomassimplexinterpolation.hh:
> In member function ‘void Dune::RaviartThomasL2Interpolation<dimension,
> F>::interpolate(typename Dune::InterpolationHelper<F,
> dimension>::Helper<Func, Container, type>&) const [with Func =
> Dune::PolynomialBasisWithMatrix<Dune::StandardEvaluator<const
> Dune::VirtualMonomialBasis<3, double>  >,
> Dune::SparseCoeffMatrix<double, 3u>, double, double>, Container =
> Dune::BasisMatrixBase<const
> Dune::PolynomialBasisWithMatrix<Dune::StandardEvaluator<const
> Dune::VirtualMonomialBasis<3, double>  >,
> Dune::SparseCoeffMatrix<double, 3u>, double, double>, const
> Dune::RaviartThomasL2Interpolation<3u, double>, double>, bool type =
> false, unsigned int dimension = 3u, F = double]’:
> ../../../dune/localfunctions/raviartthomas/raviartthomassimplex/raviartthomassimplexinterpolation.hh:227:
> instantiated from ‘void Dune::RaviartThomasL2Interpolation<dimension,
> F>::interpolate(const Basis&, Matrix&) const [with Basis =
> Dune::PolynomialBasisWithMatrix<Dune::StandardEvaluator<const
> Dune::VirtualMonomialBasis<3, double>  >,
> Dune::SparseCoeffMatrix<double, 3u>, double, double>, Matrix =
> Dune::BasisMatrixBase<const
> Dune::PolynomialBasisWithMatrix<Dune::StandardEvaluator<const
> Dune::VirtualMonomialBasis<3, double>  >,
> Dune::SparseCoeffMatrix<double, 3u>, double, double>, const
> Dune::RaviartThomasL2Interpolation<3u, double>, double>, unsigned int
> dimension = 3u, F = double]’
> ../../../dune/localfunctions/utility/basismatrix.hh:35:   instantiated
> from ‘Dune::BasisMatrixBase<PreBasis, Interpolation,
> Field>::BasisMatrixBase(const PreBasis&, const Interpolation&) [with
> PreBasis = const
> Dune::PolynomialBasisWithMatrix<Dune::StandardEvaluator<const
> Dune::VirtualMonomialBasis<3, double>  >,
> Dune::SparseCoeffMatrix<double, 3u>, double, double>, Interpolation =
> const Dune::RaviartThomasL2Interpolation<3u, double>, Field = double]’
> ../../../dune/localfunctions/utility/basismatrix.hh:154:
> instantiated from ‘Dune::BasisMatrix<const
> Dune::PolynomialBasisWithMatrix<Eval, CM, double, double>,
> Interpolation, Field>::BasisMatrix(const
> Dune::PolynomialBasisWithMatrix<Eval, CM, double, double>&, const
> Interpolation&) [with Eval = Dune::StandardEvaluator<const
> Dune::VirtualMonomialBasis<3, double>  >, CM =
> Dune::SparseCoeffMatrix<double, 3u>, Interpolation = const
> Dune::RaviartThomasL2Interpolation<3u, double>, Field = double]’
> ../../../dune/localfunctions/utility/defaultbasisfactory.hh:96:
> instantiated from ‘static typename
> Dune::DefaultBasisFactoryTraits<PreBFactory, InterpolFactory, dim,
> dimR, SF, CF, PreBasisKeyExtractor>::Object*
> Dune::DefaultBasisFactory<PreBFactory, InterpolFactory, dim, dimR, SF,
> CF, PreBasisKeyExtractor>::createObject(const typename
> Dune::DefaultBasisFactoryTraits<PreBFactory, InterpolFactory, dim,
> dimR, SF, CF, PreBasisKeyExtractor>::Key&) [with Topology =
> Dune::GenericGeometry::Prism<Dune::GenericGeometry::Prism<Dune::GenericGeometry::Prism<Dune::GenericGeometry::Point>  >  >, PreBFactory = Dune::RTPreBasisFactory<3u, double>, InterpolFactory = Dune::RaviartThomasL2InterpolationFactory<3u, double>, unsigned int dim = 3u, unsigned int dimR = 3u, SF = double, CF = double, PreBasisKeyExtractor = Dune::Identity]’
> /home/mblatt/buildbot-slave1/DUNE-1/trunk/dune-geometry/dune/geometry/topologyfactory.hh:52:
> instantiated from ‘static typename Traits::Object*
> Dune::TopologyFactory<Traits>::create(const typename Traits::Key&)
> [with Topology =
> Dune::GenericGeometry::Prism<Dune::GenericGeometry::Prism<Dune::GenericGeometry::Prism<Dune::GenericGeometry::Point>  >  >, Traits = Dune::DefaultBasisFactoryTraits<Dune::RTPreBasisFactory<3u, double>, Dune::RaviartThomasL2InterpolationFactory<3u, double>, 3u, 3u, double, double, Dune::Identity>]’
> ../../../dune/localfunctions/utility/localfiniteelement.hh:108:
> instantiated from ‘void Dune::GenericLocalFiniteElement<BasisF,
> CoeffF, InterpolF>::FiniteElement::create(const typename BasisF::Key&)
> [with Topology =
> Dune::GenericGeometry::Prism<Dune::GenericGeometry::Prism<Dune::GenericGeometry::Prism<Dune::GenericGeometry::Point>  >  >, BasisF = Dune::RaviartThomasBasisFactory<3u, double, double>, CoeffF = Dune::RaviartThomasCoefficientsFactory<3u>, InterpolF = Dune::RaviartThomasL2InterpolationFactory<3u, double>]’
> ../../../dune/localfunctions/utility/localfiniteelement.hh:129:
> instantiated from ‘static void Dune::GenericLocalFiniteElement<BasisF,
> CoeffF, InterpolF>::FiniteElement::Maker<Topology>::apply(const
> typename BasisF::Key&, Dune::GenericLocalFiniteElement<BasisF, CoeffF,
> InterpolF>::FiniteElement&) [with Topology =
> Dune::GenericGeometry::Prism<Dune::GenericGeometry::Prism<Dune::GenericGeometry::Prism<Dune::GenericGeometry::Point>  >  >, BasisF = Dune::RaviartThomasBasisFactory<3u, double, double>, CoeffF = Dune::RaviartThomasCoefficientsFactory<3u>, InterpolF = Dune::RaviartThomasL2InterpolationFactory<3u, double>]’
> /home/mblatt/buildbot-slave1/DUNE-1/trunk/dune-geometry/dune/geometry/genericgeometry/topologytypes.hh:381:
> instantiated from ‘static void
> Dune::GenericGeometry::IfTopology<Operation, 0,
> Topology>::apply(unsigned int, T1&, T2&) [with T1 = unsigned int, T2 =
> Dune::GenericLocalFiniteElement<Dune::RaviartThomasBasisFactory<3u,
> double, double>, Dune::RaviartThomasCoefficientsFactory<3u>,
> Dune::RaviartThomasL2InterpolationFactory<3u, double>  >::FiniteElement, Operation = Dune::GenericLocalFiniteElement<Dune::RaviartThomasBasisFactory<3u, double, double>, Dune::RaviartThomasCoefficientsFactory<3u>, Dune::RaviartThomasL2InterpolationFactory<3u, double>  >::FiniteElement::Maker, Topology = Dune::GenericGeometry::Prism<Dune::GenericGeometry::Prism<Dune::GenericGeometry::Prism<Dune::GenericGeometry::Point>  >  >]’
> /home/mblatt/buildbot-slave1/DUNE-1/trunk/dune-geometry/dune/geometry/genericgeometry/topologytypes.hh:339:
> instantiated from ‘static void
> Dune::GenericGeometry::IfTopology<Operation, dim,
> Topology>::apply(unsigned int, T1&, T2&) [with T1 = unsigned int, T2 =
> Dune::GenericLocalFiniteElement<Dune::RaviartThomasBasisFactory<3u,
> double, double>, Dune::RaviartThomasCoefficientsFactory<3u>,
> Dune::RaviartThomasL2InterpolationFactory<3u, double>  >::FiniteElement, Operation = Dune::GenericLocalFiniteElement<Dune::RaviartThomasBasisFactory<3u, double, double>, Dune::RaviartThomasCoefficientsFactory<3u>, Dune::RaviartThomasL2InterpolationFactory<3u, double>  >::FiniteElement::Maker, int dim = 1, Topology = Dune::GenericGeometry::Prism<Dune::GenericGeometry::Prism<Dune::GenericGeometry::Point>  >]’
> /home/mblatt/buildbot-slave1/DUNE-1/trunk/dune-geometry/dune/geometry/genericgeometry/topologytypes.hh:339:
> instantiated from ‘static void
> Dune::GenericGeometry::IfTopology<Operation, dim,
> Topology>::apply(unsigned int, T1&, T2&) [with T1 = unsigned int, T2 =
> Dune::GenericLocalFiniteElement<Dune::RaviartThomasBasisFactory<3u,
> double, double>, Dune::RaviartThomasCoefficientsFactory<3u>,
> Dune::RaviartThomasL2InterpolationFactory<3u, double>  >::FiniteElement, Operation = Dune::GenericLocalFiniteElement<Dune::RaviartThomasBasisFactory<3u, double, double>, Dune::RaviartThomasCoefficientsFactory<3u>, Dune::RaviartThomasL2InterpolationFactory<3u, double>  >::FiniteElement::Maker, int dim = 2, Topology = Dune::GenericGeometry::Prism<Dune::GenericGeometry::Point>]’
> /home/mblatt/buildbot-slave1/DUNE-1/trunk/dune-geometry/dune/geometry/genericgeometry/topologytypes.hh:339:
> instantiated from ‘static void
> Dune::GenericGeometry::IfTopology<Operation, dim,
> Topology>::apply(unsigned int, T1&, T2&) [with T1 = unsigned int, T2 =
> Dune::GenericLocalFiniteElement<Dune::RaviartThomasBasisFactory<3u,
> double, double>, Dune::RaviartThomasCoefficientsFactory<3u>,
> Dune::RaviartThomasL2InterpolationFactory<3u, double>  >::FiniteElement, Operation = Dune::GenericLocalFiniteElement<Dune::RaviartThomasBasisFactory<3u, double, double>, Dune::RaviartThomasCoefficientsFactory<3u>, Dune::RaviartThomasL2InterpolationFactory<3u, double>  >::FiniteElement::Maker, int dim = 3, Topology = Dune::GenericGeometry::Point]’
> ../../../dune/localfunctions/utility/localfiniteelement.hh:44:
> instantiated from ‘Dune::GenericLocalFiniteElement<BasisF, CoeffF,
> InterpolF>::GenericLocalFiniteElement(const Dune::GeometryType&, const
> typename BasisF::Key&) [with BasisF =
> Dune::RaviartThomasBasisFactory<3u, double, double>, CoeffF =
> Dune::RaviartThomasCoefficientsFactory<3u>, InterpolF =
> Dune::RaviartThomasL2InterpolationFactory<3u, double>]’
> ../../../dune/localfunctions/raviartthomas/raviartthomassimplex.hh:44:
> instantiated from
> ‘Dune::RaviartThomasSimplexLocalFiniteElement<dimDomain, D, R, SF,
> CF>::RaviartThomasSimplexLocalFiniteElement(const Dune::GeometryType&,
> unsigned int) [with unsigned int dimDomain = 3u, D = double, R =
> double, SF = double, CF = double]’
> testgenericfem.cc:110:   instantiated from here
> ../../../dune/localfunctions/raviartthomas/raviartthomassimplex/raviartthomassimplexinterpolation.hh:287:
> error: no type named ‘Mapping’ in ‘struct
> Dune::ReferenceElement<double, 3>::Codim<1>’
> ../../../dune/localfunctions/raviartthomas/raviartthomassimplex/raviartthomassimplexinterpolation.hh:
> In member function ‘void Dune::RaviartThomasL2Interpolation<dimension,
> F>::interpolate(typename Dune::InterpolationHelper<F,
> dimension>::Helper<Func, Container, type>&) const [with Func =
> Dune::VirtualFunction<Dune::FieldVector<double, 3>,
> Dune::FieldVector<double, 3>  >, Container = std::vector<double,
> std::allocator<double>  >, bool type = true, unsigned int dimension =
> 3u, F = double]’:
> ../../../dune/localfunctions/raviartthomas/raviartthomassimplex/raviartthomassimplexinterpolation.hh:220:
> instantiated from ‘void Dune::RaviartThomasL2Interpolation<dimension,
> F>::interpolate(const Function&, std::vector<DofField,
> std::allocator<DofField>  >&) const [with Function =
> Dune::VirtualFunction<Dune::FieldVector<double, 3>,
> Dune::FieldVector<double, 3>  >, Fy = double, unsigned int dimension =
> 3u, F = double]’
> ../../../dune/localfunctions/common/virtualwrappers.hh:222:
> instantiated from ‘void Dune::LocalInterpolationVirtualImp<DomainType,
> RangeType, Imp>::interpolate(const typename
> Dune::LocalInterpolationVirtualInterface<DomainType,
> RangeType>::FunctionType&, std::vector<typename
> Dune::LocalInterpolationVirtualInterface<DomainType,
> RangeType>::CoefficientType, std::allocator<typename
> Dune::LocalInterpolationVirtualInterface<DomainType,
> RangeType>::CoefficientType>  >&) const [with DomainType =
> Dune::FieldVector<double, 3>, RangeType = Dune::FieldVector<double,
> 3>, Imp = const Dune::RaviartThomasL2Interpolation<3u, double>]’
> testgenericfem.cc:119:   instantiated from here
> ../../../dune/localfunctions/raviartthomas/raviartthomassimplex/raviartthomassimplexinterpolation.hh:287:
> error: no type named ‘Mapping’ in ‘struct
> Dune::ReferenceElement<double, 3>::Codim<1>’
> make[4]: *** [testgenericfem-testgenericfem.o] Fehler 1
> make[4]: Leaving directory
> `/home/mblatt/buildbot-slave1/DUNE-1/trunk/dune-localfunctions/dune/localfunctions/test'
> make[3]: *** [check-am] Fehler 2
> make[3]: Leaving directory
> `/home/mblatt/buildbot-slave1/DUNE-1/trunk/dune-localfunctions/dune/localfunctions/test'
> make[2]: *** [check-recursive] Fehler 1
> make[2]: Leaving directory
> `/home/mblatt/buildbot-slave1/DUNE-1/trunk/dune-localfunctions/dune/localfunctions'
> make[1]: *** [check-recursive] Fehler 1
> make[1]: Leaving directory
> `/home/mblatt/buildbot-slave1/DUNE-1/trunk/dune-localfunctions/dune'
> make: *** [check-recursive] Fehler 1
> --- Failed to build dune-localfunctions ---
> Terminating dunecontrol due to previous errors!
>
> BTW: Thanks for merging this. Compiling the old version was a pain.
>
> Cheers,
>
> Markus
>





More information about the Dune-devel mailing list