Physical Quantities  v1.0.0
C++ library of physical quantities, physical models, and units of measure for scientific computing. https://github.com/acodcha/phq
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
PhQ::SymmetricDyad< NumericType > Class Template Reference

Symmetric three-dimensional Euclidean dyadic tensor. Contains six components in Cartesian coordinates: xx, xy = yx, xz = zx, yy, yz = zy, and zz. For the general case of a three-dimensional Euclidean dyadic tensor which may be symmetric or asymmetric, see PhQ::Dyad. For a three-dimensional Euclidean vector, see PhQ::Vector. For a two-dimensional Euclidean vector in the XY plane, see PhQ::PlanarVector. More...

#include "SymmetricDyad.hpp"

Public Member Functions

 SymmetricDyad ()=default
 Default constructor. Constructs a three-dimensional symmetric dyadic tensor with uninitialized xx, xy, xz, yy, yz, and zz Cartesian components. More...
 
constexpr SymmetricDyad (const NumericType xx, const NumericType xy, const NumericType xz, const NumericType yy, const NumericType yz, const NumericType zz)
 Constructor. Constructs a three-dimensional symmetric dyadic tensor from the given xx, xy, xz, yy, yz, and zz Cartesian components. More...
 
constexpr SymmetricDyad (const std::array< NumericType, 6 > &xx_xy_xz_yy_yz_zz)
 Constructor. Constructs a three-dimensional symmetric dyadic tensor from a given array representing its xx, xy, xz, yy, yz, and zz Cartesian components. More...
 
 ~SymmetricDyad () noexcept=default
 Destructor. Destroys this three-dimensional symmetric dyadic tensor. More...
 
constexpr SymmetricDyad (const SymmetricDyad< NumericType > &other)=default
 Copy constructor. Constructs a three-dimensional symmetric dyadic tensor by copying another one. More...
 
template<typename OtherNumericType >
constexpr SymmetricDyad (const SymmetricDyad< OtherNumericType > &other)
 Copy constructor. Constructs a three-dimensional symmetric dyadic tensor by copying another one. More...
 
constexpr SymmetricDyad (SymmetricDyad< NumericType > &&other) noexcept=default
 Move constructor. Constructs a three-dimensional symmetric dyadic tensor by moving another one. More...
 
constexpr SymmetricDyad< NumericType > & operator= (const SymmetricDyad< NumericType > &other)=default
 Copy assignment operator. Assigns this three-dimensional symmetric dyadic tensor by copying another one. More...
 
template<typename OtherNumericType >
constexpr SymmetricDyad< NumericType > & operator= (const SymmetricDyad< OtherNumericType > &other)
 Copy assignment operator. Assigns this three-dimensional symmetric dyadic tensor by copying another one. More...
 
constexpr SymmetricDyad< NumericType > & operator= (SymmetricDyad< NumericType > &&other) noexcept=default
 Move assignment operator. Assigns this three-dimensional symmetric dyadic tensor by moving another one. More...
 
constexpr SymmetricDyad< NumericType > & operator= (const std::array< NumericType, 6 > &xx_xy_xz_yy_yz_zz)
 Assignment operator. Assigns this three-dimensional symmetric dyadic tensor by copying a given array representing its xx, xy, xz, yy, yz, and zz Cartesian components. More...
 
constexpr const std::array< NumericType, 6 > & xx_xy_xz_yy_yz_zz () const noexcept
 Returns this three-dimensional symmetric dyadic tensor's xx, xy, xz, yy, yz, and zz Cartesian components as an array. More...
 
constexpr NumericType xx () const noexcept
 Returns this three-dimensional symmetric dyadic tensor's xx Cartesian component. More...
 
constexpr NumericType xy () const noexcept
 Returns this three-dimensional symmetric dyadic tensor's xy = yx Cartesian component. More...
 
constexpr NumericType xz () const noexcept
 Returns this three-dimensional symmetric dyadic tensor's xz = zx Cartesian component. More...
 
constexpr NumericType yx () const noexcept
 Returns this three-dimensional symmetric dyadic tensor's yx = xy Cartesian component. More...
 
constexpr NumericType yy () const noexcept
 Returns this three-dimensional symmetric dyadic tensor's yy Cartesian component. More...
 
constexpr NumericType yz () const noexcept
 Returns this three-dimensional symmetric dyadic tensor's yz = zy Cartesian component. More...
 
constexpr NumericType zx () const noexcept
 Returns this three-dimensional symmetric dyadic tensor's zx = xz Cartesian component. More...
 
constexpr NumericType zy () const noexcept
 Returns this three-dimensional symmetric dyadic tensor's zy = yz Cartesian component. More...
 
constexpr NumericType zz () const noexcept
 Returns this three-dimensional symmetric dyadic tensor's zz Cartesian component. More...
 
constexpr std::array< NumericType, 6 > & Mutable_xx_xy_xz_yy_yz_zz () noexcept
 Returns this three-dimensional symmetric dyadic tensor's xx, xy, xz, yy, yz, and zz Cartesian components as a mutable array. More...
 
constexpr NumericType & Mutable_xx () noexcept
 Returns this three-dimensional symmetric dyadic tensor's xx Cartesian component as a mutable value. More...
 
constexpr NumericType & Mutable_xy () noexcept
 Returns this three-dimensional symmetric dyadic tensor's xy = yx Cartesian component as a mutable value. More...
 
constexpr NumericType & Mutable_xz () noexcept
 Returns this three-dimensional symmetric dyadic tensor's xz = zx Cartesian component as a mutable value. More...
 
constexpr NumericType & Mutable_yx () noexcept
 Returns this three-dimensional symmetric dyadic tensor's yx = xy Cartesian component as a mutable value. More...
 
constexpr NumericType & Mutable_yy () noexcept
 Returns this three-dimensional symmetric dyadic tensor's yy Cartesian component as a mutable value. More...
 
constexpr NumericType & Mutable_yz () noexcept
 Returns this three-dimensional symmetric dyadic tensor's yz = zy Cartesian component as a mutable value. More...
 
constexpr NumericType & Mutable_zx () noexcept
 Returns this three-dimensional symmetric dyadic tensor's zx = xz Cartesian component as a mutable value. More...
 
constexpr NumericType & Mutable_zy () noexcept
 Returns this three-dimensional symmetric dyadic tensor's zy = yz Cartesian component as a mutable value. More...
 
constexpr NumericType & Mutable_zz () noexcept
 Returns this three-dimensional symmetric dyadic tensor's zz Cartesian component as a mutable value. More...
 
constexpr void Set_xx_xy_xz_yy_yz_zz (const std::array< NumericType, 6 > &xx_xy_xz_yy_yz_zz) noexcept
 Sets this three-dimensional symmetric dyadic tensor's xx, xy, xz, yy, yz, and zz Cartesian components to the given values. More...
 
constexpr void Set_xx_xy_xz_yy_yz_zz (const NumericType xx, const NumericType xy, const NumericType xz, const NumericType yy, const NumericType yz, const NumericType zz) noexcept
 Sets this three-dimensional symmetric dyadic tensor's xx, xy, xz, yy, yz, and zz Cartesian components to the given values. More...
 
constexpr void Set_xx (const NumericType xx) noexcept
 Sets this three-dimensional symmetric dyadic tensor's xx Cartesian component to a given value. More...
 
constexpr void Set_xy (const NumericType xy) noexcept
 Sets this three-dimensional symmetric dyadic tensor's xy = yx Cartesian component to a given value. More...
 
constexpr void Set_xz (const NumericType xz) noexcept
 Sets this three-dimensional symmetric dyadic tensor's xz = zx Cartesian component to a given value. More...
 
constexpr void Set_yx (const NumericType yx) noexcept
 Sets this three-dimensional symmetric dyadic tensor's yx = xy Cartesian component to a given value. More...
 
constexpr void Set_yy (const NumericType yy) noexcept
 Sets this three-dimensional symmetric dyadic tensor's yy Cartesian component to a given value. More...
 
constexpr void Set_yz (const NumericType yz) noexcept
 Sets this three-dimensional symmetric dyadic tensor's yz = zy Cartesian component to a given value. More...
 
constexpr void Set_zx (const NumericType zx) noexcept
 Sets this three-dimensional symmetric dyadic tensor's zx = xz Cartesian component to a given value. More...
 
constexpr void Set_zy (const NumericType zy) noexcept
 Sets this three-dimensional symmetric dyadic tensor's zy = yz Cartesian component to a given value. More...
 
constexpr void Set_zz (const NumericType zz) noexcept
 Sets this three-dimensional symmetric dyadic tensor's zz Cartesian component to a given value. More...
 
constexpr NumericType Trace () const noexcept
 Returns the trace of this three-dimensional symmetric dyadic tensor. More...
 
constexpr NumericType Determinant () const noexcept
 Returns the determinant of this three-dimensional symmetric dyadic tensor. More...
 
constexpr const SymmetricDyad< NumericType > & Transpose () const noexcept
 Returns the transpose of this three-dimensional symmetric dyadic tensor. More...
 
constexpr SymmetricDyad< NumericType > Cofactors () const
 Returns the cofactors of this three-dimensional symmetric dyadic tensor. More...
 
constexpr SymmetricDyad< NumericType > Adjugate () const
 Returns the adjugate of this three-dimensional symmetric dyadic tensor. More...
 
std::optional< SymmetricDyad< NumericType > > Inverse () const
 Returns the inverse of this three-dimensional symmetric dyadic tensor if it exists, or std::nullopt otherwise. More...
 
std::string Print () const
 Prints this three-dimensional symmetric dyadic tensor as a string. More...
 
std::string JSON () const
 Serializes this three-dimensional symmetric dyadic tensor as a JSON message. More...
 
std::string XML () const
 Serializes this three-dimensional symmetric dyadic tensor as an XML message. More...
 
std::string YAML () const
 Serializes this three-dimensional symmetric dyadic tensor as a YAML message. More...
 
constexpr void operator+= (const SymmetricDyad< NumericType > &other) noexcept
 Adds another three-dimensional symmetric dyadic tensor to this one. More...
 
constexpr void operator-= (const SymmetricDyad< NumericType > &other) noexcept
 Subtracts another three-dimensional symmetric dyadic tensor from this one. More...
 
template<typename OtherNumericType >
constexpr void operator*= (const OtherNumericType number) noexcept
 Multiplies this three-dimensional symmetric dyadic tensor by the given number. More...
 
template<typename OtherNumericType >
constexpr void operator/= (const OtherNumericType number) noexcept
 Divides this three-dimensional symmetric dyadic tensor by the given number. More...
 

Static Public Member Functions

static constexpr SymmetricDyad< NumericType > Zero ()
 Statically creates a three-dimensional symmetric dyadic tensor with its xx, xy, xz, yy, yz, and zz Cartesian components initialized to zero. More...
 

Private Attributes

std::array< NumericType, 6 > xx_xy_xz_yy_yz_zz_
 Cartesian components of this three-dimensional symmetric dyadic tensor. More...
 

Detailed Description

template<typename NumericType = double>
class PhQ::SymmetricDyad< NumericType >

Symmetric three-dimensional Euclidean dyadic tensor. Contains six components in Cartesian coordinates: xx, xy = yx, xz = zx, yy, yz = zy, and zz. For the general case of a three-dimensional Euclidean dyadic tensor which may be symmetric or asymmetric, see PhQ::Dyad. For a three-dimensional Euclidean vector, see PhQ::Vector. For a two-dimensional Euclidean vector in the XY plane, see PhQ::PlanarVector.

Template Parameters
NumericTypeFloating-point numeric type: float, double, or long double. Defaults to double if unspecified.

Definition at line 50 of file SymmetricDyad.hpp.

Constructor & Destructor Documentation

◆ SymmetricDyad() [1/6]

template<typename NumericType = double>
PhQ::SymmetricDyad< NumericType >::SymmetricDyad ( )
default

Default constructor. Constructs a three-dimensional symmetric dyadic tensor with uninitialized xx, xy, xz, yy, yz, and zz Cartesian components.

◆ SymmetricDyad() [2/6]

template<typename NumericType = double>
constexpr PhQ::SymmetricDyad< NumericType >::SymmetricDyad ( const NumericType  xx,
const NumericType  xy,
const NumericType  xz,
const NumericType  yy,
const NumericType  yz,
const NumericType  zz 
)
inlineconstexpr

Constructor. Constructs a three-dimensional symmetric dyadic tensor from the given xx, xy, xz, yy, yz, and zz Cartesian components.

Definition at line 62 of file SymmetricDyad.hpp.

References PhQ::SymmetricDyad< NumericType >::xx(), PhQ::SymmetricDyad< NumericType >::xy(), PhQ::SymmetricDyad< NumericType >::xz(), PhQ::SymmetricDyad< NumericType >::yy(), PhQ::SymmetricDyad< NumericType >::yz(), and PhQ::SymmetricDyad< NumericType >::zz().

◆ SymmetricDyad() [3/6]

template<typename NumericType = double>
constexpr PhQ::SymmetricDyad< NumericType >::SymmetricDyad ( const std::array< NumericType, 6 > &  xx_xy_xz_yy_yz_zz)
inlineexplicitconstexpr

Constructor. Constructs a three-dimensional symmetric dyadic tensor from a given array representing its xx, xy, xz, yy, yz, and zz Cartesian components.

Definition at line 68 of file SymmetricDyad.hpp.

◆ ~SymmetricDyad()

template<typename NumericType = double>
PhQ::SymmetricDyad< NumericType >::~SymmetricDyad ( )
defaultnoexcept

Destructor. Destroys this three-dimensional symmetric dyadic tensor.

◆ SymmetricDyad() [4/6]

template<typename NumericType = double>
constexpr PhQ::SymmetricDyad< NumericType >::SymmetricDyad ( const SymmetricDyad< NumericType > &  other)
constexprdefault

Copy constructor. Constructs a three-dimensional symmetric dyadic tensor by copying another one.

◆ SymmetricDyad() [5/6]

template<typename NumericType = double>
template<typename OtherNumericType >
constexpr PhQ::SymmetricDyad< NumericType >::SymmetricDyad ( const SymmetricDyad< OtherNumericType > &  other)
inlineexplicitconstexpr

Copy constructor. Constructs a three-dimensional symmetric dyadic tensor by copying another one.

Definition at line 76 of file SymmetricDyad.hpp.

◆ SymmetricDyad() [6/6]

template<typename NumericType = double>
constexpr PhQ::SymmetricDyad< NumericType >::SymmetricDyad ( SymmetricDyad< NumericType > &&  other)
constexprdefaultnoexcept

Move constructor. Constructs a three-dimensional symmetric dyadic tensor by moving another one.

Member Function Documentation

◆ Adjugate()

template<typename NumericType = double>
constexpr SymmetricDyad<NumericType> PhQ::SymmetricDyad< NumericType >::Adjugate ( ) const
inlineconstexpr

Returns the adjugate of this three-dimensional symmetric dyadic tensor.

Definition at line 346 of file SymmetricDyad.hpp.

References PhQ::SymmetricDyad< NumericType >::Cofactors().

◆ Cofactors()

template<typename NumericType = double>
constexpr SymmetricDyad<NumericType> PhQ::SymmetricDyad< NumericType >::Cofactors ( ) const
inlineconstexpr

◆ Determinant()

template<typename NumericType = double>
constexpr NumericType PhQ::SymmetricDyad< NumericType >::Determinant ( ) const
inlineconstexprnoexcept

◆ Inverse()

template<typename NumericType >
std::optional< SymmetricDyad< NumericType > > PhQ::SymmetricDyad< NumericType >::Inverse
inline

Returns the inverse of this three-dimensional symmetric dyadic tensor if it exists, or std::nullopt otherwise.

Definition at line 584 of file SymmetricDyad.hpp.

◆ JSON()

template<typename NumericType = double>
std::string PhQ::SymmetricDyad< NumericType >::JSON ( ) const
inline

Serializes this three-dimensional symmetric dyadic tensor as a JSON message.

Definition at line 364 of file SymmetricDyad.hpp.

References PhQ::Print(), and PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_.

◆ Mutable_xx()

template<typename NumericType = double>
constexpr NumericType& PhQ::SymmetricDyad< NumericType >::Mutable_xx ( )
inlineconstexprnoexcept

Returns this three-dimensional symmetric dyadic tensor's xx Cartesian component as a mutable value.

Definition at line 191 of file SymmetricDyad.hpp.

References PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_.

◆ Mutable_xx_xy_xz_yy_yz_zz()

template<typename NumericType = double>
constexpr std::array<NumericType, 6>& PhQ::SymmetricDyad< NumericType >::Mutable_xx_xy_xz_yy_yz_zz ( )
inlineconstexprnoexcept

Returns this three-dimensional symmetric dyadic tensor's xx, xy, xz, yy, yz, and zz Cartesian components as a mutable array.

Definition at line 185 of file SymmetricDyad.hpp.

References PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_.

Referenced by PhQ::ConvertInPlace().

◆ Mutable_xy()

template<typename NumericType = double>
constexpr NumericType& PhQ::SymmetricDyad< NumericType >::Mutable_xy ( )
inlineconstexprnoexcept

Returns this three-dimensional symmetric dyadic tensor's xy = yx Cartesian component as a mutable value.

Definition at line 197 of file SymmetricDyad.hpp.

References PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_.

◆ Mutable_xz()

template<typename NumericType = double>
constexpr NumericType& PhQ::SymmetricDyad< NumericType >::Mutable_xz ( )
inlineconstexprnoexcept

Returns this three-dimensional symmetric dyadic tensor's xz = zx Cartesian component as a mutable value.

Definition at line 203 of file SymmetricDyad.hpp.

References PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_.

◆ Mutable_yx()

template<typename NumericType = double>
constexpr NumericType& PhQ::SymmetricDyad< NumericType >::Mutable_yx ( )
inlineconstexprnoexcept

Returns this three-dimensional symmetric dyadic tensor's yx = xy Cartesian component as a mutable value.

Definition at line 209 of file SymmetricDyad.hpp.

References PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_.

◆ Mutable_yy()

template<typename NumericType = double>
constexpr NumericType& PhQ::SymmetricDyad< NumericType >::Mutable_yy ( )
inlineconstexprnoexcept

Returns this three-dimensional symmetric dyadic tensor's yy Cartesian component as a mutable value.

Definition at line 215 of file SymmetricDyad.hpp.

References PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_.

◆ Mutable_yz()

template<typename NumericType = double>
constexpr NumericType& PhQ::SymmetricDyad< NumericType >::Mutable_yz ( )
inlineconstexprnoexcept

Returns this three-dimensional symmetric dyadic tensor's yz = zy Cartesian component as a mutable value.

Definition at line 221 of file SymmetricDyad.hpp.

References PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_.

◆ Mutable_zx()

template<typename NumericType = double>
constexpr NumericType& PhQ::SymmetricDyad< NumericType >::Mutable_zx ( )
inlineconstexprnoexcept

Returns this three-dimensional symmetric dyadic tensor's zx = xz Cartesian component as a mutable value.

Definition at line 227 of file SymmetricDyad.hpp.

References PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_.

◆ Mutable_zy()

template<typename NumericType = double>
constexpr NumericType& PhQ::SymmetricDyad< NumericType >::Mutable_zy ( )
inlineconstexprnoexcept

Returns this three-dimensional symmetric dyadic tensor's zy = yz Cartesian component as a mutable value.

Definition at line 233 of file SymmetricDyad.hpp.

References PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_.

◆ Mutable_zz()

template<typename NumericType = double>
constexpr NumericType& PhQ::SymmetricDyad< NumericType >::Mutable_zz ( )
inlineconstexprnoexcept

Returns this three-dimensional symmetric dyadic tensor's zz Cartesian component as a mutable value.

Definition at line 239 of file SymmetricDyad.hpp.

References PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_.

◆ operator*=()

template<typename NumericType = double>
template<typename OtherNumericType >
constexpr void PhQ::SymmetricDyad< NumericType >::operator*= ( const OtherNumericType  number)
inlineconstexprnoexcept

Multiplies this three-dimensional symmetric dyadic tensor by the given number.

Template Parameters
OtherNumericTypeFloating-point numeric type of the given number. Deduced automatically.

Definition at line 413 of file SymmetricDyad.hpp.

References PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_.

◆ operator+=()

template<typename NumericType = double>
constexpr void PhQ::SymmetricDyad< NumericType >::operator+= ( const SymmetricDyad< NumericType > &  other)
inlineconstexprnoexcept

Adds another three-dimensional symmetric dyadic tensor to this one.

Definition at line 390 of file SymmetricDyad.hpp.

References PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_.

◆ operator-=()

template<typename NumericType = double>
constexpr void PhQ::SymmetricDyad< NumericType >::operator-= ( const SymmetricDyad< NumericType > &  other)
inlineconstexprnoexcept

Subtracts another three-dimensional symmetric dyadic tensor from this one.

Definition at line 400 of file SymmetricDyad.hpp.

References PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_.

◆ operator/=()

template<typename NumericType = double>
template<typename OtherNumericType >
constexpr void PhQ::SymmetricDyad< NumericType >::operator/= ( const OtherNumericType  number)
inlineconstexprnoexcept

Divides this three-dimensional symmetric dyadic tensor by the given number.

Template Parameters
OtherNumericTypeFloating-point numeric type of the given number. Deduced automatically.

Definition at line 426 of file SymmetricDyad.hpp.

References PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_.

◆ operator=() [1/4]

template<typename NumericType = double>
constexpr SymmetricDyad<NumericType>& PhQ::SymmetricDyad< NumericType >::operator= ( const std::array< NumericType, 6 > &  xx_xy_xz_yy_yz_zz)
inlineconstexpr

Assignment operator. Assigns this three-dimensional symmetric dyadic tensor by copying a given array representing its xx, xy, xz, yy, yz, and zz Cartesian components.

Definition at line 116 of file SymmetricDyad.hpp.

References PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz(), and PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_.

◆ operator=() [2/4]

template<typename NumericType = double>
constexpr SymmetricDyad<NumericType>& PhQ::SymmetricDyad< NumericType >::operator= ( const SymmetricDyad< NumericType > &  other)
constexprdefault

Copy assignment operator. Assigns this three-dimensional symmetric dyadic tensor by copying another one.

◆ operator=() [3/4]

template<typename NumericType = double>
template<typename OtherNumericType >
constexpr SymmetricDyad<NumericType>& PhQ::SymmetricDyad< NumericType >::operator= ( const SymmetricDyad< OtherNumericType > &  other)
inlineconstexpr

◆ operator=() [4/4]

template<typename NumericType = double>
constexpr SymmetricDyad<NumericType>& PhQ::SymmetricDyad< NumericType >::operator= ( SymmetricDyad< NumericType > &&  other)
constexprdefaultnoexcept

Move assignment operator. Assigns this three-dimensional symmetric dyadic tensor by moving another one.

◆ Print()

template<typename NumericType = double>
std::string PhQ::SymmetricDyad< NumericType >::Print ( ) const
inline

Prints this three-dimensional symmetric dyadic tensor as a string.

Definition at line 357 of file SymmetricDyad.hpp.

References PhQ::Print(), and PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_.

Referenced by PhQ::operator<<().

◆ Set_xx()

template<typename NumericType = double>
constexpr void PhQ::SymmetricDyad< NumericType >::Set_xx ( const NumericType  xx)
inlineconstexprnoexcept

Sets this three-dimensional symmetric dyadic tensor's xx Cartesian component to a given value.

Definition at line 265 of file SymmetricDyad.hpp.

References PhQ::SymmetricDyad< NumericType >::xx(), and PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_.

◆ Set_xx_xy_xz_yy_yz_zz() [1/2]

template<typename NumericType = double>
constexpr void PhQ::SymmetricDyad< NumericType >::Set_xx_xy_xz_yy_yz_zz ( const NumericType  xx,
const NumericType  xy,
const NumericType  xz,
const NumericType  yy,
const NumericType  yz,
const NumericType  zz 
)
inlineconstexprnoexcept

◆ Set_xx_xy_xz_yy_yz_zz() [2/2]

template<typename NumericType = double>
constexpr void PhQ::SymmetricDyad< NumericType >::Set_xx_xy_xz_yy_yz_zz ( const std::array< NumericType, 6 > &  xx_xy_xz_yy_yz_zz)
inlineconstexprnoexcept

Sets this three-dimensional symmetric dyadic tensor's xx, xy, xz, yy, yz, and zz Cartesian components to the given values.

Definition at line 245 of file SymmetricDyad.hpp.

References PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz(), and PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_.

◆ Set_xy()

template<typename NumericType = double>
constexpr void PhQ::SymmetricDyad< NumericType >::Set_xy ( const NumericType  xy)
inlineconstexprnoexcept

Sets this three-dimensional symmetric dyadic tensor's xy = yx Cartesian component to a given value.

Definition at line 271 of file SymmetricDyad.hpp.

References PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_, and PhQ::SymmetricDyad< NumericType >::xy().

◆ Set_xz()

template<typename NumericType = double>
constexpr void PhQ::SymmetricDyad< NumericType >::Set_xz ( const NumericType  xz)
inlineconstexprnoexcept

Sets this three-dimensional symmetric dyadic tensor's xz = zx Cartesian component to a given value.

Definition at line 277 of file SymmetricDyad.hpp.

References PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_, and PhQ::SymmetricDyad< NumericType >::xz().

◆ Set_yx()

template<typename NumericType = double>
constexpr void PhQ::SymmetricDyad< NumericType >::Set_yx ( const NumericType  yx)
inlineconstexprnoexcept

Sets this three-dimensional symmetric dyadic tensor's yx = xy Cartesian component to a given value.

Definition at line 283 of file SymmetricDyad.hpp.

References PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_, and PhQ::SymmetricDyad< NumericType >::yx().

◆ Set_yy()

template<typename NumericType = double>
constexpr void PhQ::SymmetricDyad< NumericType >::Set_yy ( const NumericType  yy)
inlineconstexprnoexcept

Sets this three-dimensional symmetric dyadic tensor's yy Cartesian component to a given value.

Definition at line 289 of file SymmetricDyad.hpp.

References PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_, and PhQ::SymmetricDyad< NumericType >::yy().

◆ Set_yz()

template<typename NumericType = double>
constexpr void PhQ::SymmetricDyad< NumericType >::Set_yz ( const NumericType  yz)
inlineconstexprnoexcept

Sets this three-dimensional symmetric dyadic tensor's yz = zy Cartesian component to a given value.

Definition at line 295 of file SymmetricDyad.hpp.

References PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_, and PhQ::SymmetricDyad< NumericType >::yz().

◆ Set_zx()

template<typename NumericType = double>
constexpr void PhQ::SymmetricDyad< NumericType >::Set_zx ( const NumericType  zx)
inlineconstexprnoexcept

Sets this three-dimensional symmetric dyadic tensor's zx = xz Cartesian component to a given value.

Definition at line 301 of file SymmetricDyad.hpp.

References PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_, and PhQ::SymmetricDyad< NumericType >::zx().

◆ Set_zy()

template<typename NumericType = double>
constexpr void PhQ::SymmetricDyad< NumericType >::Set_zy ( const NumericType  zy)
inlineconstexprnoexcept

Sets this three-dimensional symmetric dyadic tensor's zy = yz Cartesian component to a given value.

Definition at line 307 of file SymmetricDyad.hpp.

References PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_, and PhQ::SymmetricDyad< NumericType >::zy().

◆ Set_zz()

template<typename NumericType = double>
constexpr void PhQ::SymmetricDyad< NumericType >::Set_zz ( const NumericType  zz)
inlineconstexprnoexcept

Sets this three-dimensional symmetric dyadic tensor's zz Cartesian component to a given value.

Definition at line 313 of file SymmetricDyad.hpp.

References PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_, and PhQ::SymmetricDyad< NumericType >::zz().

◆ Trace()

template<typename NumericType = double>
constexpr NumericType PhQ::SymmetricDyad< NumericType >::Trace ( ) const
inlineconstexprnoexcept

◆ Transpose()

template<typename NumericType = double>
constexpr const SymmetricDyad<NumericType>& PhQ::SymmetricDyad< NumericType >::Transpose ( ) const
inlineconstexprnoexcept

Returns the transpose of this three-dimensional symmetric dyadic tensor.

Definition at line 329 of file SymmetricDyad.hpp.

◆ XML()

template<typename NumericType = double>
std::string PhQ::SymmetricDyad< NumericType >::XML ( ) const
inline

Serializes this three-dimensional symmetric dyadic tensor as an XML message.

Definition at line 373 of file SymmetricDyad.hpp.

References PhQ::Print(), and PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_.

◆ xx()

template<typename NumericType = double>
constexpr NumericType PhQ::SymmetricDyad< NumericType >::xx ( ) const
inlineconstexprnoexcept

◆ xx_xy_xz_yy_yz_zz()

template<typename NumericType = double>
constexpr const std::array<NumericType, 6>& PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz ( ) const
inlineconstexprnoexcept

Returns this three-dimensional symmetric dyadic tensor's xx, xy, xz, yy, yz, and zz Cartesian components as an array.

Definition at line 134 of file SymmetricDyad.hpp.

References PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_.

Referenced by PhQ::Convert(), PhQ::ConvertStatically(), PhQ::SymmetricDyad< NumericType >::operator=(), and PhQ::SymmetricDyad< NumericType >::Set_xx_xy_xz_yy_yz_zz().

◆ xy()

template<typename NumericType = double>
constexpr NumericType PhQ::SymmetricDyad< NumericType >::xy ( ) const
inlineconstexprnoexcept

◆ xz()

template<typename NumericType = double>
constexpr NumericType PhQ::SymmetricDyad< NumericType >::xz ( ) const
inlineconstexprnoexcept

◆ YAML()

template<typename NumericType = double>
std::string PhQ::SymmetricDyad< NumericType >::YAML ( ) const
inline

Serializes this three-dimensional symmetric dyadic tensor as a YAML message.

Definition at line 382 of file SymmetricDyad.hpp.

References PhQ::Print(), and PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_.

◆ yx()

template<typename NumericType = double>
constexpr NumericType PhQ::SymmetricDyad< NumericType >::yx ( ) const
inlineconstexprnoexcept

◆ yy()

template<typename NumericType = double>
constexpr NumericType PhQ::SymmetricDyad< NumericType >::yy ( ) const
inlineconstexprnoexcept

◆ yz()

template<typename NumericType = double>
constexpr NumericType PhQ::SymmetricDyad< NumericType >::yz ( ) const
inlineconstexprnoexcept

◆ Zero()

template<typename NumericType = double>
static constexpr SymmetricDyad<NumericType> PhQ::SymmetricDyad< NumericType >::Zero ( )
inlinestaticconstexpr

Statically creates a three-dimensional symmetric dyadic tensor with its xx, xy, xz, yy, yz, and zz Cartesian components initialized to zero.

Definition at line 124 of file SymmetricDyad.hpp.

Referenced by PhQ::Strain< NumericType >::Zero(), PhQ::StrainRate< NumericType >::Zero(), PhQ::Stress< NumericType >::Zero(), and PhQ::ThermalConductivity< NumericType >::Zero().

◆ zx()

template<typename NumericType = double>
constexpr NumericType PhQ::SymmetricDyad< NumericType >::zx ( ) const
inlineconstexprnoexcept

◆ zy()

template<typename NumericType = double>
constexpr NumericType PhQ::SymmetricDyad< NumericType >::zy ( ) const
inlineconstexprnoexcept

◆ zz()

template<typename NumericType = double>
constexpr NumericType PhQ::SymmetricDyad< NumericType >::zz ( ) const
inlineconstexprnoexcept

Member Data Documentation

◆ xx_xy_xz_yy_yz_zz_

template<typename NumericType = double>
std::array<NumericType, 6> PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz_
private

Cartesian components of this three-dimensional symmetric dyadic tensor.

Definition at line 437 of file SymmetricDyad.hpp.

Referenced by PhQ::SymmetricDyad< NumericType >::JSON(), PhQ::SymmetricDyad< NumericType >::Mutable_xx(), PhQ::SymmetricDyad< NumericType >::Mutable_xx_xy_xz_yy_yz_zz(), PhQ::SymmetricDyad< NumericType >::Mutable_xy(), PhQ::SymmetricDyad< NumericType >::Mutable_xz(), PhQ::SymmetricDyad< NumericType >::Mutable_yx(), PhQ::SymmetricDyad< NumericType >::Mutable_yy(), PhQ::SymmetricDyad< NumericType >::Mutable_yz(), PhQ::SymmetricDyad< NumericType >::Mutable_zx(), PhQ::SymmetricDyad< NumericType >::Mutable_zy(), PhQ::SymmetricDyad< NumericType >::Mutable_zz(), PhQ::SymmetricDyad< NumericType >::operator*=(), PhQ::SymmetricDyad< NumericType >::operator+=(), PhQ::SymmetricDyad< NumericType >::operator-=(), PhQ::SymmetricDyad< NumericType >::operator/=(), PhQ::SymmetricDyad< NumericType >::operator=(), PhQ::SymmetricDyad< NumericType >::Print(), PhQ::SymmetricDyad< NumericType >::Set_xx(), PhQ::SymmetricDyad< NumericType >::Set_xx_xy_xz_yy_yz_zz(), PhQ::SymmetricDyad< NumericType >::Set_xy(), PhQ::SymmetricDyad< NumericType >::Set_xz(), PhQ::SymmetricDyad< NumericType >::Set_yx(), PhQ::SymmetricDyad< NumericType >::Set_yy(), PhQ::SymmetricDyad< NumericType >::Set_yz(), PhQ::SymmetricDyad< NumericType >::Set_zx(), PhQ::SymmetricDyad< NumericType >::Set_zy(), PhQ::SymmetricDyad< NumericType >::Set_zz(), PhQ::SymmetricDyad< NumericType >::XML(), PhQ::SymmetricDyad< NumericType >::xx(), PhQ::SymmetricDyad< NumericType >::xx_xy_xz_yy_yz_zz(), PhQ::SymmetricDyad< NumericType >::xy(), PhQ::SymmetricDyad< NumericType >::xz(), PhQ::SymmetricDyad< NumericType >::YAML(), PhQ::SymmetricDyad< NumericType >::yx(), PhQ::SymmetricDyad< NumericType >::yy(), PhQ::SymmetricDyad< NumericType >::yz(), PhQ::SymmetricDyad< NumericType >::zx(), PhQ::SymmetricDyad< NumericType >::zy(), and PhQ::SymmetricDyad< NumericType >::zz().


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