[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

Oliver Sander sander at mi.fu-berlin.de
Thu Oct 29 15:46:16 CET 2009


Hi Andreas!
Sounds great, and thanks for the information.  I take it that the
further integration with the existing code will be discussed at the
next meeting.

bist wishes,
Oliver

Andreas Dedner schrieb:
> 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
>>>   
>>>       
>>     
>
> _______________________________________________
> Dune mailing list
> Dune at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune
>   


-- 
************************************************************************
* Oliver Sander                ** email: sander at mi.fu-berlin.de        *
* Freie Universität Berlin     ** phone: + 49 (30) 838 75348           *
* Institut für Mathematik      ** URL  : page.mi.fu-berlin.de/~sander  *
* Arnimallee 6                 ** -------------------------------------*
* 14195 Berlin, Germany        ** Member of MATHEON (www.matheon.de)   *
************************************************************************





More information about the Dune mailing list