[Dune] [Dune-Commit] dune-localfunctions r574 - in trunk: . dune/finiteelements dune/finiteelements/generic dune/finiteelements/generic/common dune/finiteelements/generic/lagrangebasis dune/finiteelements/generic/math dune/finiteelements/generic/orthonormalbasis dune/finiteelements/generic/quadrature dune/finiteelements/generic/raviartthomasbasis

Andreas Dedner dedner at mathematik.uni-freiburg.de
Thu Oct 29 14:39:10 CET 2009


Hi,
here a bit more detail:

We have implemented
1) Lagrange Finite Elements of arbitrary order
    for simplex, cubes, and prisms (the jacobian for Pyrmids is still
    missing). As interpolation point sets equidistant points and
    (approximate) lobatto points are available (require alglib which
    we will provide with an m4 test later on).
2) orthonormal basis functions of arbitrary order for arbitrary
    topologies.
3) Raviart-Thomas spaces of higher order for simplicies.

Local basis functions, interpolations, and coefficients are provided for
a dynamic polynomial order and topology type, i.e., work for hybrid
meshes. The twist problem is not covered at the moment since different
strategies have to be discussed here.

To avoid problems with rounding error etc. all parts of the finite
elements are provided for arbitrary precision field types (alglib an
mpfr wrapper, or gmp). The required m4 checks are under construction.

At the moment quadratures are also provided (Gauss and Lobatto) but
should be moved into a future "dune-geometry" module.

Best
Martin and Andreas


Oliver Sander wrote:
> Thanks a lot, guys!
> What are generic localfunctions?
> 
> Yours,
> Oliver
> 
> dedner at dune-project.org schrieb:
>> Author: dedner
>> Date: 2009-10-29 14:11:55 +0100 (Thu, 29 Oct 2009)
>> New Revision: 574
>>
>> Added:
>>    trunk/dune/finiteelements/generic/Makefile.am
>>    trunk/dune/finiteelements/generic/common/
>>    trunk/dune/finiteelements/generic/dglagrangefiniteelement.hh
>>    trunk/dune/finiteelements/generic/lagrangebasis/
>>    trunk/dune/finiteelements/generic/lagrangefiniteelement.hh
>>    trunk/dune/finiteelements/generic/math/
>>    trunk/dune/finiteelements/generic/orthonormalbasis/
>>    trunk/dune/finiteelements/generic/orthonormalfiniteelement.hh
>>    trunk/dune/finiteelements/generic/quadrature/
>>    trunk/dune/finiteelements/generic/raviartthomasbasis/
>>    trunk/dune/finiteelements/generic/raviartthomasfiniteelement.hh
>> Removed:
>>    trunk/dune/finiteelements/generic/dune/
>>    trunk/dune/finiteelements/generic/orthonormalbasis/example.cc
>> Modified:
>>    trunk/configure.ac
>>    trunk/dune/finiteelements/Makefile.am
>>    trunk/dune/finiteelements/generic/
>>    trunk/dune/finiteelements/generic/common/Makefile.am
>>    trunk/dune/finiteelements/generic/common/basisevaluator.hh
>>    trunk/dune/finiteelements/generic/common/basismatrix.hh
>>    trunk/dune/finiteelements/generic/common/basisprint.hh
>>    trunk/dune/finiteelements/generic/common/coeffmatrix.hh
>>    trunk/dune/finiteelements/generic/common/defaultbasisfactory.hh
>>    trunk/dune/finiteelements/generic/common/dglocalcoefficients.hh
>>    trunk/dune/finiteelements/generic/common/interpolationhelper.hh
>>    trunk/dune/finiteelements/generic/common/l2interpolation.hh
>>    trunk/dune/finiteelements/generic/common/monomialbasis.hh
>>    trunk/dune/finiteelements/generic/common/multiindex.hh
>>    trunk/dune/finiteelements/generic/common/polynomialbasis.hh
>>    trunk/dune/finiteelements/generic/common/tensor.hh
>>    trunk/dune/finiteelements/generic/lagrangebasis/Makefile.am
>>    trunk/dune/finiteelements/generic/lagrangebasis/equidistantpoints.hh
>>    trunk/dune/finiteelements/generic/lagrangebasis/interpolation.hh
>>    trunk/dune/finiteelements/generic/lagrangebasis/lagrangebasis.hh
>>    trunk/dune/finiteelements/generic/lagrangebasis/lagrangecoefficients.hh
>>    trunk/dune/finiteelements/generic/lagrangebasis/lobattopoints.hh
>>    trunk/dune/finiteelements/generic/lagrangebasis/test.cc
>>    trunk/dune/finiteelements/generic/math/Makefile.am
>>    trunk/dune/finiteelements/generic/math/field.hh
>>    trunk/dune/finiteelements/generic/math/matrix.hh
>>    trunk/dune/finiteelements/generic/orthonormalbasis/Makefile.am
>>    trunk/dune/finiteelements/generic/orthonormalbasis/orthonormalbasis.hh
>>    trunk/dune/finiteelements/generic/orthonormalbasis/orthonormalcompute.hh
>>    trunk/dune/finiteelements/generic/orthonormalbasis/test.cc
>>    trunk/dune/finiteelements/generic/quadrature/Makefile.am
>>    trunk/dune/finiteelements/generic/quadrature/gaussquadrature.hh
>>    trunk/dune/finiteelements/generic/quadrature/genericquadrature.hh
>>    trunk/dune/finiteelements/generic/quadrature/lobattoquadrature.hh
>>    trunk/dune/finiteelements/generic/quadrature/quadrature.hh
>>    trunk/dune/finiteelements/generic/quadrature/subquadrature.hh
>>    trunk/dune/finiteelements/generic/raviartthomasbasis/Makefile.am
>>    trunk/dune/finiteelements/generic/raviartthomasbasis/interpolation.hh
>>    trunk/dune/finiteelements/generic/raviartthomasbasis/raviartthomasbasis.hh
>>    trunk/dune/finiteelements/generic/raviartthomasbasis/raviartthomasprebasis.hh
>>    trunk/dune/finiteelements/generic/raviartthomasbasis/test.cc
>> Log:
>> final import of generic localfunctions after load of svn dump
>> Have fun
>> Andreas and Martin
>>
>>
>>
>> Modified: trunk/configure.ac
>> ===================================================================
>> --- trunk/configure.ac	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/configure.ac	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -48,6 +48,13 @@
>>                  dune/finiteelements/rt0q2d/Makefile
>>                  dune/finiteelements/rt0q3d/Makefile
>>                  dune/finiteelements/test/Makefile
>> +                dune/finiteelements/generic/Makefile
>> +                dune/finiteelements/generic/common/Makefile         
>> +                dune/finiteelements/generic/math/Makefile           
>> +                dune/finiteelements/generic/quadrature/Makefile
>> +                dune/finiteelements/generic/orthonormalbasis/Makefile
>> +                dune/finiteelements/generic/lagrangebasis/Makefile  
>> +                dune/finiteelements/generic/raviartthomasbasis/Makefile
>>                  doc/doxygen/Makefile
>>                  doc/doxygen/Doxyfile
>>                  doc/Makefile
>>
>> Modified: trunk/dune/finiteelements/Makefile.am
>> ===================================================================
>> --- trunk/dune/finiteelements/Makefile.am	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/Makefile.am	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -6,8 +6,9 @@
>>          refinedp1.hh monom.hh p2.hh mimetic.hh rt0q2d.hh rt0q3d.hh rt0q.hh \
>>  	pk2d.hh q22d.hh q1.hh
>>  
>> -SUBDIRS = common test p0 p1 pk2d pk3d q1 q22d rt02d edger02d edges02d \
>> -	edges03d rannacher_turek2d refinedp1 monom mimetic rt0q2d rt0q3d \
>> -        prismp1 prismp2
>> +SUBDIRS = common generic test \
>> +          p0 p1 pk2d pk3d q1 q22d rt02d edger02d edges02d \
>> + 	  edges03d rannacher_turek2d refinedp1 monom mimetic rt0q2d rt0q3d \
>> +          prismp1 prismp2 
>>  
>>  include $(top_srcdir)/am/global-rules
>>
>>
>> Property changes on: trunk/dune/finiteelements/generic
>> ___________________________________________________________________
>> Name: svn:ignore
>>    + Makefile
>> Makefile.in
>> .deps
>> .libs
>> *.swp
>>
>>
>> Copied: trunk/dune/finiteelements/generic/Makefile.am (from rev 573, trunk/dune/finiteelements/generic/dune/finiteelements/Makefile.am)
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/Makefile.am	                        (rev 0)
>> +++ trunk/dune/finiteelements/generic/Makefile.am	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -0,0 +1,9 @@
>> +genericdir = $(includedir)/dune/finiteelements/generic
>> +generic_HEADERS = lagrangefiniteelement.hh \
>> +                  dglagrangefiniteelement.hh \
>> +                  orthonormalfiniteelement.hh \
>> +                  raviartthomasfiniteelement.hh
>> +SUBDIRS = common orthonormalbasis lagrangebasis raviartthomasbasis math quadrature
>> +AM_CPPFLAGS = $(DUNE_CPPFLAGS)
>> +
>> +include $(top_srcdir)/am/global-rules
>>
>> Copied: trunk/dune/finiteelements/generic/common (from rev 573, trunk/dune/finiteelements/generic/dune/finiteelements/generic)
>>
>> Modified: trunk/dune/finiteelements/generic/common/Makefile.am
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/generic/Makefile.am	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/common/Makefile.am	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -1,13 +1,11 @@
>> -genericdir = $(includedir)/dune/finiteelements/generic
>> +commondir = $(includedir)/dune/finiteelements/generic/common
>>  
>> -generic_HEADERS = basisevaluator.hh       localfiniteelement.hh  \
>> -                  basismatrix.hh          monomialbasis.hh       \
>> -                  basisprint.hh           multiindex.hh          \
>> -                  coeffmatrix.hh          polynomialbasis.hh     \
>> -                  defaultbasisfactory.hh  tensor.hh              \
>> -                  dglocalcoefficients.hh  topologyfactory.hh     \
>> -                  interpolationhelper.hh  l2interpolation.hh
>> +common_HEADERS = basisevaluator.hh       localfiniteelement.hh  \
>> +                 basismatrix.hh          monomialbasis.hh       \
>> +                 basisprint.hh           multiindex.hh          \
>> +                 coeffmatrix.hh          polynomialbasis.hh     \
>> +                 defaultbasisfactory.hh  tensor.hh              \
>> +                 dglocalcoefficients.hh  topologyfactory.hh     \
>> +                 interpolationhelper.hh  l2interpolation.hh
>>  
>> -AM_CPPFLAGS += "-I$(top_srcdir)/alglib"
>> -
>>  include $(top_srcdir)/am/global-rules
>>
>> Modified: trunk/dune/finiteelements/generic/common/basisevaluator.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/generic/basisevaluator.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/common/basisevaluator.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -8,11 +8,11 @@
>>  
>>  #include <dune/grid/genericgeometry/topologytypes.hh>
>>  
>> -#include <dune/finiteelements/common/field.hh>
>> +#include <dune/finiteelements/generic/math/field.hh>
>>  
>> -#include <dune/finiteelements/generic/multiindex.hh>
>> +#include <dune/finiteelements/generic/common/multiindex.hh>
>>  
>> -#include <dune/finiteelements/generic/tensor.hh>
>> +#include <dune/finiteelements/generic/common/tensor.hh>
>>  
>>  namespace Dune
>>  {
>>
>> Modified: trunk/dune/finiteelements/generic/common/basismatrix.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/generic/basismatrix.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/common/basismatrix.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -4,9 +4,9 @@
>>  #include <fstream>
>>  #include <dune/common/exceptions.hh>
>>  
>> -#include <dune/finiteelements/common/matrix.hh>
>> -#include <dune/finiteelements/generic/monomialbasis.hh>
>> -#include <dune/finiteelements/generic/polynomialbasis.hh>
>> +#include <dune/finiteelements/generic/math/matrix.hh>
>> +#include <dune/finiteelements/generic/common/monomialbasis.hh>
>> +#include <dune/finiteelements/generic/common/polynomialbasis.hh>
>>  
>>  namespace Dune
>>  {
>>
>> Modified: trunk/dune/finiteelements/generic/common/basisprint.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/generic/basisprint.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/common/basisprint.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -1,7 +1,7 @@
>>  #ifndef BASISPRINT
>>  #define BASISPRINT
>> -#include <dune/finiteelements/generic/multiindex.hh>
>> -#include <dune/finiteelements/generic/polynomialbasis.hh>
>> +#include <dune/finiteelements/generic/common/multiindex.hh>
>> +#include <dune/finiteelements/generic/common/polynomialbasis.hh>
>>  namespace Dune {
>>    template <int deriv,class BasisFactory,class PrintField=typename BasisFactory::StorageField>
>>    void basisPrint(std::ostream &out, 
>>
>> Modified: trunk/dune/finiteelements/generic/common/coeffmatrix.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/generic/coeffmatrix.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/common/coeffmatrix.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -4,8 +4,8 @@
>>  #include <iostream>
>>  #include <vector>
>>  #include <dune/common/fvector.hh>
>> -#include <dune/finiteelements/common/field.hh>
>> -#include <dune/finiteelements/generic/tensor.hh>
>> +#include <dune/finiteelements/generic/math/field.hh>
>> +#include <dune/finiteelements/generic/common/tensor.hh>
>>  
>>  namespace Dune 
>>  {
>>
>> Modified: trunk/dune/finiteelements/generic/common/defaultbasisfactory.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/generic/defaultbasisfactory.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/common/defaultbasisfactory.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -4,8 +4,8 @@
>>  #include <fstream>
>>  #include <dune/common/exceptions.hh>
>>  
>> -#include <dune/finiteelements/generic/basismatrix.hh>
>> -#include <dune/finiteelements/generic/topologyfactory.hh>
>> +#include <dune/finiteelements/generic/common/basismatrix.hh>
>> +#include <dune/finiteelements/generic/common/topologyfactory.hh>
>>  
>>  namespace Dune
>>  {
>>
>> Modified: trunk/dune/finiteelements/generic/common/dglocalcoefficients.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/generic/dglocalcoefficients.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/common/dglocalcoefficients.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -4,7 +4,7 @@
>>  #include <cassert>
>>  #include <vector>
>>  
>> -#include <dune/finiteelements/generic/topologyfactory.hh>
>> +#include <dune/finiteelements/generic/common/topologyfactory.hh>
>>  #include <dune/finiteelements/common/localcoefficients.hh>
>>  
>>  namespace Dune
>>
>> Modified: trunk/dune/finiteelements/generic/common/interpolationhelper.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/generic/interpolationhelper.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/common/interpolationhelper.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -2,7 +2,7 @@
>>  #define GENERIC_INTERPOLATIONHELPER_HH
>>  
>>  #include <dune/common/fvector.hh>
>> -#include <dune/finiteelements/common/field.hh>
>> +#include <dune/finiteelements/generic/math/field.hh>
>>  #include <dune/finiteelements/common/localinterpolation.hh>
>>  
>>  namespace Dune 
>>
>> Modified: trunk/dune/finiteelements/generic/common/l2interpolation.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/generic/l2interpolation.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/common/l2interpolation.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -1,12 +1,13 @@
>>  #ifndef DUNE_L2INTERPOLATION_HH
>>  #define DUNE_L2INTERPOLATION_HH
>>  
>> -#include <dune/finiteelements/generic/topologyfactory.hh>
>> -#include <dune/finiteelements/common/matrix.hh>
>> +#include <dune/finiteelements/generic/common/topologyfactory.hh>
>> +#include <dune/finiteelements/generic/math/matrix.hh>
>>  
>>  #include <dune/finiteelements/common/localinterpolation.hh>
>> -#include <dune/finiteelements/quadrature/genericquadrature.hh>
>>  
>> +#include <dune/finiteelements/generic/quadrature/genericquadrature.hh>
>> +
>>  namespace Dune
>>  {
>>    template< class B, class Q, bool onb >
>>
>> Modified: trunk/dune/finiteelements/generic/common/monomialbasis.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/generic/monomialbasis.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/common/monomialbasis.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -8,11 +8,11 @@
>>  
>>  #include <dune/grid/genericgeometry/topologytypes.hh>
>>  
>> -#include <dune/finiteelements/common/field.hh>
>> +#include <dune/finiteelements/generic/math/field.hh>
>>  
>> -#include <dune/finiteelements/generic/topologyfactory.hh>
>> -#include <dune/finiteelements/generic/multiindex.hh>
>> -#include <dune/finiteelements/generic/tensor.hh>
>> +#include <dune/finiteelements/generic/common/topologyfactory.hh>
>> +#include <dune/finiteelements/generic/common/multiindex.hh>
>> +#include <dune/finiteelements/generic/common/tensor.hh>
>>  
>>  namespace Dune
>>  {
>>
>> Modified: trunk/dune/finiteelements/generic/common/multiindex.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/generic/multiindex.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/common/multiindex.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -6,7 +6,7 @@
>>  
>>  #include <dune/common/fvector.hh>
>>  
>> -#include <dune/finiteelements/common/field.hh>
>> +#include <dune/finiteelements/generic/math/field.hh>
>>  
>>  namespace Dune
>>  {
>>
>> Modified: trunk/dune/finiteelements/generic/common/polynomialbasis.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/generic/polynomialbasis.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/common/polynomialbasis.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -7,10 +7,10 @@
>>  
>>  #include <dune/finiteelements/common/localbasis.hh>
>>  
>> -#include <dune/finiteelements/generic/coeffmatrix.hh>
>> -#include <dune/finiteelements/generic/monomialbasis.hh>
>> -#include <dune/finiteelements/generic/multiindex.hh>
>> -#include <dune/finiteelements/generic/basisevaluator.hh>
>> +#include <dune/finiteelements/generic/common/coeffmatrix.hh>
>> +#include <dune/finiteelements/generic/common/monomialbasis.hh>
>> +#include <dune/finiteelements/generic/common/multiindex.hh>
>> +#include <dune/finiteelements/generic/common/basisevaluator.hh>
>>  
>>  namespace Dune
>>  {
>>
>> Modified: trunk/dune/finiteelements/generic/common/tensor.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/generic/tensor.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/common/tensor.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -4,7 +4,7 @@
>>  #include <vector>
>>  #include <ostream>
>>  
>> -#include <dune/finiteelements/common/field.hh>
>> +#include <dune/finiteelements/generic/math/field.hh>
>>  #include <dune/common/fvector.hh>
>>  #include <dune/common/misc.hh>
>>  
>>
>> Copied: trunk/dune/finiteelements/generic/dglagrangefiniteelement.hh (from rev 573, trunk/dune/finiteelements/generic/dune/finiteelements/dglagrangefiniteelement.hh)
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dglagrangefiniteelement.hh	                        (rev 0)
>> +++ trunk/dune/finiteelements/generic/dglagrangefiniteelement.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -0,0 +1,37 @@
>> +#ifndef DUNE_LAGRANGEFINITEELEMENT_HH
>> +#define DUNE_LAGRANGEFINITEELEMENT_HH
>> +
>> +#include <dune/finiteelements/generic/common/localfiniteelement.hh>
>> +#include <dune/finiteelements/generic/common/dglocalcoefficients.hh>
>> +#include <dune/finiteelements/generic/lagrangebasis/lagrangecoefficients.hh>
>> +#include <dune/finiteelements/generic/lagrangebasis/interpolation.hh>
>> +#include <dune/finiteelements/generic/lagrangebasis/lagrangebasis.hh>
>> +
>> +namespace Dune 
>> +{
>> +  template< template <class,unsigned int> class LP,
>> +            unsigned int dimDomain, class D, class R, 
>> +            class SF=R, class CF=SF >
>> +  class LagrangeLocalFiniteElement 
>> +      : public GenericLocalFiniteElement< LagrangeBasisFactory< LP, dimDomain, SF, CF >,
>> +                                          DGLocalCoefficientsFactory< LagrangeBasisFactory< LP, dimDomain, SF, CF > >,
>> +                                          LagrangeInterpolationFactory< LP, dimDomain, SF >,
>> +                                          dimDomain,D,R>
>> +  {
>> +    typedef GenericLocalFiniteElement< LagrangeBasisFactory< LP, dimDomain, SF, CF >,
>> +                                       DGLocalCoefficientsFactory< LagrangeBasisFactory< LP, dimDomain, SF, CF > >,
>> +                                       LagrangeInterpolationFactory< LP, dimDomain, SF >,
>> +                                       dimDomain,D,R> Base;
>> +  public:
>> +    typedef typename Base::Traits Traits;
>> +
>> +    /** \todo Please doc me !
>> +     */
>> +    LagrangeLocalFiniteElement ( unsigned int topologyId, unsigned int order )
>> +    : Base( topologyId, order )
>> +    {}
>> +  };
>> +
>> +}
>> +
>> +#endif // #ifndef DUNE_LAGRANGEFINITEELEMENT_HH
>>
>> Copied: trunk/dune/finiteelements/generic/lagrangebasis (from rev 573, trunk/dune/finiteelements/generic/dune/finiteelements/lagrangebasis)
>>
>> Modified: trunk/dune/finiteelements/generic/lagrangebasis/Makefile.am
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/lagrangebasis/Makefile.am	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/lagrangebasis/Makefile.am	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -1,4 +1,4 @@
>> -lagrangebasisdir = $(includedir)/dune/finiteelements/lagrangebasis
>> +lagrangebasisdir = $(includedir)/dune/finiteelements/generic/lagrangebasis
>>  lagrangebasis_HEADERS = emptypoints.hh        lagrangebasis.hh         \
>>                          equidistantpoints.hh  lagrangecoefficients.hh  \
>>                          interpolation.hh      lobattopoints.hh         
>> @@ -7,15 +7,14 @@
>>  
>>  
>>  TOPOLOGY = Pyramid< Pyramid< Pyramid< Point > > >
>> -SETTINGS = -DTOPOLOGY="$(TOPOLOGY)" -DHAVE_GMP=0 -DHAVE_ALGLIB=1
>> +SETTINGS = -DTOPOLOGY="$(TOPOLOGY)" 
>>  
>> -AM_CPPFLAGS = -I$(top_srcdir)/alglib 
>>  test_SOURCES = test.cc
>>  test_CPPFLAGS = $(DUNE_CPPFLAGS) $(AM_CPPFLAGS) $(SETTINGS)
>>  test_all_SOURCES = test.cc
>>  test_all_CPPFLAGS = $(DUNE_CPPFLAGS) $(AM_CPPFLAGS)
>>   
>> -LDADD = $(DUNE_LDFLAGS) $(DUNE_LIBS) -lgmpxx -lgmp -lmpfr
>> +LDADD = $(DUNE_LDFLAGS) $(DUNE_LIBS) 
>>  
>>  include $(top_srcdir)/am/global-rules
>>  
>>
>> Modified: trunk/dune/finiteelements/generic/lagrangebasis/equidistantpoints.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/lagrangebasis/equidistantpoints.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/lagrangebasis/equidistantpoints.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -4,13 +4,13 @@
>>  #include <vector>
>>  
>>  #include <dune/common/fvector.hh>
>> -#include <dune/finiteelements/common/field.hh>
>> +#include <dune/finiteelements/generic/math/field.hh>
>>  #include <dune/common/forloop.hh>
>> -#include <dune/finiteelements/generic/topologyfactory.hh>
>> +#include <dune/finiteelements/generic/common/topologyfactory.hh>
>>  #include <dune/grid/genericgeometry/topologytypes.hh>
>>  #include <dune/grid/genericgeometry/subtopologies.hh>
>>  
>> -#include <dune/finiteelements/lagrangebasis/emptypoints.hh>
>> +#include <dune/finiteelements/generic/lagrangebasis/emptypoints.hh>
>>  
>>  namespace Dune
>>  {
>>
>> Modified: trunk/dune/finiteelements/generic/lagrangebasis/interpolation.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/lagrangebasis/interpolation.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/lagrangebasis/interpolation.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -2,9 +2,9 @@
>>  #define DUNE_LAGRANGEBASIS_INTERPOLATION_HH
>>  
>>  #include <vector>
>> -#include <dune/finiteelements/generic/topologyfactory.hh>
>> +#include <dune/finiteelements/generic/common/topologyfactory.hh>
>>  #include <dune/finiteelements/common/localinterpolation.hh>
>> -#include <dune/finiteelements/lagrangebasis/lagrangecoefficients.hh>
>> +#include <dune/finiteelements/generic/lagrangebasis/lagrangecoefficients.hh>
>>  
>>  namespace Dune
>>  {
>>
>> Modified: trunk/dune/finiteelements/generic/lagrangebasis/lagrangebasis.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/lagrangebasis/lagrangebasis.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/lagrangebasis/lagrangebasis.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -4,11 +4,11 @@
>>  #include <fstream>
>>  #include <dune/common/exceptions.hh>
>>  
>> -#include <dune/finiteelements/generic/defaultbasisfactory.hh>
>> +#include <dune/finiteelements/generic/common/defaultbasisfactory.hh>
>>  
>> -#include <dune/finiteelements/generic/monomialbasis.hh>
>> -#include <dune/finiteelements/orthonormalbasis/orthonormalbasis.hh>
>> -#include <dune/finiteelements/lagrangebasis/interpolation.hh>
>> +#include <dune/finiteelements/generic/common/monomialbasis.hh>
>> +#include <dune/finiteelements/generic/orthonormalbasis/orthonormalbasis.hh>
>> +#include <dune/finiteelements/generic/lagrangebasis/interpolation.hh>
>>  
>>  namespace Dune
>>  {
>>
>> Modified: trunk/dune/finiteelements/generic/lagrangebasis/lagrangecoefficients.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/lagrangebasis/lagrangecoefficients.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/lagrangebasis/lagrangecoefficients.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -4,9 +4,9 @@
>>  #include <vector>
>>  
>>  #include <dune/common/fvector.hh>
>> -#include <dune/finiteelements/common/field.hh>
>> +#include <dune/finiteelements/generic/math/field.hh>
>>  #include <dune/common/forloop.hh>
>> -#include <dune/finiteelements/generic/topologyfactory.hh>
>> +#include <dune/finiteelements/generic/common/topologyfactory.hh>
>>  
>>  #include <dune/grid/genericgeometry/topologytypes.hh>
>>  #include <dune/grid/genericgeometry/subtopologies.hh>
>>
>> Modified: trunk/dune/finiteelements/generic/lagrangebasis/lobattopoints.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/lagrangebasis/lobattopoints.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/lagrangebasis/lobattopoints.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -3,16 +3,16 @@
>>  #if HAVE_ALGLIB
>>  
>>  #include <fstream>
>> -#include <dune/finiteelements/common/matrix.hh>
>> -#include <dune/finiteelements/common/field.hh>
>> +#include <dune/finiteelements/generic/math/matrix.hh>
>> +#include <dune/finiteelements/generic/math/field.hh>
>>  #include <dune/common/forloop.hh>
>> -#include <dune/finiteelements/generic/topologyfactory.hh>
>> +#include <dune/finiteelements/generic/common/topologyfactory.hh>
>>  #include <dune/grid/genericgeometry/referenceelements.hh>
>>  #include <dune/grid/genericgeometry/referencemappings.hh>
>>  
>> -#include <dune/finiteelements/quadrature/lobattoquadrature.hh>
>> -#include <dune/finiteelements/lagrangebasis/lagrangecoefficients.hh>
>> -#include <dune/finiteelements/lagrangebasis/emptypoints.hh>
>> +#include <dune/finiteelements/generic/quadrature/lobattoquadrature.hh>
>> +#include <dune/finiteelements/generic/lagrangebasis/lagrangecoefficients.hh>
>> +#include <dune/finiteelements/generic/lagrangebasis/emptypoints.hh>
>>  
>>  namespace Dune
>>  {
>>
>> Modified: trunk/dune/finiteelements/generic/lagrangebasis/test.cc
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/lagrangebasis/test.cc	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/lagrangebasis/test.cc	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -1,12 +1,12 @@
>> -#include <dune/finiteelements/common/field.hh>
>> +#include <dune/finiteelements/generic/math/field.hh>
>>  
>> -#include <dune/finiteelements/lagrangebasis/equidistantpoints.hh>
>> +#include <dune/finiteelements/generic/lagrangebasis/equidistantpoints.hh>
>>  #if HAVE_ALGLIB
>> -#include <dune/finiteelements/lagrangebasis/lobattopoints.hh>
>> +#include <dune/finiteelements/generic/lagrangebasis/lobattopoints.hh>
>>  #endif
>> -#include <dune/finiteelements/lagrangebasis/lagrangebasis.hh>
>> -#include <dune/finiteelements/quadrature/genericquadrature.hh>
>> -#include <dune/finiteelements/generic/basisprint.hh>
>> +#include <dune/finiteelements/generic/lagrangebasis/lagrangebasis.hh>
>> +#include <dune/finiteelements/generic/quadrature/genericquadrature.hh>
>> +#include <dune/finiteelements/generic/common/basisprint.hh>
>>  
>>  #if 1
>>    typedef double StorageField;
>>
>> Copied: trunk/dune/finiteelements/generic/lagrangefiniteelement.hh (from rev 573, trunk/dune/finiteelements/generic/dune/finiteelements/lagrangefiniteelement.hh)
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/lagrangefiniteelement.hh	                        (rev 0)
>> +++ trunk/dune/finiteelements/generic/lagrangefiniteelement.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -0,0 +1,36 @@
>> +#ifndef DUNE_LAGRANGEFINITEELEMENT_HH
>> +#define DUNE_LAGRANGEFINITEELEMENT_HH
>> +
>> +#include <dune/finiteelements/generic/common/localfiniteelement.hh>
>> +#include <dune/finiteelements/generic/lagrangebasis/lagrangecoefficients.hh>
>> +#include <dune/finiteelements/generic/lagrangebasis/interpolation.hh>
>> +#include <dune/finiteelements/generic/lagrangebasis/lagrangebasis.hh>
>> +
>> +namespace Dune 
>> +{
>> +  template< template <class,unsigned int> class LP,
>> +            unsigned int dimDomain, class D, class R, 
>> +            class SF=R, class CF=SF >
>> +  class LagrangeLocalFiniteElement 
>> +      : public GenericLocalFiniteElement< LagrangeBasisFactory< LP, dimDomain, SF, CF >,
>> +                                          LagrangeCoefficientsFactory<LP, dimDomain, SF >,
>> +                                          LagrangeInterpolationFactory< LP, dimDomain, SF >,
>> +                                          dimDomain,D,R>
>> +  {
>> +    typedef GenericLocalFiniteElement< LagrangeBasisFactory< LP, dimDomain, SF, CF >,
>> +                                       LagrangeCoefficientsFactory<LP, dimDomain, SF >,
>> +                                       LagrangeInterpolationFactory< LP, dimDomain, SF >,
>> +                                       dimDomain,D,R> Base;
>> +  public:
>> +    typedef typename Base::Traits Traits;
>> +
>> +    /** \todo Please doc me !
>> +     */
>> +    LagrangeLocalFiniteElement ( unsigned int topologyId, unsigned int order )
>> +    : Base( topologyId, order )
>> +    {}
>> +  };
>> +
>> +}
>> +
>> +#endif // #ifndef DUNE_LAGRANGEFINITEELEMENT_HH
>>
>> Copied: trunk/dune/finiteelements/generic/math (from rev 573, trunk/dune/finiteelements/generic/dune/finiteelements/common)
>>
>> Modified: trunk/dune/finiteelements/generic/math/Makefile.am
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/common/Makefile.am	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/math/Makefile.am	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -1,4 +1,4 @@
>> -commondir = $(includedir)/dune/finiteelements/common
>> -common_HEADERS = field.hh gmpfield.hh vector.hh matrix.hh
>> +mathdir = $(includedir)/dune/finiteelements/generic/math
>> +math_HEADERS = field.hh gmpfield.hh vector.hh matrix.hh
>>  
>>  include $(top_srcdir)/am/global-rules
>>
>> Modified: trunk/dune/finiteelements/generic/math/field.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/common/field.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/math/field.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -5,7 +5,7 @@
>>  #include <alglib/amp.h>
>>  #endif
>>  #if HAVE_GMP
>> -#include <dune/finiteelements/common/gmpfield.hh>
>> +#include <dune/finiteelements/generic/math/gmpfield.hh>
>>  #endif
>>  
>>  #include <dune/common/fvector.hh>
>>
>> Modified: trunk/dune/finiteelements/generic/math/matrix.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/common/matrix.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/math/matrix.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -4,8 +4,8 @@
>>  #include <cassert>
>>  #include <vector>
>>  
>> -#include <dune/finiteelements/common/field.hh>
>> -#include <dune/finiteelements/common/vector.hh>
>> +#include <dune/finiteelements/generic/math/field.hh>
>> +#include <dune/finiteelements/generic/math/vector.hh>
>>  
>>  #if HAVE_ALGLIB
>>  #include <alglib/amp.h>
>>
>> Copied: trunk/dune/finiteelements/generic/orthonormalbasis (from rev 573, trunk/dune/finiteelements/generic/dune/finiteelements/orthonormalbasis)
>>
>> Modified: trunk/dune/finiteelements/generic/orthonormalbasis/Makefile.am
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/orthonormalbasis/Makefile.am	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/orthonormalbasis/Makefile.am	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -1,15 +1,12 @@
>> -orthonormalbasisdir = $(includedir)/dune/finiteelements/orthonormalbasis
>> +orthonormalbasisdir = $(includedir)/dune/finiteelements/generic/orthonormalbasis
>>  orthonormalbasis_HEADERS = orthonormalbasis.hh orthonormalcompute.hh 
>> -check_PROGRAMS = example test test-all
>> +check_PROGRAMS = test test-all
>>  
>> -LIBS = $(DUNE_LDFLAGS) $(DUNE_LIBS) -lgmpxx -lgmp -lmpfr
>> +LIBS = $(DUNE_LDFLAGS) $(DUNE_LIBS) 
>>  
>>  TOPOLOGY = Prism< Pyramid< Pyramid< Point > > >
>> -SETTINGS = -DTOPOLOGY="$(TOPOLOGY)" -DHAVE_GMP=1 -DHAVE_ALGLIB=0
>> +SETTINGS = -DTOPOLOGY="$(TOPOLOGY)"
>>  
>> -AM_CPPFLAGS = -I$(top_srcdir)/alglib 
>> -example_SOURCES = example.cc
>> -example_CPPFLAGS = $(DUNE_CPPFLAGS) $(AM_CPPFLAGS)
>>  test_SOURCES = test.cc
>>  test_CPPFLAGS = $(DUNE_CPPFLAGS) $(AM_CPPFLAGS) $(SETTINGS)
>>  test_all_SOURCES = test.cc
>>
>> Deleted: trunk/dune/finiteelements/generic/orthonormalbasis/example.cc
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/orthonormalbasis/example.cc	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/orthonormalbasis/example.cc	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -1,132 +0,0 @@
>> -// http://www.alglib.net/eigen/symmetric/symmevd.php
>> -// Uebersetzen:
>> -// g++ -O3 -o example example.cc -Ilibs -lgmp -lmpfr -I$HOME/MORGOTH/dune/dune-fem -I$HOME/MORGOTH/dune/dune-common    
>> -// g++ -O3 -o example example.cc -Ilibs libmpfr.a libgmp.a
>> -const unsigned int Precision = 1024;
>> -#include "config.h"
>> -#include "orthonormalcompute.hh"
>> -using namespace Dune;
>> -template <int dim,int ord>
>> -void printCoeff(std::ostream& out,
>> -                mat_t& res) {
>> -  int N = res.gethighbound(1);
>> -  for (int i=1;i<=N;++i) {
>> -    out << "Polynomial : " << i << std::endl;
>> -    for (int j=1;j<=i;j++) {
>> -      if (fabs(res(j,i).toDouble())<1e-20)
>> -        out << 0 << "\t\t" << std::flush;
>> -      else
>> -        out << amp::ampf<128>(res(j,i)).toDec() << "\t\t" << std::flush;
>> -    }
>> -    for (int j=i+1;j<=N;j++) {
>> -      assert(fabs(res(j,i).toDouble())<1e-10);
>> -    }
>> -    out << std::endl;
>> -  }
>> -}
>> -/******************************************/
>> -template <int dim,int ord> 
>> -void cube(CalcCoeffs<dim,ord>& calc) {
>> -  // cube
>> -  MultiIndex<dim> geo;
>> -  std::stringstream name;
>> -  name << "cube" << dim << "d.coef";
>> -  for (int i=0;i<dim;++i)
>> -    geo.set(i,2);
>> -  calc.compute(geo);
>> -  std::ofstream cube(name.str().c_str());
>> -  printCoeff<dim,ord>(cube,calc.res);
>> -}
>> -template <int dim,int ord> 
>> -void simplex(CalcCoeffs<dim,ord>& calc) {
>> -  // simplex
>> -  MultiIndex<dim> geo;
>> -  std::stringstream name;
>> -  name << "simplex" << dim << "d.coef";
>> -  for (int i=0;i<dim;++i)
>> -    geo.set(i,1);
>> -  calc.compute(geo);
>> -  std::ofstream cube(name.str().c_str());
>> -  printCoeff<dim,ord>(cube,calc.res);
>> -}
>> -template <int dim,int nr,int ord> 
>> -struct AllCubeSimplex {
>> -  static void calc() {
>> -    {
>> -      mat_t res;
>> -      cube<dim,ord>(res);
>> -      simplex<dim,ord>(res);
>> -    } 
>> -    AllCubeSimplex<dim+1,nr-1,ord>::calc();
>> -  }
>> -};
>> -template <int dim,int ord> 
>> -struct AllCubeSimplex<dim,0,ord> {
>> -  static void calc() {
>> -    {
>> -      mat_t res;
>> -      cube<dim,ord>(res);
>> -      simplex<dim,ord>(res);
>> -    }
>> -  }
>> -};
>> -/******************************************/
>> -/******************************************/
>> -/******************************************/
>> -int main(int argc, char ** argv, char ** env) { 
>> -  int use_method = atoi(argv[1]);
>> -  const int ord = 10;
>> -  std::stringstream name;
>> -  std::string geotype;
>> -  {
>> -    std::stringstream classname;
>> -    CalcCoeffs<1,ord> calc(use_method);
>> -    cube<1,ord>(calc);
>> -    std::ofstream cub("cube1d.coef");
>> -    printCoeff<1,ord>(cub,calc.res);
>> -  }
>> -  { // 2d:
>> -    CalcCoeffs<2,ord> calc(use_method);
>> -    {
>> -      cube<2,ord>(calc);
>> -      std::ofstream cub("cube2d.coef");
>> -      printCoeff<2,ord>(cub,calc.res);
>> -    }
>> -    {
>> -      simplex<2,ord>(calc);
>> -      std::ofstream sim("simplex2d.coef");
>> -      printCoeff<2,ord>(sim,calc.res);
>> -    }
>> -  }
>> -  { // 3d:
>> -    CalcCoeffs<3,ord> calc(use_method);
>> -    {
>> -      cube<3,ord>(calc);
>> -      std::ofstream cub("cube3d.coef");
>> -      printCoeff<3,ord>(cub,calc.res);
>> -    }
>> -    {
>> -      simplex<3,ord>(calc);
>> -      std::ofstream sim("simplex3d.coef");
>> -      printCoeff<3,ord>(sim,calc.res);
>> -    }
>> -    MultiIndex<3> geo;
>> -    { // prisma
>> -      geo.set(0,1);
>> -      geo.set(1,1);
>> -      geo.set(2,2);
>> -      calc.compute(geo);
>> -      std::ofstream prism("prism3d.coef");
>> -      printCoeff<3,ord>(prism,calc.res);
>> -    }
>> -    { // pyramid
>> -      geo.set(0,2);
>> -      geo.set(1,2);
>> -      geo.set(2,1);
>> -      calc.compute(geo);
>> -      std::ofstream prism("pyramid3d.coef");
>> -      printCoeff<3,ord>(prism,calc.res);
>> -    }
>> -  }
>> -}
>> -
>>
>> Modified: trunk/dune/finiteelements/generic/orthonormalbasis/orthonormalbasis.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/orthonormalbasis/orthonormalbasis.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/orthonormalbasis/orthonormalbasis.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -3,11 +3,11 @@
>>  
>>  #include <sstream>
>>  
>> -#include <dune/finiteelements/generic/topologyfactory.hh>
>> +#include <dune/finiteelements/generic/common/topologyfactory.hh>
>>  
>> -#include <dune/finiteelements/generic/polynomialbasis.hh>
>> -#include <dune/finiteelements/generic/basisprint.hh>
>> -#include <dune/finiteelements/orthonormalbasis/orthonormalcompute.hh>
>> +#include <dune/finiteelements/generic/common/polynomialbasis.hh>
>> +#include <dune/finiteelements/generic/common/basisprint.hh>
>> +#include <dune/finiteelements/generic/orthonormalbasis/orthonormalcompute.hh>
>>  
>>  namespace Dune
>>  {
>>
>> Modified: trunk/dune/finiteelements/generic/orthonormalbasis/orthonormalcompute.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/orthonormalbasis/orthonormalcompute.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/orthonormalbasis/orthonormalcompute.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -10,13 +10,13 @@
>>  #include <dune/common/fvector.hh>
>>  #include <dune/common/fmatrix.hh>
>>  
>> -#include <dune/finiteelements/common/vector.hh>
>> -#include <dune/finiteelements/common/matrix.hh>
>> +#include <dune/finiteelements/generic/math/vector.hh>
>> +#include <dune/finiteelements/generic/math/matrix.hh>
>>  
>>  #include <dune/grid/genericgeometry/topologytypes.hh>
>>  
>> -#include <dune/finiteelements/generic/monomialbasis.hh>
>> -#include <dune/finiteelements/generic/multiindex.hh>
>> +#include <dune/finiteelements/generic/common/monomialbasis.hh>
>> +#include <dune/finiteelements/generic/common/multiindex.hh>
>>  
>>  namespace ONBCompute
>>  {
>>
>> Modified: trunk/dune/finiteelements/generic/orthonormalbasis/test.cc
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/orthonormalbasis/test.cc	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/orthonormalbasis/test.cc	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -1,6 +1,6 @@
>> -#include <dune/finiteelements/common/field.hh>
>> -#include <dune/finiteelements/orthonormalbasis/orthonormalbasis.hh>
>> -#include <dune/finiteelements/quadrature/genericquadrature.hh>
>> +#include <dune/finiteelements/generic/math/field.hh>
>> +#include <dune/finiteelements/generic/orthonormalbasis/orthonormalbasis.hh>
>> +#include <dune/finiteelements/generic/quadrature/genericquadrature.hh>
>>  
>>  #if HAVE_ALGLIB
>>    typedef amp::ampf< 128 > StorageField;
>>
>> Copied: trunk/dune/finiteelements/generic/orthonormalfiniteelement.hh (from rev 573, trunk/dune/finiteelements/generic/dune/finiteelements/orthonormalfiniteelement.hh)
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/orthonormalfiniteelement.hh	                        (rev 0)
>> +++ trunk/dune/finiteelements/generic/orthonormalfiniteelement.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -0,0 +1,38 @@
>> +#ifndef DUNE_ORTHONORMALFINITEELEMENT_HH
>> +#define DUNE_ORTHONORMALFINITEELEMENT_HH
>> +
>> +#include <dune/finiteelements/generic/common/localfiniteelement.hh>
>> +#include <dune/finiteelements/generic/common/dglocalcoefficients.hh>
>> +#include <dune/finiteelements/generic/common/l2interpolation.hh>
>> +#include <dune/finiteelements/generic/orthonormalbasis/orthonormalbasis.hh>
>> +
>> +namespace Dune 
>> +{
>> +
>> +  template< unsigned int dimDomain, class D, class R, 
>> +            class SF=R, class CF=SF >
>> +
>> +  class OrthonormalLocalFiniteElement 
>> +      : public GenericLocalFiniteElement< OrthonormalBasisFactory< dimDomain, SF, CF >,
>> +                                          DGLocalCoefficientsFactory< OrthonormalBasisFactory< dimDomain, SF, CF > >,
>> +                                          LocalL2InterpolationFactory< OrthonormalBasisFactory< dimDomain, SF, CF >,true >,
>> +                                          dimDomain,D,R>
>> +  {
>> +    typedef GenericLocalFiniteElement< OrthonormalBasisFactory< dimDomain, SF, CF >,
>> +                                       DGLocalCoefficientsFactory< OrthonormalBasisFactory< dimDomain, SF, CF > >,
>> +                                       LocalL2InterpolationFactory< OrthonormalBasisFactory< dimDomain, SF, CF >,true >,
>> +                                       dimDomain,D,R> Base;
>> +  public:
>> +    using Base::Traits;
>> +
>> +    /** \todo Please doc me !
>> +     */
>> +    OrthonormalLocalFiniteElement ( unsigned int topologyId,
>> +                                    unsigned int order )
>> +    : Base(topologyId,order) 
>> +    {}
>> +  };
>> +
>> +}
>> +
>> +#endif
>>
>> Copied: trunk/dune/finiteelements/generic/quadrature (from rev 573, trunk/dune/finiteelements/generic/dune/finiteelements/quadrature)
>>
>> Modified: trunk/dune/finiteelements/generic/quadrature/Makefile.am
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/quadrature/Makefile.am	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/quadrature/Makefile.am	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -1,7 +1,5 @@
>> -quadraturedir = $(includedir)/dune/finiteelements/quadrature
>> +quadraturedir = $(includedir)/dune/finiteelements/generic/quadrature
>>  quadrature_HEADERS = gaussquadrature.hh  quadrature.hh  genericquadrature.hh \
>>                       polynomialorder.hh  quadratureprovider.hh
>>  
>> -AM_CPPFLAGS = $(DUNE_CPPFLAGS) -I$(top_srcdir)/alglib
>> -
>>  include $(top_srcdir)/am/global-rules
>>
>> Modified: trunk/dune/finiteelements/generic/quadrature/gaussquadrature.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/quadrature/gaussquadrature.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/quadrature/gaussquadrature.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -5,13 +5,13 @@
>>  #include <alglib/gqgengauss.h>
>>  #endif
>>  
>> -#include <dune/finiteelements/common/field.hh>
>> +#include <dune/finiteelements/generic/math/field.hh>
>>  
>>  #include <dune/grid/common/quadraturerules.hh>
>>  
>> -#include <dune/finiteelements/common/vector.hh>
>> +#include <dune/finiteelements/generic/math/vector.hh>
>>  
>> -#include <dune/finiteelements/quadrature/quadrature.hh>
>> +#include <dune/finiteelements/generic/quadrature/quadrature.hh>
>>  
>>  namespace Dune
>>  {
>>
>> Modified: trunk/dune/finiteelements/generic/quadrature/genericquadrature.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/quadrature/genericquadrature.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/quadrature/genericquadrature.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -3,9 +3,9 @@
>>  
>>  #include <dune/grid/genericgeometry/conversion.hh>
>>  
>> -#include <dune/finiteelements/quadrature/quadrature.hh>
>> -#include <dune/finiteelements/quadrature/gaussquadrature.hh>
>> -#include <dune/finiteelements/quadrature/quadratureprovider.hh>
>> +#include <dune/finiteelements/generic/quadrature/quadrature.hh>
>> +#include <dune/finiteelements/generic/quadrature/gaussquadrature.hh>
>> +#include <dune/finiteelements/generic/quadrature/quadratureprovider.hh>
>>  
>>  namespace Dune
>>  {
>>
>> Modified: trunk/dune/finiteelements/generic/quadrature/lobattoquadrature.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/quadrature/lobattoquadrature.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/quadrature/lobattoquadrature.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -5,11 +5,11 @@
>>  #include <alglib/gqgenlobatto.h>
>>  #endif
>>  
>> -#include <dune/finiteelements/common/field.hh>
>> +#include <dune/finiteelements/generic/math/field.hh>
>>  
>> -#include <dune/finiteelements/common/vector.hh>
>> +#include <dune/finiteelements/generic/math/vector.hh>
>>  
>> -#include <dune/finiteelements/quadrature/quadrature.hh>
>> +#include <dune/finiteelements/generic/quadrature/quadrature.hh>
>>  
>>  namespace Dune
>>  {
>>
>> Modified: trunk/dune/finiteelements/generic/quadrature/quadrature.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/quadrature/quadrature.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/quadrature/quadrature.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -5,7 +5,7 @@
>>  
>>  #include <dune/common/fvector.hh>
>>  #include <dune/common/geometrytype.hh>
>> -#include <dune/finiteelements/common/vector.hh>
>> +#include <dune/finiteelements/generic/math/vector.hh>
>>  
>>  namespace Dune
>>  {
>>
>> Modified: trunk/dune/finiteelements/generic/quadrature/subquadrature.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/quadrature/subquadrature.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/quadrature/subquadrature.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -3,8 +3,8 @@
>>  
>>  #include <dune/grid/genericgeometry/referencemappings.hh>
>>  
>> -#include <dune/finiteelements/quadrature/quadrature.hh>
>> -#include <dune/finiteelements/quadrature/genericquadrature.hh>
>> +#include <dune/finiteelements/generic/quadrature/quadrature.hh>
>> +#include <dune/finiteelements/generic/quadrature/genericquadrature.hh>
>>  
>>  namespace Dune
>>  {
>>
>> Copied: trunk/dune/finiteelements/generic/raviartthomasbasis (from rev 573, trunk/dune/finiteelements/generic/dune/finiteelements/raviartthomasbasis)
>>
>> Modified: trunk/dune/finiteelements/generic/raviartthomasbasis/Makefile.am
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/raviartthomasbasis/Makefile.am	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/raviartthomasbasis/Makefile.am	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -1,17 +1,16 @@
>> -ravtombasisdir = $(includedir)/dune/finiteelements/vectest
>> -ravtombasis_HEADERS = interpolation.hh  raviartthomasbasis.hh  raviartthomasprebasis.hh
>> +raviartthomasbasisdir = $(includedir)/dune/finiteelements/generic/raviartthomasbasis
>> +raviartthomasbasis_HEADERS = interpolation.hh  raviartthomasbasis.hh  raviartthomasprebasis.hh
>>  check_PROGRAMS = test test-all
>>  
>>  TOPOLOGY = Pyramid< Pyramid< Point > >
>> -SETTINGS = -DTOPOLOGY="$(TOPOLOGY)" -DHAVE_GMP=0 -DHAVE_ALGLIB=1
>> +SETTINGS = -DTOPOLOGY="$(TOPOLOGY)" 
>>  
>> -AM_CPPFLAGS = -I$(top_srcdir)/alglib 
>>  test_SOURCES = test.cc
>>  test_CPPFLAGS = $(DUNE_CPPFLAGS) $(AM_CPPFLAGS) $(SETTINGS)
>>  test_all_SOURCES = test.cc
>>  test_all_CPPFLAGS = $(DUNE_CPPFLAGS) $(AM_CPPFLAGS)
>>   
>> -LDADD = $(DUNE_LDFLAGS) $(DUNE_LIBS) -lgmpxx -lgmp -lmpfr
>> +LDADD = $(DUNE_LDFLAGS) $(DUNE_LIBS) 
>>  
>>  include $(top_srcdir)/am/global-rules
>>  
>>
>> Modified: trunk/dune/finiteelements/generic/raviartthomasbasis/interpolation.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/raviartthomasbasis/interpolation.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/raviartthomasbasis/interpolation.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -5,19 +5,19 @@
>>  
>>  #include <dune/common/exceptions.hh>
>>  #include <dune/common/forloop.hh>
>> -#include <dune/finiteelements/generic/topologyfactory.hh>
>> -#include <dune/finiteelements/generic/interpolationhelper.hh>
>> -#include <dune/finiteelements/common/matrix.hh>
>> +#include <dune/finiteelements/generic/common/topologyfactory.hh>
>> +#include <dune/finiteelements/generic/common/interpolationhelper.hh>
>> +#include <dune/finiteelements/generic/math/matrix.hh>
>>  #include <dune/finiteelements/common/localinterpolation.hh>
>>  #include <dune/finiteelements/common/localcoefficients.hh>
>>  
>>  #include <dune/grid/genericgeometry/referenceelements.hh>
>> -#include <dune/finiteelements/quadrature/genericquadrature.hh>
>> -#include <dune/finiteelements/quadrature/subquadrature.hh>
>> +#include <dune/finiteelements/generic/quadrature/genericquadrature.hh>
>> +#include <dune/finiteelements/generic/quadrature/subquadrature.hh>
>>  
>> -#include <dune/finiteelements/generic/basisprint.hh>
>> -#include <dune/finiteelements/generic/polynomialbasis.hh>
>> -#include <dune/finiteelements/orthonormalbasis/orthonormalbasis.hh>
>> +#include <dune/finiteelements/generic/common/basisprint.hh>
>> +#include <dune/finiteelements/generic/common/polynomialbasis.hh>
>> +#include <dune/finiteelements/generic/orthonormalbasis/orthonormalbasis.hh>
>>  
>>  
>>  namespace Dune
>>
>> Modified: trunk/dune/finiteelements/generic/raviartthomasbasis/raviartthomasbasis.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/raviartthomasbasis/raviartthomasbasis.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/raviartthomasbasis/raviartthomasbasis.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -4,9 +4,9 @@
>>  #include <fstream>
>>  #include <dune/common/exceptions.hh>
>>  
>> -#include <dune/finiteelements/generic/defaultbasisfactory.hh>
>> -#include <dune/finiteelements/raviartthomasbasis/interpolation.hh>
>> -#include <dune/finiteelements/raviartthomasbasis/raviartthomasprebasis.hh>
>> +#include <dune/finiteelements/generic/common/defaultbasisfactory.hh>
>> +#include <dune/finiteelements/generic/raviartthomasbasis/interpolation.hh>
>> +#include <dune/finiteelements/generic/raviartthomasbasis/raviartthomasprebasis.hh>
>>  
>>  namespace Dune
>>  {
>>
>> Modified: trunk/dune/finiteelements/generic/raviartthomasbasis/raviartthomasprebasis.hh
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/raviartthomasbasis/raviartthomasprebasis.hh	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/raviartthomasbasis/raviartthomasprebasis.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -3,10 +3,10 @@
>>  #include <fstream>
>>  #include <utility>
>>  
>> -#include <dune/finiteelements/common/matrix.hh>
>> +#include <dune/finiteelements/generic/math/matrix.hh>
>>  #include <dune/grid/genericgeometry/topologytypes.hh>
>>  
>> -#include <dune/finiteelements/generic/polynomialbasis.hh>
>> +#include <dune/finiteelements/generic/common/polynomialbasis.hh>
>>  
>>  namespace Dune 
>>  {
>>
>> Modified: trunk/dune/finiteelements/generic/raviartthomasbasis/test.cc
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/dune/finiteelements/raviartthomasbasis/test.cc	2009-10-26 10:27:50 UTC (rev 573)
>> +++ trunk/dune/finiteelements/generic/raviartthomasbasis/test.cc	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -1,6 +1,6 @@
>> -#include <dune/finiteelements/common/field.hh>
>> -#include <dune/finiteelements/raviartthomasbasis/raviartthomasbasis.hh>
>> -#include <dune/finiteelements/generic/basisprint.hh>
>> +#include <dune/finiteelements/generic/math/field.hh>
>> +#include <dune/finiteelements/generic/raviartthomasbasis/raviartthomasbasis.hh>
>> +#include <dune/finiteelements/generic/common/basisprint.hh>
>>  
>>  #if HAVE_ALGLIB
>>    typedef amp::ampf< 128 > StorageField;
>>
>> Copied: trunk/dune/finiteelements/generic/raviartthomasfiniteelement.hh (from rev 573, trunk/dune/finiteelements/generic/dune/finiteelements/raviartthomasfiniteelement.hh)
>> ===================================================================
>> --- trunk/dune/finiteelements/generic/raviartthomasfiniteelement.hh	                        (rev 0)
>> +++ trunk/dune/finiteelements/generic/raviartthomasfiniteelement.hh	2009-10-29 13:11:55 UTC (rev 574)
>> @@ -0,0 +1,35 @@
>> +#ifndef DUNE_RAVIARTTHOMASFINITEELEMENT_HH
>> +#define DUNE_RAVIARTTHOMASFINITEELEMENT_HH
>> +
>> +#include <dune/finiteelements/generic/common/localfiniteelement.hh>
>> +#include <dune/finiteelements/generic/raviartthomasbasis/raviartthomasbasis.hh>
>> +
>> +namespace Dune 
>> +{
>> +
>> +  template< unsigned int dimDomain, class D, class R, 
>> +            class SF=R, class CF=SF >
>> +  class RaviartThomasLocalFiniteElement 
>> +      : public GenericLocalFiniteElement< RaviartThomasBasisFactory< dimDomain, SF, CF >, 
>> +                                          RaviartThomasCoefficientsFactory< dimDomain >, 
>> +                                          RaviartThomasL2InterpolationFactory< dimDomain, SF >, 
>> +                                          dimDomain,D,R>
>> +  {
>> +    typedef GenericLocalFiniteElement< RaviartThomasBasisFactory< dimDomain, SF, CF >, 
>> +                                       RaviartThomasCoefficientsFactory< dimDomain >, 
>> +                                       RaviartThomasL2InterpolationFactory< dimDomain, SF >, 
>> +                                       dimDomain,D,R> Base;
>> +  public:
>> +    using Base::Traits;
>> +
>> +    /** \todo Please doc me !
>> +     */
>> +    RaviartThomasLocalFiniteElement ( unsigned int topologyId,
>> +                                      unsigned int order )
>> +    : Base(topologyId,order) 
>> +    {}
>> +  };
>> +
>> +}
>> +
>> +#endif
>>
>>
>> _______________________________________________
>> Dune-Commit mailing list
>> Dune-Commit at dune-project.org
>> http://lists.dune-project.org/mailman/listinfo/dune-commit
>>   
> 
> 




More information about the Dune mailing list