v0.6.10
Public Member Functions | Private Member Functions | Private Attributes | List of all members
FTensor::Tensor2_symmetric< T, Tensor_Dim > Class Template Reference

#include <src/ftensor/src/FTensor.hpp>

Public Member Functions

 Tensor2_symmetric ()
 
 Tensor2_symmetric (T d00, T d01, T d11)
 
 Tensor2_symmetric (T d00, T d01, T d02, T d11, T d12, T d22)
 
 Tensor2_symmetric (T d00, T d01, T d02, T d03, T d11, T d12, T d13, T d22, T d23, T d33)
 
T & operator() (const int N1, const int N2)
 
operator() (const int N1, const int N2) const
 
template<char i, char j, int Dim0, int Dim1>
Tensor2_Expr< Tensor2_symmetric< T, Tensor_Dim >, T, Dim0, Dim1, i, j > operator() (const Index< i, Dim0 >, const Index< j, Dim1 >)
 
template<char i, char j, int Dim0, int Dim1>
Tensor2_Expr< const Tensor2_symmetric< T, Tensor_Dim >, T, Dim0, Dim1, i, j > operator() (const Index< i, Dim0 >, const Index< j, Dim1 >) const
 
template<char i, char j, int Dim>
Tensor2_symmetric_Expr< Tensor2_symmetric< T, Tensor_Dim >, T, Dim, i, j > operator() (const Index< i, Dim >, const Index< j, Dim >)
 
template<char i, char j, int Dim>
Tensor2_symmetric_Expr< const Tensor2_symmetric< T, Tensor_Dim >, T, Dim, i, j > operator() (const Index< i, Dim >, const Index< j, Dim >) const
 
template<char i, int N, int Dim>
Tensor1_Expr< Tensor2_number_rhs_1< Tensor2_symmetric< T, Tensor_Dim >, T, N >, T, Dim, i > operator() (const Index< i, Dim >, const Number< N > &)
 
template<char i, int N, int Dim>
Tensor1_Expr< const Tensor2_number_1< const Tensor2_symmetric< T, Tensor_Dim >, T, N >, T, Dim, i > operator() (const Index< i, Dim >, const Number< N > &) const
 
template<char i, int N, int Dim>
Tensor1_Expr< Tensor2_number_rhs_0< Tensor2_symmetric< T, Tensor_Dim >, T, N >, T, Dim, i > operator() (const Number< N > &, const Index< i, Dim >)
 
template<char i, int N, int Dim>
Tensor1_Expr< const Tensor2_number_0< const Tensor2_symmetric< T, Tensor_Dim >, T, N >, T, Dim, i > operator() (const Number< N > &, const Index< i, Dim >) const
 
template<char i, int Dim>
Tensor1_Expr< const Tensor2_numeral_1< const Tensor2_symmetric< T, Tensor_Dim >, T >, T, Dim, i > operator() (const Index< i, Dim >, const int N) const
 
template<char i, int Dim>
Tensor1_Expr< const Tensor2_numeral_0< const Tensor2_symmetric< T, Tensor_Dim >, T >, T, Dim, i > operator() (const int N, const Index< i, Dim >) const
 
template<char i, int Dim>
operator() (const Index< i, Dim >, const Index< i, Dim >)
 
template<char i, int Dim>
operator() (const Index< i, Dim >, const Index< i, Dim >) const
 

Private Member Functions

template<int N>
internal_contract (const Number< N > &)
 
internal_contract (const Number< 1 > &)
 

Private Attributes

data [(Tensor_Dim *(Tensor_Dim+1))/2]
 

Detailed Description

template<class T, int Tensor_Dim>
class FTensor::Tensor2_symmetric< T, Tensor_Dim >

Definition at line 58 of file FTensor.hpp.

Constructor & Destructor Documentation

◆ Tensor2_symmetric() [1/4]

template<class T, int Tensor_Dim>
FTensor::Tensor2_symmetric< T, Tensor_Dim >::Tensor2_symmetric ( )

Definition at line 9 of file FTensor.hpp.

42 {

◆ Tensor2_symmetric() [2/4]

template<class T, int Tensor_Dim>
FTensor::Tensor2_symmetric< T, Tensor_Dim >::Tensor2_symmetric ( d00,
d01,
d11 
)

Definition at line 12 of file FTensor.hpp.

42  {

◆ Tensor2_symmetric() [3/4]

template<class T, int Tensor_Dim>
FTensor::Tensor2_symmetric< T, Tensor_Dim >::Tensor2_symmetric ( d00,
d01,
d02,
d11,
d12,
d22 
)

Definition at line 18 of file FTensor.hpp.

42  {

◆ Tensor2_symmetric() [4/4]

template<class T, int Tensor_Dim>
FTensor::Tensor2_symmetric< T, Tensor_Dim >::Tensor2_symmetric ( d00,
d01,
d02,
d03,
d11,
d12,
d13,
d22,
d23,
d33 
)

Definition at line 24 of file FTensor.hpp.

42  {

Member Function Documentation

◆ internal_contract() [1/2]

template<class T, int Tensor_Dim>
template<int N>
T FTensor::Tensor2_symmetric< T, Tensor_Dim >::internal_contract ( const Number< N > &  )
private

Definition at line 196 of file FTensor.hpp.

◆ internal_contract() [2/2]

template<class T, int Tensor_Dim>
T FTensor::Tensor2_symmetric< T, Tensor_Dim >::internal_contract ( const Number< 1 > &  )
private

Definition at line 202 of file FTensor.hpp.

◆ operator()() [1/14]

template<class T, int Tensor_Dim>
T& FTensor::Tensor2_symmetric< T, Tensor_Dim >::operator() ( const int  N1,
const int  N2 
)

Definition at line 34 of file FTensor.hpp.

35  ://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 
Tensors class implemented by Walter Landry.
Definition: FTensor.hpp:42
implementation of Data Operators for Forces and Sources
Definition: Common.hpp:21

◆ operator()() [2/14]

template<class T, int Tensor_Dim>
T FTensor::Tensor2_symmetric< T, Tensor_Dim >::operator() ( const int  N1,
const int  N2 
) const

Definition at line 50 of file FTensor.hpp.

◆ operator()() [3/14]

template<class T, int Tensor_Dim>
template<char i, char j, int Dim0, int Dim1>
Tensor2_Expr<Tensor2_symmetric<T,Tensor_Dim>,T,Dim0,Dim1,i,j> FTensor::Tensor2_symmetric< T, Tensor_Dim >::operator() ( const Index< i, Dim0 >  ,
const Index< j, Dim1 >   
)

Definition at line 76 of file FTensor.hpp.

◆ operator()() [4/14]

template<class T, int Tensor_Dim>
template<char i, char j, int Dim0, int Dim1>
Tensor2_Expr<const Tensor2_symmetric<T,Tensor_Dim>,T,Dim0,Dim1,i,j> FTensor::Tensor2_symmetric< T, Tensor_Dim >::operator() ( const Index< i, Dim0 >  ,
const Index< j, Dim1 >   
) const

Definition at line 84 of file FTensor.hpp.

◆ operator()() [5/14]

template<class T, int Tensor_Dim>
template<char i, char j, int Dim>
Tensor2_symmetric_Expr<Tensor2_symmetric<T,Tensor_Dim>,T,Dim,i,j> FTensor::Tensor2_symmetric< T, Tensor_Dim >::operator() ( const Index< i, Dim >  ,
const Index< j, Dim >   
)

Definition at line 95 of file FTensor.hpp.

◆ operator()() [6/14]

template<class T, int Tensor_Dim>
template<char i, char j, int Dim>
Tensor2_symmetric_Expr<const Tensor2_symmetric<T,Tensor_Dim>,T,Dim,i,j> FTensor::Tensor2_symmetric< T, Tensor_Dim >::operator() ( const Index< i, Dim >  ,
const Index< j, Dim >   
) const

Definition at line 103 of file FTensor.hpp.

◆ operator()() [7/14]

template<class T, int Tensor_Dim>
template<char i, int N, int Dim>
Tensor1_Expr<Tensor2_number_rhs_1<Tensor2_symmetric<T,Tensor_Dim>,T,N>, T,Dim,i> FTensor::Tensor2_symmetric< T, Tensor_Dim >::operator() ( const Index< i, Dim >  ,
const Number< N > &   
)

Definition at line 119 of file FTensor.hpp.

◆ operator()() [8/14]

template<class T, int Tensor_Dim>
template<char i, int N, int Dim>
Tensor1_Expr<const Tensor2_number_1<const Tensor2_symmetric<T,Tensor_Dim>, T,N>,T,Dim,i> FTensor::Tensor2_symmetric< T, Tensor_Dim >::operator() ( const Index< i, Dim >  ,
const Number< N > &   
) const

Definition at line 129 of file FTensor.hpp.

◆ operator()() [9/14]

template<class T, int Tensor_Dim>
template<char i, int N, int Dim>
Tensor1_Expr<Tensor2_number_rhs_0<Tensor2_symmetric<T,Tensor_Dim>,T,N>, T,Dim,i> FTensor::Tensor2_symmetric< T, Tensor_Dim >::operator() ( const Number< N > &  ,
const Index< i, Dim >   
)

Definition at line 139 of file FTensor.hpp.

◆ operator()() [10/14]

template<class T, int Tensor_Dim>
template<char i, int N, int Dim>
Tensor1_Expr<const Tensor2_number_0<const Tensor2_symmetric<T,Tensor_Dim>, T,N>,T,Dim,i> FTensor::Tensor2_symmetric< T, Tensor_Dim >::operator() ( const Number< N > &  ,
const Index< i, Dim >   
) const

Definition at line 149 of file FTensor.hpp.

◆ operator()() [11/14]

template<class T, int Tensor_Dim>
template<char i, int Dim>
Tensor1_Expr<const Tensor2_numeral_1<const Tensor2_symmetric<T,Tensor_Dim>, T>,T,Dim,i> FTensor::Tensor2_symmetric< T, Tensor_Dim >::operator() ( const Index< i, Dim >  ,
const int  N 
) const

Definition at line 161 of file FTensor.hpp.

◆ operator()() [12/14]

template<class T, int Tensor_Dim>
template<char i, int Dim>
Tensor1_Expr<const Tensor2_numeral_0<const Tensor2_symmetric<T,Tensor_Dim>, T>,T,Dim,i> FTensor::Tensor2_symmetric< T, Tensor_Dim >::operator() ( const int  N,
const Index< i, Dim >   
) const

Definition at line 171 of file FTensor.hpp.

◆ operator()() [13/14]

template<class T, int Tensor_Dim>
template<char i, int Dim>
T FTensor::Tensor2_symmetric< T, Tensor_Dim >::operator() ( const Index< i, Dim >  ,
const Index< i, Dim >   
)

Definition at line 184 of file FTensor.hpp.

◆ operator()() [14/14]

template<class T, int Tensor_Dim>
template<char i, int Dim>
T FTensor::Tensor2_symmetric< T, Tensor_Dim >::operator() ( const Index< i, Dim >  ,
const Index< i, Dim >   
) const

Definition at line 190 of file FTensor.hpp.

Member Data Documentation

◆ data

template<class T, int Tensor_Dim>
T FTensor::Tensor2_symmetric< T, Tensor_Dim >::data[(Tensor_Dim *(Tensor_Dim+1))/2]
private

Definition at line 7 of file FTensor.hpp.


The documentation for this class was generated from the following file: