1.6.0
CCC
 
Loading...
Searching...
No Matches
Tensor Class Reference

TODO : public ASpaceObject. More...

#include <Tensor.hpp>

Inheritance diagram for Tensor:
AStringable

Detailed Description

TODO : public ASpaceObject.

Public Member Functions

 Tensor (unsigned int ndim=2)
 
 Tensor (const Tensor &r)
 
Tensor & operator= (const Tensor &r)
 
virtual ~Tensor ()
 
virtual String toString (const AStringFormat *strfmt=nullptr) const override
 Interface for AStringable.
 
void init (int ndim)
 
void setTensorDirect2 (const MatrixSquareSymmetric &tensor)
 
void setRadiusIsotropic (double radius)
 
void setRadiusVec (const VectorDouble &radius)
 
void setRadiusDir (unsigned int idim, double radius)
 
void setRotation (const Rotation &rot)
 
void setRotationAngles (const VectorDouble &angles)
 
void setRotationAngle (unsigned int idim, double angle)
 
void setRotationAnglesAndRadius (const VectorDouble &angles=VectorDouble(), const VectorDouble &radius=VectorDouble())
 
const VectorDouble & getAngles () const
 
const MatrixSquareGeneral & getTensorDirect () const
 
const MatrixSquareGeneral & getTensorInverse () const
 
const MatrixSquareSymmetric & getTensorDirect2 () const
 
const VectorDouble & getRadius () const
 
const Rotation & getRotation () const
 
const MatrixSquareGeneral & getMatrixDirect () const
 
const MatrixSquareGeneral & getMatrixInverse () const
 
bool isIsotropic () const
 
bool hasRotation () const
 
double getValue (int idim, int jdim) const
 
VectorDouble applyDirect (const VectorDouble &vec) const
 
VectorDouble applyInverse (const VectorDouble &vec) const
 
void applyInverseInPlace (constvect vec, vect out) const
 
void applyInverseInPlace (const VectorDouble &vec, VectorDouble &out) const
 
void applyInverse2InPlace (const VectorDouble &vec, VectorDouble &out) const
 
void applyDirectInPlace (const VectorDouble &vec, VectorDouble &out) const
 
void applyDirectSwapInPlace (const VectorDouble &vec, VectorDouble &out) const
 
bool isFlagDefinedByInverse2 () const
 
- Public Member Functions inherited from AStringable
 AStringable ()
 
 AStringable (const AStringable &r)
 
AStringable & operator= (const AStringable &r)
 
virtual ~AStringable ()
 
virtual void display (const AStringFormat *strfmt=nullptr) const final
 
virtual void display (int level) const final
 

Constructor & Destructor Documentation

◆ Tensor() [1/2]

Tensor::Tensor ( unsigned int  ndim = 2)

◆ Tensor() [2/2]

Tensor::Tensor ( const Tensor &  r)

◆ ~Tensor()

Tensor::~Tensor ( )
virtual

Member Function Documentation

◆ applyDirect()

VectorDouble Tensor::applyDirect ( const VectorDouble &  vec) const

◆ applyDirectInPlace()

void Tensor::applyDirectInPlace ( const VectorDouble &  vec,
VectorDouble &  out 
) const

◆ applyDirectSwapInPlace()

void Tensor::applyDirectSwapInPlace ( const VectorDouble &  vec,
VectorDouble &  out 
) const

◆ applyInverse()

VectorDouble Tensor::applyInverse ( const VectorDouble &  vec) const

◆ applyInverse2InPlace()

void Tensor::applyInverse2InPlace ( const VectorDouble &  vec,
VectorDouble &  out 
) const

◆ applyInverseInPlace() [1/2]

void Tensor::applyInverseInPlace ( const VectorDouble &  vec,
VectorDouble &  out 
) const

◆ applyInverseInPlace() [2/2]

void Tensor::applyInverseInPlace ( constvect  vec,
vect  out 
) const

◆ getAngles()

const VectorDouble & Tensor::getAngles ( ) const
inline

◆ getMatrixDirect()

const MatrixSquareGeneral & Tensor::getMatrixDirect ( ) const
inline

◆ getMatrixInverse()

const MatrixSquareGeneral & Tensor::getMatrixInverse ( ) const
inline

◆ getRadius()

const VectorDouble & Tensor::getRadius ( ) const
inline

◆ getRotation()

const Rotation & Tensor::getRotation ( ) const
inline

◆ getTensorDirect()

const MatrixSquareGeneral & Tensor::getTensorDirect ( ) const
inline

◆ getTensorDirect2()

const MatrixSquareSymmetric & Tensor::getTensorDirect2 ( ) const
inline

◆ getTensorInverse()

const MatrixSquareGeneral & Tensor::getTensorInverse ( ) const
inline

◆ getValue()

double Tensor::getValue ( int  idim,
int  jdim 
) const
inline

◆ hasRotation()

bool Tensor::hasRotation ( ) const
inline

◆ init()

void Tensor::init ( int  ndim)

◆ isFlagDefinedByInverse2()

bool Tensor::isFlagDefinedByInverse2 ( ) const
inline

◆ isIsotropic()

bool Tensor::isIsotropic ( ) const
inline

◆ operator=()

Tensor & Tensor::operator= ( const Tensor &  r)

◆ setRadiusDir()

void Tensor::setRadiusDir ( unsigned int  idim,
double  radius 
)

◆ setRadiusIsotropic()

void Tensor::setRadiusIsotropic ( double  radius)

◆ setRadiusVec()

void Tensor::setRadiusVec ( const VectorDouble &  radius)

◆ setRotation()

void Tensor::setRotation ( const Rotation &  rot)

◆ setRotationAngle()

void Tensor::setRotationAngle ( unsigned int  idim,
double  angle 
)

◆ setRotationAngles()

void Tensor::setRotationAngles ( const VectorDouble &  angles)

TODO : Rotation angles in 2D

◆ setRotationAnglesAndRadius()

void Tensor::setRotationAnglesAndRadius ( const VectorDouble &  angles = VectorDouble(),
const VectorDouble &  radius = VectorDouble() 
)

This functions defines jointly the rotation anisotropy and ranges. It allows initiating the tensor only once (saves time)

Parameters
anglesVector of rotation angles (optional)
radiusVector of ranges (optional)

◆ setTensorDirect2()

void Tensor::setTensorDirect2 ( const MatrixSquareSymmetric &  tensor)

◆ toString()

String Tensor::toString ( const AStringFormat *  strfmt = nullptr) const
overridevirtual

Interface for AStringable.

Reimplemented from AStringable.


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