Public Types | Public Member Functions | Static Public Attributes | List of all members
BarycentricTensor< Cmpt > Class Template Reference

Templated 4x3 tensor derived from VectorSpace. Has 12 components. Can represent a barycentric transformation as a matrix-barycentric inner- product. Can alternatively represent an inverse barycentric transformation as a vector-matrix inner-product. More...

Inheritance diagram for BarycentricTensor< Cmpt >:
Inheritance graph
[legend]
Collaboration diagram for BarycentricTensor< Cmpt >:
Collaboration graph
[legend]

Public Types

enum  components {
  XA, XB, XC, XD,
  YA, YB, YC, YD,
  ZA, ZB, ZC, ZD
}
 
typedef Tensor< label > labelType
 
- Public Types inherited from MatrixSpace< BarycentricTensor< Cmpt >, Cmpt, 4, 3 >
typedef MatrixSpace< BarycentricTensor< Cmpt >, Cmpt, Mrows, Ncols > msType
 
- Public Types inherited from VectorSpace< BarycentricTensor< Cmpt >, Cmpt, Mrows *Ncols >
typedef VectorSpace< Form, Cmpt, Ncmpts > vsType
 
typedef Cmpt cmptType
 
typedef Cmpt magType
 
typedef Cmpt * iterator
 

Public Member Functions

 BarycentricTensor ()=default
 
 BarycentricTensor (const Foam::zero)
 
 BarycentricTensor (const Barycentric< Cmpt > &x, const Barycentric< Cmpt > &y, const Barycentric< Cmpt > &z)
 
 BarycentricTensor (const Vector< Cmpt > &a, const Vector< Cmpt > &b, const Vector< Cmpt > &c, const Vector< Cmpt > &d)
 
Barycentric< Cmpt > x () const
 
Barycentric< Cmpt > y () const
 
Barycentric< Cmpt > z () const
 
Vector< Cmpt > a () const
 
Vector< Cmpt > b () const
 
Vector< Cmpt > c () const
 
Vector< Cmpt > d () const
 
- Public Member Functions inherited from MatrixSpace< BarycentricTensor< Cmpt >, Cmpt, 4, 3 >
 MatrixSpace ()=default
 
 MatrixSpace (const Foam::zero)
 
 MatrixSpace (const VectorSpace< Form2, Cmpt2, Mrows *Ncols > &)
 
 MatrixSpace (const Block2< BarycentricTensor< Cmpt >, BRowStart, BColStart > &block)
 
 MatrixSpace (Istream &is)
 
const Cmpt & elmt () const
 
Cmpt & elmt ()
 
const Cmpt & xx () const
 
Cmpt & xx ()
 
const Cmpt & xy () const
 
Cmpt & xy ()
 
const Cmpt & xz () const
 
Cmpt & xz ()
 
const Cmpt & yx () const
 
Cmpt & yx ()
 
const Cmpt & yy () const
 
Cmpt & yy ()
 
const Cmpt & yz () const
 
Cmpt & yz ()
 
const Cmpt & zx () const
 
Cmpt & zx ()
 
const Cmpt & zy () const
 
Cmpt & zy ()
 
const Cmpt & zz () const
 
Cmpt & zz ()
 
typeOfTranspose< Cmpt, BarycentricTensor< Cmpt > >::type T () const
 
ConstBlock< SubTensor, BRowStart, BColStart > block () const
 
Block< SubTensor, BRowStart, BColStart > block ()
 
Foam::MatrixSpace< BarycentricTensor< Cmpt >, Cmpt, Mrows, Ncols >::template ConstBlock< SubTensor, BRowStart, BColStart > block () const
 
Foam::MatrixSpace< BarycentricTensor< Cmpt >, Cmpt, Mrows, Ncols >::template Block< SubTensor, BRowStart, BColStart > block ()
 
const Cmpt & operator() (const direction &i, const direction &j) const
 
Cmpt & operator() (const direction &i, const direction &j)
 
void operator= (const Foam::zero)
 
void operator= (const Block2< BarycentricTensor< Cmpt >, BRowStart, BColStart > &block)
 
void operator&= (const MatrixSpace< BarycentricTensor< Cmpt >, Cmpt, Ncols, Ncols > &matrix)
 
- Public Member Functions inherited from VectorSpace< BarycentricTensor< Cmpt >, Cmpt, Mrows *Ncols >
 VectorSpace ()=default
 
 VectorSpace (const Foam::zero)
 
 VectorSpace (const VectorSpace< Form, Cmpt, Ncmpts > &vs)
 
 VectorSpace (const VectorSpace< Form2, Cmpt2, Ncmpts > &)
 
 VectorSpace (Istream &is)
 
const Cmpt & component (const direction) const
 
Cmpt & component (const direction)
 
void component (Cmpt &, const direction) const
 
void replace (const direction, const Cmpt &)
 
const Cmpt * cdata () const noexcept
 
Cmpt * data () noexcept
 
const ConstBlock< SubVector, BStart > block () const
 
const Foam::VectorSpace< Form, Cmpt, Ncmpts >::template ConstBlock< SubVector, BStart > block () const
 
const Cmpt & operator[] (const direction) const
 
Cmpt & operator[] (const direction)
 
void operator= (const VectorSpace< Form, Cmpt, Ncmpts > &)
 
void operator= (const Foam::zero)
 
void operator+= (const VectorSpace< Form, Cmpt, Ncmpts > &)
 
void operator-= (const VectorSpace< Form, Cmpt, Ncmpts > &)
 
void operator*= (const scalar)
 
void operator/= (const scalar)
 
iterator begin () noexcept
 
const_iterator begin () const noexcept
 
iterator end () noexcept
 
const_iterator end () const noexcept
 
const_iterator cbegin () const noexcept
 
const_iterator cend () const noexcept
 

Static Public Attributes

static constexpr direction rank = 2
 
- Static Public Attributes inherited from MatrixSpace< BarycentricTensor< Cmpt >, Cmpt, 4, 3 >
static constexpr direction mRows
 
static constexpr direction nCols
 
- Static Public Attributes inherited from VectorSpace< BarycentricTensor< Cmpt >, Cmpt, Mrows *Ncols >
static constexpr direction dim
 
static constexpr direction nComponents
 
static constexpr direction mRows
 
static constexpr direction nCols
 
static const char *const typeName
 
static const char *const componentNames []
 
static const Form zero
 
static const Form one
 
static const Form max
 
static const Form min
 
static const Form rootMax
 
static const Form rootMin
 

Additional Inherited Members

- Static Public Member Functions inherited from MatrixSpace< BarycentricTensor< Cmpt >, Cmpt, 4, 3 >
static direction m () noexcept
 
static direction n () noexcept
 
static msType identity ()
 
- Static Public Member Functions inherited from VectorSpace< BarycentricTensor< Cmpt >, Cmpt, Mrows *Ncols >
static constexpr direction size () noexcept
 
static Form uniform (const Cmpt &s)
 
- Public Attributes inherited from VectorSpace< BarycentricTensor< Cmpt >, Cmpt, Mrows *Ncols >
const typedef Cmpt * const_iterator
 
Cmpt v_ [Ncmpts]
 

Detailed Description

template<class Cmpt>
class Foam::BarycentricTensor< Cmpt >

Templated 4x3 tensor derived from VectorSpace. Has 12 components. Can represent a barycentric transformation as a matrix-barycentric inner- product. Can alternatively represent an inverse barycentric transformation as a vector-matrix inner-product.

Source files

Definition at line 53 of file BarycentricTensor.H.

Member Typedef Documentation

◆ labelType

typedef Tensor<label> labelType

Definition at line 62 of file BarycentricTensor.H.

Member Enumeration Documentation

◆ components

enum components
Enumerator
XA 
XB 
XC 
XD 
YA 
YB 
YC 
YD 
ZA 
ZB 
ZC 
ZD 

Definition at line 72 of file BarycentricTensor.H.

Constructor & Destructor Documentation

◆ BarycentricTensor() [1/4]

BarycentricTensor ( )
default

◆ BarycentricTensor() [2/4]

BarycentricTensor ( const Foam::zero  )
inline

Definition at line 24 of file BarycentricTensorI.H.

◆ BarycentricTensor() [3/4]

BarycentricTensor ( const Barycentric< Cmpt > &  x,
const Barycentric< Cmpt > &  y,
const Barycentric< Cmpt > &  z 
)
inline

Definition at line 32 of file BarycentricTensorI.H.

References Barycentric< Cmpt >::a(), Barycentric< Cmpt >::b(), Barycentric< Cmpt >::c(), Barycentric< Cmpt >::d(), x, and y.

Here is the call graph for this function:

◆ BarycentricTensor() [4/4]

BarycentricTensor ( const Vector< Cmpt > &  a,
const Vector< Cmpt > &  b,
const Vector< Cmpt > &  c,
const Vector< Cmpt > &  d 
)
inline

Definition at line 57 of file BarycentricTensorI.H.

References Foam::constant::physicoChemical::b, Foam::constant::universal::c, Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().

Here is the call graph for this function:

Member Function Documentation

◆ x()

Foam::Barycentric< Cmpt > x
inline

Definition at line 84 of file BarycentricTensorI.H.

◆ y()

Foam::Barycentric< Cmpt > y
inline

Definition at line 98 of file BarycentricTensorI.H.

◆ z()

Foam::Barycentric< Cmpt > z
inline

Definition at line 112 of file BarycentricTensorI.H.

◆ a()

Foam::Vector< Cmpt > a
inline

Definition at line 126 of file BarycentricTensorI.H.

◆ b()

Foam::Vector< Cmpt > b
inline

Definition at line 133 of file BarycentricTensorI.H.

◆ c()

Foam::Vector< Cmpt > c
inline

Definition at line 140 of file BarycentricTensorI.H.

◆ d()

Foam::Vector< Cmpt > d
inline

Definition at line 147 of file BarycentricTensorI.H.

Member Data Documentation

◆ rank

constexpr direction rank = 2
staticconstexpr

Definition at line 68 of file BarycentricTensor.H.


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