GMatTensor 0.10.6
Loading...
Searching...
No Matches
Cartesian2d.h File Reference
#include <xtensor/xadapt.hpp>
#include <xtensor/xnoalias.hpp>
#include <xtensor/xrandom.hpp>
#include <xtensor/xtensor.hpp>
#include <xtensor/xview.hpp>
#include "config.h"
#include "detail.hpp"
#include "version.h"

Go to the source code of this file.

Classes

class  GMatTensor::Cartesian2d::Array< N >
 Array of tensors: More...
 

Namespaces

namespace  GMatTensor
 Tensor products / operations.
 
namespace  GMatTensor::Cartesian2d
 Tensors and tensor operations for a(n) array of 2d tensors of different rank, defined in a Cartesian coordinate system.
 
namespace  GMatTensor::Cartesian2d::pointer
 API for individual tensors with pointer-only input.
 

Functions

template<class T >
void GMatTensor::Cartesian2d::pointer::O2 (T *ret)
 See Cartesian2d::O2() More...
 
template<class T >
void GMatTensor::Cartesian2d::pointer::O4 (T *ret)
 See Cartesian2d::O4() More...
 
template<class T >
void GMatTensor::Cartesian2d::pointer::I2 (T *ret)
 See Cartesian2d::I2() More...
 
template<class T >
void GMatTensor::Cartesian2d::pointer::II (T *ret)
 See Cartesian2d::II() More...
 
template<class T >
void GMatTensor::Cartesian2d::pointer::I4 (T *ret)
 See Cartesian2d::I4() More...
 
template<class T >
void GMatTensor::Cartesian2d::pointer::I4rt (T *ret)
 See Cartesian2d::I4rt() More...
 
template<class T >
void GMatTensor::Cartesian2d::pointer::I4s (T *ret)
 See Cartesian2d::I4s() More...
 
template<class T >
void GMatTensor::Cartesian2d::pointer::I4d (T *ret)
 See Cartesian2d::I4d() More...
 
template<class T >
GMatTensor::Cartesian2d::pointer::Trace (const T *A)
 See Cartesian2d::Trace() More...
 
template<class T >
GMatTensor::Cartesian2d::pointer::Hydrostatic (const T *A)
 See Cartesian2d::Hydrostatic() More...
 
template<class T >
void GMatTensor::Cartesian2d::pointer::sym (const T *A, T *ret)
 See Cartesian2d::Sym() More...
 
template<class T >
GMatTensor::Cartesian2d::pointer::Hydrostatic_deviatoric (const T *A, T *ret)
 Returns Cartesian2d::Hydrostatic() and computes Cartesian2d::Deviatoric() More...
 
template<class T >
GMatTensor::Cartesian2d::pointer::Deviatoric_ddot_deviatoric (const T *A)
 Double tensor contraction of the tensor's deviator. More...
 
template<class T >
GMatTensor::Cartesian2d::pointer::Norm_deviatoric (const T *A)
 See Cartesian2d::Norm_deviatoric() More...
 
template<class T >
GMatTensor::Cartesian2d::pointer::A2_ddot_B2 (const T *A, const T *B)
 See Cartesian2d::A2_ddot_B2() More...
 
template<class T >
GMatTensor::Cartesian2d::pointer::A2s_ddot_B2s (const T *A, const T *B)
 See Cartesian2d::A2s_ddot_B2s() More...
 
template<class T >
void GMatTensor::Cartesian2d::pointer::A2_dyadic_B2 (const T *A, const T *B, T *ret)
 See Cartesian2d::A2_dyadic_B2() More...
 
template<class T >
void GMatTensor::Cartesian2d::pointer::A2_dot_B2 (const T *A, const T *B, T *ret)
 See Cartesian2d::A2_dot_B2() More...
 
template<class T >
void GMatTensor::Cartesian2d::pointer::A4_ddot_B2 (const T *A, const T *B, T *ret)
 See Cartesian2d::A4_ddot_B2() More...
 
array_type::tensor< double, 2 > GMatTensor::Cartesian2d::Random2 ()
 Random 2nd-order tensor (for example for use in testing). More...
 
array_type::tensor< double, 4 > GMatTensor::Cartesian2d::Random4 ()
 Random 4th-order tensor (for example for use in testing). More...
 
array_type::tensor< double, 2 > GMatTensor::Cartesian2d::O2 ()
 2nd-order null tensor (all components equal to zero). More...
 
array_type::tensor< double, 4 > GMatTensor::Cartesian2d::O4 ()
 4th-order null tensor (all components equal to zero). More...
 
array_type::tensor< double, 2 > GMatTensor::Cartesian2d::I2 ()
 2nd-order identity tensor. More...
 
array_type::tensor< double, 4 > GMatTensor::Cartesian2d::II ()
 Result of the dyadic product of two 2nd-order identity tensors (see I2()). More...
 
array_type::tensor< double, 4 > GMatTensor::Cartesian2d::I4 ()
 Fourth order unit tensor. More...
 
array_type::tensor< double, 4 > GMatTensor::Cartesian2d::I4rt ()
 Right-transposed fourth order unit tensor. More...
 
array_type::tensor< double, 4 > GMatTensor::Cartesian2d::I4s ()
 Fourth order symmetric projection. More...
 
array_type::tensor< double, 4 > GMatTensor::Cartesian2d::I4d ()
 Fourth order deviatoric projection. More...
 
template<class T >
auto GMatTensor::Cartesian2d::Trace (const T &A)
 Trace or 2nd-order tensor. More...
 
template<class T , class R >
void GMatTensor::Cartesian2d::trace (const T &A, R &ret)
 Same as Trace() but writes to externally allocated output. More...
 
template<class T >
auto GMatTensor::Cartesian2d::Hydrostatic (const T &A)
 Hydrostatic part of a tensor. More...
 
template<class T , class R >
void GMatTensor::Cartesian2d::hydrostatic (const T &A, R &ret)
 Same as Hydrostatic() but writes to externally allocated output. More...
 
template<class T >
auto GMatTensor::Cartesian2d::A2_ddot_B2 (const T &A, const T &B)
 Double tensor contraction. More...
 
template<class T , class R >
void GMatTensor::Cartesian2d::A2_ddot_B2 (const T &A, const T &B, R &ret)
 Same as A2_ddot_B2(const T& A, const T& B) but writes to externally allocated output. More...
 
template<class T >
auto GMatTensor::Cartesian2d::A2s_ddot_B2s (const T &A, const T &B)
 Same as A2_ddot_B2(const T& A, const T& B, R& ret) but for symmetric tensors. More...
 
template<class T , class R >
void GMatTensor::Cartesian2d::A2s_ddot_B2s (const T &A, const T &B, R &ret)
 Same as A2s_ddot_B2s(const T& A, const T& B) but writes to externally allocated output. More...
 
template<class T >
auto GMatTensor::Cartesian2d::Norm_deviatoric (const T &A)
 Norm of the tensor's deviator: More...
 
template<class T , class R >
void GMatTensor::Cartesian2d::norm_deviatoric (const T &A, R &ret)
 Same as Norm_deviatoric() but writes to externally allocated output. More...
 
template<class T >
auto GMatTensor::Cartesian2d::Deviatoric (const T &A)
 Deviatoric part of a tensor: More...
 
template<class T , class R >
void GMatTensor::Cartesian2d::deviatoric (const T &A, R &ret)
 Same as Deviatoric() but writes to externally allocated output. More...
 
template<class T >
auto GMatTensor::Cartesian2d::Sym (const T &A)
 Symmetric part of a tensor: More...
 
template<class T , class R >
void GMatTensor::Cartesian2d::sym (const T &A, R &ret)
 Same as Sym() but writes to externally allocated output. More...
 
template<class T >
auto GMatTensor::Cartesian2d::A2_dot_B2 (const T &A, const T &B)
 Dot-product (single tensor contraction) More...
 
template<class T , class R >
void GMatTensor::Cartesian2d::A2_dot_B2 (const T &A, const T &B, R &ret)
 Same as A2_dot_B2(const T& A, const T& B) but writes to externally allocated output. More...
 
template<class T >
auto GMatTensor::Cartesian2d::A2_dyadic_B2 (const T &A, const T &B)
 Dyadic product. More...
 
template<class T , class R >
void GMatTensor::Cartesian2d::A2_dyadic_B2 (const T &A, const T &B, R &ret)
 Same as A2_dyadic_B2(const T& A, const T& B) but writes to externally allocated output. More...
 
template<class T , class U >
auto GMatTensor::Cartesian2d::A4_ddot_B2 (const T &A, const U &B)
 Double tensor contraction. More...
 
template<class T , class U , class R >
void GMatTensor::Cartesian2d::A4_ddot_B2 (const T &A, const U &B, R &ret)
 Same as A4_ddot_B2(const T& A, const U& B) but writes to externally allocated output. More...
 
template<class T >
size_t GMatTensor::Cartesian2d::underlying_size_A2 (const T &A)
 Size of the underlying array. More...
 
template<class T >
size_t GMatTensor::Cartesian2d::underlying_size_A4 (const T &A)
 Size of the underlying array. More...
 
template<class T >
auto GMatTensor::Cartesian2d::underlying_shape_A2 (const T &A) -> std::array< size_t, detail::impl_A2< T, 2 >::rank >
 Shape of the underlying array. More...
 
template<class T >
auto GMatTensor::Cartesian2d::underlying_shape_A4 (const T &A) -> std::array< size_t, detail::impl_A4< T, 2 >::rank >
 Shape of the underlying array. More...
 

Detailed Description

License: This project is released under the MIT License.

Definition in file Cartesian2d.h.