[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 22:07:02 CET 2009
Hi,
I do not really see any of this as a replacement for existing
implementations.
Having first and second order versions for lagrange spaces for example is
definitely a good idea. Some of the things (math and quadrature for
example)
can of course be moved somewhere else.
We can discuss the detail at our meeting.
Best
Andreas
Oliver Sander wrote:
> 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
>>
>>
>
>
>
More information about the Dune
mailing list