localbasis.hh

Go to the documentation of this file.
00001 // -*- tab-width: 4; indent-tabs-mode: nil -*-
00002 #ifndef DUNE_LOCALBASIS_HH
00003 #define DUNE_LOCALBASIS_HH
00004 
00005 #include <iostream>
00006 #include <vector>
00007 
00008 #include<dune/common/static_assert.hh>
00009 #include<dune/common/array.hh>
00010 #include<dune/common/fvector.hh>
00011 
00012 namespace Dune 
00013 {
00014 
00037   template<class DF, int n, class D, class RF, int m, class R, class J, int dorder=0>
00038   struct LocalBasisTraits
00039   {
00041         typedef DF DomainFieldType;
00042 
00044         enum { 
00046           dimDomain = n 
00047         }; 
00048 
00050         typedef D DomainType;
00051 
00053         typedef RF RangeFieldType;
00054 
00056         enum { 
00058           dimRange = m 
00059         }; 
00060 
00062         typedef R RangeType;
00063 
00070         typedef J JacobianType;
00071 
00073         enum { 
00075           diffOrder=dorder
00076         };
00077   };
00078 
00079 
00100   template<class DF, int n, class D, class RF, int m, class R>
00101   struct C0LocalBasisTraits
00102   {
00104         typedef DF DomainFieldType;
00105 
00107         enum { 
00109           dimDomain = n 
00110         }; 
00111 
00113         typedef D DomainType;
00114 
00116         typedef RF RangeFieldType;
00117 
00119         enum { 
00121           dimRange = m 
00122         }; 
00123 
00125         typedef R RangeType;
00126 
00128         enum { 
00130           diffOrder=0
00131         };
00132   };
00133 
00134 
00151   template<class DF, int n, class D, class RF, int m, class R, class J>
00152   struct C1LocalBasisTraits : public C0LocalBasisTraits<DF,n,D,RF,m,R>
00153   {
00160         typedef J JacobianType;
00161 
00163         enum { 
00165           diffOrder=1
00166         };
00167   };
00168 
00169   template<class DF, int n, class D, class RF, int m, class R, class J, int dorder>
00170   struct CkLocalBasisTraits : public C1LocalBasisTraits<DF,n,D,RF,m,R,J>
00171   {
00173         enum { 
00175           diffOrder=dorder
00176         };
00177   };
00178 
00179 }
00180 #endif
Generated on Sat Apr 24 11:15:34 2010 for dune-localfunctions by  doxygen 1.6.3