libMesh
Classes | Namespaces | Functions
tensor_tools.h File Reference

Go to the source code of this file.

Classes

class  libMesh::TypeVector< T >
 This class defines a vector in LIBMESH_DIM dimensional space of type T. More...
 
class  libMesh::VectorValue< T >
 This class defines a vector in LIBMESH_DIM dimensional Real or Complex space. More...
 
class  libMesh::TypeTensor< T >
 This class defines a tensor in LIBMESH_DIM dimensional space of type T. More...
 
class  libMesh::TensorValue< T >
 This class defines a tensor in LIBMESH_DIM dimensional Real or Complex space. More...
 
class  libMesh::TypeNTensor< N, T >
 This class will eventually define a rank-N tensor in LIBMESH_DIM dimensional space of type T. More...
 
struct  libMesh::TensorTools::IncrementRank< T >
 
struct  libMesh::TensorTools::IncrementRank< VectorValue< T > >
 
struct  libMesh::TensorTools::IncrementRank< TypeVector< T > >
 
struct  libMesh::TensorTools::IncrementRank< TypeTensor< T > >
 
struct  libMesh::TensorTools::IncrementRank< TensorValue< T > >
 
struct  libMesh::TensorTools::IncrementRank< TypeNTensor< N, T > >
 
struct  libMesh::TensorTools::DecrementRank< T >
 
struct  libMesh::TensorTools::DecrementRank< VectorValue< T > >
 
struct  libMesh::TensorTools::DecrementRank< TypeVector< T > >
 
struct  libMesh::TensorTools::DecrementRank< TensorValue< T > >
 
struct  libMesh::TensorTools::DecrementRank< TypeTensor< T > >
 
struct  libMesh::TensorTools::DecrementRank< TypeNTensor< N, T > >
 
struct  libMesh::TensorTools::MakeNumber< T >
 
struct  libMesh::TensorTools::MakeNumber< std::complex< T > >
 
struct  libMesh::TensorTools::MakeNumber< TypeVector< T > >
 
struct  libMesh::TensorTools::MakeNumber< VectorValue< T > >
 
struct  libMesh::TensorTools::MakeNumber< TypeTensor< T > >
 
struct  libMesh::TensorTools::MakeNumber< TensorValue< T > >
 
struct  libMesh::TensorTools::MakeNumber< TypeNTensor< N, T > >
 
struct  libMesh::TensorTools::MakeReal< T >
 
struct  libMesh::TensorTools::MakeReal< std::complex< T > >
 
struct  libMesh::TensorTools::MakeReal< TypeVector< T > >
 
struct  libMesh::TensorTools::MakeReal< VectorValue< T > >
 
struct  libMesh::TensorTools::MakeReal< TypeTensor< T > >
 
struct  libMesh::TensorTools::MakeReal< TensorValue< T > >
 
struct  libMesh::TensorTools::MakeReal< TypeNTensor< N, T > >
 
struct  libMesh::TensorTools::MathWrapperTraits< T >
 This helper structure is used to determine whether a template class is one of our mathematical structures, like TypeVector, TypeTensor and their descendents. More...
 
struct  libMesh::TensorTools::MathWrapperTraits< TypeVector< T > >
 
struct  libMesh::TensorTools::MathWrapperTraits< VectorValue< T > >
 
struct  libMesh::TensorTools::MathWrapperTraits< TypeTensor< T > >
 
struct  libMesh::TensorTools::MathWrapperTraits< TensorValue< T > >
 
struct  libMesh::TensorTools::MathWrapperTraits< TypeNTensor< N, T > >
 
struct  libMesh::TensorTools::MakeBaseNumber< T, enable >
 
struct  libMesh::TensorTools::MakeBaseNumber< T, typename std::enable_if< ScalarTraits< T >::value >::type >
 
struct  libMesh::TensorTools::MakeBaseNumber< Wrapper< T >, typename std::enable_if< MathWrapperTraits< Wrapper< T > >::value >::type >
 
struct  libMesh::TensorTools::TensorTraits< T, Enable >
 
struct  libMesh::TensorTools::TensorTraits< T, typename std::enable_if< ScalarTraits< T >::value >::type >
 
struct  libMesh::TensorTools::TensorTraits< TypeVector< T > >
 
struct  libMesh::TensorTools::TensorTraits< VectorValue< T > >
 
struct  libMesh::TensorTools::TensorTraits< TypeTensor< T > >
 
struct  libMesh::TensorTools::TensorTraits< TensorValue< T > >
 
struct  libMesh::TensorTools::TensorTraits< TypeNTensor< N, T > >
 

Namespaces

 libMesh
 The libMesh namespace provides an interface to certain functionality in the library.
 
 libMesh::TensorTools
 

Functions

template<typename T , typename T2 >
boostcopy::enable_if_c< ScalarTraits< T >::value &&ScalarTraits< T2 >::value, typename CompareTypes< T, T2 >::supertype >::type libMesh::TensorTools::inner_product (const T &a, const T2 &b)
 
template<typename T , typename T2 >
CompareTypes< T, T2 >::supertype libMesh::TensorTools::inner_product (const TypeVector< T > &a, const TypeVector< T2 > &b)
 
template<typename T , typename T2 >
CompareTypes< T, T2 >::supertype libMesh::TensorTools::inner_product (const TypeTensor< T > &a, const TypeTensor< T2 > &b)
 
template<unsigned int N, typename T , typename T2 >
CompareTypes< T, T2 >::supertype libMesh::TensorTools::inner_product (const TypeNTensor< N, T > &a, const TypeNTensor< N, T2 > &b)
 
template<typename T >
auto libMesh::TensorTools::norm (const T &a) -> decltype(std::abs(a))
 
template<typename T >
libMesh::TensorTools::norm (std::complex< T > a)
 
template<typename T >
auto libMesh::TensorTools::norm (const TypeVector< T > &a) -> decltype(TensorTools::norm(T()))
 
template<typename T >
auto libMesh::TensorTools::norm (const VectorValue< T > &a) -> decltype(TensorTools::norm(T()))
 
template<typename T >
auto libMesh::TensorTools::norm (const TypeTensor< T > &a) -> decltype(TensorTools::norm(T()))
 
template<typename T >
auto libMesh::TensorTools::norm (const TensorValue< T > &a) -> decltype(TensorTools::norm(T()))
 
template<typename T >
auto libMesh::TensorTools::norm_sq (const T &a) -> decltype(std::norm(a))
 
template<typename T >
libMesh::TensorTools::norm_sq (std::complex< T > a)
 
template<typename T >
auto libMesh::TensorTools::norm_sq (const TypeVector< T > &a) -> decltype(std::norm(T()))
 
template<typename T >
auto libMesh::TensorTools::norm_sq (const VectorValue< T > &a) -> decltype(std::norm(T()))
 
template<typename T >
auto libMesh::TensorTools::norm_sq (const TypeTensor< T > &a) -> decltype(std::norm(T()))
 
template<typename T >
auto libMesh::TensorTools::norm_sq (const TensorValue< T > &a) -> decltype(std::norm(T()))
 
template<typename T >
bool libMesh::TensorTools::is_zero (const T &a)
 
Number libMesh::TensorTools::curl_from_grad (const VectorValue< Number > &)
 
VectorValue< Number > libMesh::TensorTools::curl_from_grad (const TensorValue< Number > &grad)
 Computes the curl of a vector given the gradient of that vector. More...
 
TensorValue< Number > libMesh::TensorTools::curl_from_grad (const TypeNTensor< 3, Number > &grad)
 
Number libMesh::TensorTools::div_from_grad (const VectorValue< Number > &grad)
 Dummy. Divergence of a scalar not defined, but is needed for ExactSolution to compile. More...
 
Number libMesh::TensorTools::div_from_grad (const TensorValue< Number > &grad)
 Computes the divergence of a vector given the gradient of that vector. More...
 
VectorValue< Number > libMesh::TensorTools::div_from_grad (const TypeNTensor< 3, Number > &grad)