FEDEM Solver
R8.0
Source code of the dynamics solver
|
#include <FFaTensor3.H>
Public Member Functions | |
FFaTensor3 () | |
FFaTensor3 (double d) | |
FFaTensor3 (const float *t) | |
FFaTensor3 (const double *t) | |
FFaTensor3 (const FFaTensor3 &t) | |
FFaTensor3 (const FFaTensor2 &t) | |
FFaTensor3 (const FFaTensor1 &t) | |
FFaTensor3 (const FaVec3 &v) | |
FFaTensor3 (double t11, double t22, double t33, double t12=0.0, double t13=0.0, double t23=0.0) | |
FFaTensor3 (const FaVec3 &v1, const FaVec3 &v2, const FaVec3 &v3) | |
FFaTensor3 & | operator= (const FFaTensor3 &t) |
FFaTensor3 & | operator= (const FFaTensor1 &t) |
FFaTensor3 & | operator= (const FFaTensor2 &t) |
FFaTensor3 & | operator+= (const FFaTensor3 &t) |
FFaTensor3 & | operator-= (const FFaTensor3 &t) |
FFaTensor3 & | operator*= (double d) |
FFaTensor3 & | operator/= (double d) |
const double * | getPt () const |
double * | getPt () |
const double & | operator[] (int i) const |
double & | operator[] (int i) |
FFaTensor3 & | rotate (const FaMat33 &rotMx) |
FFaTensor3 & | rotate (const FaMat34 &rotMx) |
FFaTensor3 & | makeInertia (const FaVec3 &v1, const FaVec3 &v2, const FaVec3 &v3) |
FFaTensor3 & | translateInertia (const FaVec3 &x, double mass) |
double | vonMises () const |
double | maxShear () const |
void | maxShear (FaVec3 &v) const |
double | maxPrinsipal (bool absMax=false) const |
double | middlePrinsipal () const |
double | minPrinsipal () const |
void | prinsipalValues (double &max, double &middle, double &min) const |
void | prinsipalValues (FaVec3 &values, FaMat33 &rotation) const |
Private Attributes | |
double | myT [6] |
Friends | |
FFaTensor3 | operator- (const FFaTensor3 &) |
FFaTensor3 | operator+ (const FFaTensor3 &, const FFaTensor3 &) |
FFaTensor3 | operator- (const FFaTensor3 &, const FFaTensor3 &) |
FFaTensor3 | operator* (const FFaTensor3 &, double) |
FFaTensor3 | operator* (double, const FFaTensor3 &) |
FFaTensor3 | operator/ (const FFaTensor3 &, double) |
bool | operator== (const FFaTensor3 &, const FFaTensor3 &) |
bool | operator!= (const FFaTensor3 &, const FFaTensor3 &) |
FFaTensor3 | operator* (const FFaTensor3 &, const FaMat33 &) |
FFaTensor3 | operator* (const FFaTensor3 &, const FaMat34 &) |
FFaTensor3 | operator* (const FaMat33 &, const FFaTensor3 &) |
FFaTensor3 | operator* (const FaMat34 &, const FFaTensor3 &) |
std::ostream & | operator<< (std::ostream &, const FFaTensor3 &) |
std::istream & | operator>> (std::istream &, FFaTensor3 &) |
Class to represent a 3D symmetrical tensor. Tensor layout: T = {t11, t22, t33, t12, t13, t23}
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
FFaTensor3::FFaTensor3 | ( | const FFaTensor2 & | t | ) |
FFaTensor3::FFaTensor3 | ( | const FFaTensor1 & | t | ) |
FFaTensor3::FFaTensor3 | ( | const FaVec3 & | v | ) |
|
inline |
|
inline |
|
inline |
FFaTensor3 & FFaTensor3::makeInertia | ( | const FaVec3 & | v1, |
const FaVec3 & | v2, | ||
const FaVec3 & | v3 | ||
) |
Create the inertia tensor of a tetrahedron spanned by the origin (0,0,0) and the given three points v1, v2 and v3.
double FFaTensor3::maxPrinsipal | ( | bool | absMax = false | ) | const |
Get the (absolute) max principal of the tensor. If it can't be found, HUGE_VAL will be returned.
double FFaTensor3::maxShear | ( | ) | const |
Get the max shear value of the tensor. If it can't be found, HUGE_VAL will be returned.
void FFaTensor3::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.
double FFaTensor3::middlePrinsipal | ( | ) | const |
Get the middle principal of the tensor. If it can't be found, HUGE_VAL will be returned.
double FFaTensor3::minPrinsipal | ( | ) | const |
Get the min principal of the tensor. If it can't be found, HUGE_VAL will be returned.
|
inline |
|
inline |
|
inline |
|
inline |
FFaTensor3 & FFaTensor3::operator= | ( | const FFaTensor1 & | t | ) |
FFaTensor3 & FFaTensor3::operator= | ( | const FFaTensor2 & | t | ) |
FFaTensor3 & FFaTensor3::operator= | ( | const FFaTensor3 & | t | ) |
|
inline |
|
inline |
void FFaTensor3::prinsipalValues | ( | double & | max, |
double & | middle, | ||
double & | min | ||
) | const |
Get the principal values of the tensor. If they can't be found, HUGE_VAL will be returned.
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.
FFaTensor3 & FFaTensor3::rotate | ( | const FaMat33 & | rotMx | ) |
Rotate the tensor to the given CS.
FFaTensor3 & FFaTensor3::rotate | ( | const FaMat34 & | rotMx | ) |
FFaTensor3 & FFaTensor3::translateInertia | ( | const FaVec3 & | x, |
double | mass | ||
) |
Translate an inertia tensor according to the parallel-axis theorem.
double FFaTensor3::vonMises | ( | ) | const |
Get the von Mises value of the tensor.
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
Global operators.
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
private |