[Dune-devel] Compile time of reference elements

Markus Blatt markus at dr-blatt.de
Sun Feb 17 16:34:01 CET 2013


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

-- 
Do you need more support with DUNE or HPC in general? 

Dr. Markus Blatt - HPC-Simulation-Software & Services http://www.dr-blatt.de
Hans-Bunte-Str. 8-10, 69123 Heidelberg, Germany
Tel.: +49 (0) 160 97590858  Fax: +49 (0)322 1108991658 




More information about the Dune-devel mailing list