FEDEM Solver  R8.0
Source code of the dynamics solver
Public Member Functions | Private Attributes | Friends | List of all members
FFaTensor2 Class Reference

#include <FFaTensor2.H>

Public Member Functions

 FFaTensor2 ()
 
 FFaTensor2 (double d)
 
 FFaTensor2 (const float *t)
 
 FFaTensor2 (const double *t)
 
 FFaTensor2 (const FFaTensor2 &t)
 
 FFaTensor2 (const FFaTensor1 &t)
 
 FFaTensor2 (const FFaTensor3 &t)
 
 FFaTensor2 (double t11, double t22, double t12=0.0)
 
FFaTensor2operator= (const FFaTensor1 &t)
 
FFaTensor2operator= (const FFaTensor2 &t)
 
FFaTensor2operator= (const FFaTensor3 &t)
 
FFaTensor2operator+= (const FFaTensor2 &t)
 
FFaTensor2operator-= (const FFaTensor2 &t)
 
FFaTensor2operator*= (double d)
 
FFaTensor2operator/= (double d)
 
const double * getPt () const
 
double * getPt ()
 
const double & operator[] (int i) const
 
double & operator[] (int i)
 
FFaTensor2rotate (const double ex[2], const double ey[2])
 
double vonMises () const
 
double maxShear () const
 
void maxShear (FaVec3 &v) const
 
double maxPrinsipal (bool absMax=false) const
 
double minPrinsipal () const
 
void prinsipalValues (double &max, double &min) const
 
void prinsipalValues (FaVec3 &values, FaMat33 &rotation) const
 

Private Attributes

double myT [3]
 

Friends

FFaTensor2 operator- (const FFaTensor2 &)
 
FFaTensor2 operator+ (const FFaTensor2 &, const FFaTensor2 &)
 
FFaTensor2 operator- (const FFaTensor2 &, const FFaTensor2 &)
 
FFaTensor2 operator* (const FFaTensor2 &, double)
 
FFaTensor2 operator* (double, const FFaTensor2 &)
 
FFaTensor2 operator/ (const FFaTensor2 &, double)
 
bool operator== (const FFaTensor2 &, const FFaTensor2 &)
 
bool operator!= (const FFaTensor2 &, const FFaTensor2 &)
 
FFaTensor3 operator* (const FFaTensor2 &, const FaMat33 &)
 
FFaTensor3 operator* (const FFaTensor2 &, const FaMat34 &)
 
FFaTensor3 operator* (const FaMat33 &, const FFaTensor2 &)
 
FFaTensor3 operator* (const FaMat34 &, const FFaTensor2 &)
 
std::ostream & operator<< (std::ostream &s, const FFaTensor2 &b)
 
std::istream & operator>> (std::istream &s, FFaTensor2 &b)
 

Detailed Description

Class to represent a 2D symmetrical tensor. Tensor layout: T = {t11, t22, t12}

Constructor & Destructor Documentation

◆ FFaTensor2() [1/8]

FFaTensor2::FFaTensor2 ( )
inline

◆ FFaTensor2() [2/8]

FFaTensor2::FFaTensor2 ( double  d)
inline

◆ FFaTensor2() [3/8]

FFaTensor2::FFaTensor2 ( const float *  t)
inline

◆ FFaTensor2() [4/8]

FFaTensor2::FFaTensor2 ( const double *  t)
inline

◆ FFaTensor2() [5/8]

FFaTensor2::FFaTensor2 ( const FFaTensor2 t)
inline

◆ FFaTensor2() [6/8]

FFaTensor2::FFaTensor2 ( const FFaTensor1 t)

◆ FFaTensor2() [7/8]

FFaTensor2::FFaTensor2 ( const FFaTensor3 t)

◆ FFaTensor2() [8/8]

FFaTensor2::FFaTensor2 ( double  t11,
double  t22,
double  t12 = 0.0 
)
inline

Member Function Documentation

◆ getPt() [1/2]

double* FFaTensor2::getPt ( )
inline

◆ getPt() [2/2]

const double* FFaTensor2::getPt ( ) const
inline

◆ maxPrinsipal()

double FFaTensor2::maxPrinsipal ( bool  absMax = false) const

Get the (absolute) max principal of the tensor. If it can't be found, HUGE_VAL will be returned.

◆ maxShear() [1/2]

double FFaTensor2::maxShear ( ) const

Get the max shear value of the tensor. If it can't be found, HUGE_VAL will be returned.

◆ maxShear() [2/2]

void FFaTensor2::maxShear ( FaVec3 v) const

Get the max shear of the tensor as a directed vector. If it can't be found, a 0-vector will be returned.

◆ minPrinsipal()

double FFaTensor2::minPrinsipal ( ) const

Get the min principal of the tensor. If it can't be found, HUGE_VAL will be returned.

◆ operator*=()

FFaTensor2& FFaTensor2::operator*= ( double  d)
inline

◆ operator+=()

FFaTensor2& FFaTensor2::operator+= ( const FFaTensor2 t)
inline

◆ operator-=()

FFaTensor2& FFaTensor2::operator-= ( const FFaTensor2 t)
inline

◆ operator/=()

FFaTensor2& FFaTensor2::operator/= ( double  d)
inline

◆ operator=() [1/3]

FFaTensor2 & FFaTensor2::operator= ( const FFaTensor1 t)

◆ operator=() [2/3]

FFaTensor2 & FFaTensor2::operator= ( const FFaTensor2 t)

◆ operator=() [3/3]

FFaTensor2 & FFaTensor2::operator= ( const FFaTensor3 t)

◆ operator[]() [1/2]

double & FFaTensor2::operator[] ( int  i)
inline

◆ operator[]() [2/2]

const double & FFaTensor2::operator[] ( int  i) const
inline

◆ prinsipalValues() [1/2]

void FFaTensor2::prinsipalValues ( double &  max,
double &  min 
) const

Get the principal values of the tensor. If they can't be found, HUGE_VAL will be returned.

◆ prinsipalValues() [2/2]

void FFaTensor2::prinsipalValues ( FaVec3 values,
FaMat33 rotation 
) const

Get a valid rotation matrix corresponding to the principal axes of the tensor. The associated principal values are also found in the corresponding order. If the matrix can't be found, the identity will be returned, along with a vector of HUGE_VAL.

◆ rotate()

FFaTensor2 & FFaTensor2::rotate ( const double  ex[2],
const double  ey[2] 
)

Rotate the tensor to the given CS.

◆ vonMises()

double FFaTensor2::vonMises ( ) const

Get the von Mises value of the tensor.

Friends And Related Function Documentation

◆ operator!=

bool operator!= ( const FFaTensor2 a,
const FFaTensor2 b 
)
friend

◆ operator* [1/6]

FFaTensor3 operator* ( const FaMat33 m,
const FFaTensor2 a 
)
friend

◆ operator* [2/6]

FFaTensor3 operator* ( const FaMat34 m,
const FFaTensor2 a 
)
friend

◆ operator* [3/6]

FFaTensor3 operator* ( const FFaTensor2 a,
const FaMat33 m 
)
friend

◆ operator* [4/6]

FFaTensor3 operator* ( const FFaTensor2 a,
const FaMat34 m 
)
friend

◆ operator* [5/6]

FFaTensor2 operator* ( const FFaTensor2 a,
double  d 
)
friend

◆ operator* [6/6]

FFaTensor2 operator* ( double  d,
const FFaTensor2 a 
)
friend

◆ operator+

FFaTensor2 operator+ ( const FFaTensor2 a,
const FFaTensor2 b 
)
friend

◆ operator- [1/2]

FFaTensor2 operator- ( const FFaTensor2 t)
friend

Global operators.

◆ operator- [2/2]

FFaTensor2 operator- ( const FFaTensor2 a,
const FFaTensor2 b 
)
friend

◆ operator/

FFaTensor2 operator/ ( const FFaTensor2 a,
double  d 
)
friend

◆ operator<<

std::ostream& operator<< ( std::ostream &  s,
const FFaTensor2 b 
)
friend

◆ operator==

bool operator== ( const FFaTensor2 a,
const FFaTensor2 b 
)
friend

◆ operator>>

std::istream& operator>> ( std::istream &  s,
FFaTensor2 b 
)
friend

Member Data Documentation

◆ myT

double FFaTensor2::myT[3]
private

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