v0.6.10
FTensor.hpp
Go to the documentation of this file.
1 /** \file FTensor.hpp
2 * \brief Tensors class implemented by Walter Landry.
3 * \ingroup ftensor
4 
5 *
6 * The main repository is available under link <https://bitbucket.org/wlandry/ftensor>.
7 * For more details look at reference \cite landry2003implementing.
8 * See link <http://www.wlandry.net/Presentations/FTensor.pdf>.
9 *
10 * Note this implementation is modified for proposes of MoFEM.
11 *
12 */
13 
14 
15 /* Include file for the Fast Tensor classes (FTensor). Everything is
16  in namespace FTensor. */
17 
18 #ifndef FTENSOR_HPP
19 #define FTENSOR_HPP
20 
21 #include <cmath>
22 #include <complex>
23 #ifdef FTENSOR_DEBUG
24 #include <iostream>
25 #include <stdexcept>
26 #include <sstream>
27 #endif
29 
30 /**
31  * \brief Tensors class implemented by Walter Landry.
32  * \ingroup ftensor
33 
34 
35  * The main repository is available under link <https://bitbucket.org/wlandry/ftensor>.
36  * For more details look at reference \cite landry2003implementing.
37  * See link <http://www.wlandry.net/Presentations/FTensor.pdf>.
38  *
39  * Note this implementation is modified for proposes of MoFEM.
40 
41  */
42 namespace FTensor {
43 
44  template <class T> class Tensor0;
45 
46  template <class T, int Dim> class Tensor1;
47  template<class A, class T, int Dim, char i> class Tensor1_Expr;
48 
49  template <class T, int Dim1, int Dim2, Layout layout=column_major>
50  class Tensor2;
51  template<class A, class T, int Dim1, int Dim2, char i, char j>
52  class Tensor2_Expr;
53  template<class A, class T, int N>
55  template<class A, class T, int N>
57 
58  template <class T, int Dim> class Tensor2_symmetric;
59  template<class A, class T, int Dim, char i, char j>
61 
62  template <class T, int Dim> class Tensor2_antisymmetric;
63  template<class A, class T, int Dim, char i, char j>
65 
66 
67  template <class T, int Dim0, int Dim1, int Dim2> class Tensor3;
68  template <class A, class T, int Dim0, int Dim1, int Dim2,
69  char i, char j, char k> class Tensor3_Expr;
70  template<class A, class T, int N> class Tensor3_number_rhs_0;
71  template<class A, class T, int N> class Tensor3_number_rhs_2;
72  template<class A, class T, int N> class Tensor3_number_rhs_2;
73  template<class A, class T, int N1, int N2> class Tensor3_number_rhs_01;
74  template<class A, class T, int N1, int N2> class Tensor3_number_rhs_02;
75  template<class A, class T, int N1, int N2> class Tensor3_number_rhs_12;
76 
77  template <class T, int Dim01, int Dim2> class Tensor3_dg;
78  template <class A, class T, int Dim01, int Dim2, char i, char j, char k>
80  template<class A, class T, int N> class Tensor3_dg_number_rhs_0;
81  template<class A, class T, int N> class Tensor3_dg_number_rhs_2;
82  template<class A, class T, int N1, int N2> class Tensor3_dg_number_rhs_01;
83  template<class A, class T, int N1, int N2> class Tensor3_dg_number_rhs_12;
84 
85  template <class T, int Dim0, int Dim12> class Tensor3_christof;
86  template <class A, class T, int Dim0, int Dim12, char i, char j, char k>
88 
89  template <class T, int Dim0, int Dim12> class Tensor3_antisymmetric;
90  template <class A, class T, int Dim0, int Dim12, char i, char j, char k>
92 
93  template <class T, int Tensor_Dim0, int Tensor_Dim1,
94  int Tensor_Dim2,int Tensor_Dim3> class Tensor4;
95  template <class A, class T, int Dim0, int Dim1, int Dim2, int Dim3,
96  char i, char j, char k, char l> class Tensor4_Expr;
97 
98  template <class T, int Dim> class Tensor4_Riemann;
99  template <class A, class T, int Dim, char i, char j, char k, char l>
102  template <class T, int Dim01, int Dim23> class Tensor4_ddg;
103  template <class A, class T, int Dim01, int Dim23,
104  char i, char j, char k, char l> class Tensor4_ddg_Expr;
105  template<class A, class T, int N0, int N1>
107  template<class A, class T, int N0>
126 }
128 #endif
130 /***************************************************************************//**
131  * \defgroup ftensor Tensor template library
132  * \brief Efficient Template Tensor library
133  ******************************************************************************/
Tensors class implemented by Walter Landry.
Definition: FTensor.hpp:42