OOFEM 3.0
Loading...
Searching...
No Matches
oofem::Tensor2_3d Class Reference

#include <tensor2.h>

Inheritance diagram for oofem::Tensor2_3d:
Collaboration diagram for oofem::Tensor2_3d:

Public Member Functions

 Tensor2_3d ()
 Tensor2_3d (const oofem::FloatArrayF< 9 > &array)
const FloatArrayF< 9 > to_voigt_form ()
Tensor2_3d computeTensorPower (double pow, int nf=10)
std::pair< FloatArrayF< 3 >, FloatMatrixF< 3, 3 > > eigs (int nf=15) const
Tensor4_3d compute_dCm_dC (double m, int nf=10)
Tensor2_3d compute_cofactor () const
double compute_determinant () const
std::pair< double, Tensor2_3dcompute_determinant_and_cofactor () const
Tensor2_3d compute_inverse () const
Tensor2_3d compute_tensor_cross_product (const Tensor2_3d &B) const
Tensor4_3d compute_tensor_cross_product () const

Static Public Member Functions

static Tensor2_3d computeTensorPowerFromEigs (const FloatArray &eVals, const FloatMatrix &eVecs, double m)
static Tensor2_3d computeTensorPowerFromEigs (const FloatArray &eVals, const FloatMatrix &eVecs, double m, const FloatArray &coeff)
static Tensor4_3d compute_dCm_dC_fromEigs (double m, const FloatArray &lam, const FloatMatrix &N)
static const Tensor2_3d UnitTensor ()

Detailed Description

Definition at line 57 of file tensor2.h.

Constructor & Destructor Documentation

◆ Tensor2_3d() [1/2]

oofem::Tensor2_3d::Tensor2_3d ( )
inline

◆ Tensor2_3d() [2/2]

oofem::Tensor2_3d::Tensor2_3d ( const oofem::FloatArrayF< 9 > & array)
inline

Creates a second-order order tensor in 3d from floatarrayf<9>

Definition at line 83 of file tensor2.h.

References oofem::FloatArrayF< N >::at().

Member Function Documentation

◆ compute_cofactor()

Tensor2_3d oofem::Tensor2_3d::compute_cofactor ( ) const
inline

Computes cofactor

Returns
Second-order cofactor tensor

Definition at line 433 of file tensor2.h.

References compute_tensor_cross_product(), i_3, j_3, and Tensor2_3d().

Referenced by oofem::BaseHyperElasticMaterial::compute_dJ_dF().

◆ compute_dCm_dC()

Tensor4_3d oofem::Tensor2_3d::compute_dCm_dC ( double m,
int nf = 10 )
inline

Calculated derivative of C^m wrt C

Parameters
m- power
nf- number of significant figures
Returns
Second-order tensor dC^m_dC

Definition at line 287 of file tensor2.h.

References compute_dCm_dC_fromEigs(), and eigs().

◆ compute_dCm_dC_fromEigs()

Tensor4_3d oofem::Tensor2_3d::compute_dCm_dC_fromEigs ( double m,
const FloatArray & lam,
const FloatMatrix & N )
inlinestatic

Calculated derivative of C^m wrt C from given eigenvalues, eigenvectors and power m

Parameters
m- power
nf- number of significant figures
Returns
Second-order tensor dC^m_dC

Definition at line 300 of file tensor2.h.

References oofem::FloatArray::at(), oofem::FloatMatrix::at(), and N.

Referenced by compute_dCm_dC(), and oofem::OgdenCompressibleMaterial::give3dMaterialStiffnessMatrix_dPdF().

◆ compute_determinant()

◆ compute_determinant_and_cofactor()

◆ compute_inverse()

Tensor2_3d oofem::Tensor2_3d::compute_inverse ( ) const
inline

◆ compute_tensor_cross_product() [1/2]

Tensor4_3d oofem::Tensor2_3d::compute_tensor_cross_product ( ) const
inline

Computes fourth-order tensor cross product

Returns
tensor cross product, eps_{ikm}eps_{jln}this_{mn}

Definition at line 489 of file tensor2.h.

Referenced by compute_cofactor(), compute_determinant(), and compute_determinant_and_cofactor().

◆ compute_tensor_cross_product() [2/2]

Tensor2_3d oofem::Tensor2_3d::compute_tensor_cross_product ( const Tensor2_3d & B) const
inline

Computes second-order tensor cross product

Parameters
tensorto calculate tensor cross product with
Returns
tensor cross product, eps_{ikm}eps_{jln}this_{kl}B_{mn}

Definition at line 478 of file tensor2.h.

References Tensor2_3d().

Referenced by oofem::BaseHyperElasticMaterial::compute_d2I3_C_dF2(), oofem::BaseHyperElasticMaterial::compute_d2J_dF2(), oofem::BaseHyperElasticMaterial::compute_d2VolumetricEnergy_dF2(), and oofem::SimoPisterMaterial::give3dMaterialStiffnessMatrix_dPdF().

◆ computeTensorPower()

Tensor2_3d oofem::Tensor2_3d::computeTensorPower ( double pow,
int nf = 10 )
inline

Computes power of a second order tensor

Parameters
powpower
nftolerance for eigenvalue calculation
Returns
Power of a Second-order tensor

Definition at line 121 of file tensor2.h.

References computeTensorPowerFromEigs(), eigs(), and Tensor2_3d().

◆ computeTensorPowerFromEigs() [1/2]

Tensor2_3d oofem::Tensor2_3d::computeTensorPowerFromEigs ( const FloatArray & eVals,
const FloatMatrix & eVecs,
double m )
inlinestatic

Computes power of a second order tensor from eigenvalues and eigenvectors

Parameters
eValseigen values
eVecseigenvectors
mpower
Returns
Power of a Second-order tensor

Definition at line 135 of file tensor2.h.

References oofem::FloatArray::at(), and Tensor2_3d().

Referenced by computeTensorPower(), oofem::OgdenCompressibleMaterial::give3dMaterialStiffnessMatrix_dPdF(), and oofem::OgdenCompressibleMaterial::giveDeviatoricSecondPKStressVector_3d().

◆ computeTensorPowerFromEigs() [2/2]

Tensor2_3d oofem::Tensor2_3d::computeTensorPowerFromEigs ( const FloatArray & eVals,
const FloatMatrix & eVecs,
double m,
const FloatArray & coeff )
inlinestatic

Computes power of a second order tensor from eigenvalues and eigenvectors and given coeffcinets for each eigenvalue

Parameters
eValseigen values
eVecseigenvectors
mpower
coeffcoefficients
Returns
Power of a Second-order tensor

Definition at line 154 of file tensor2.h.

References oofem::FloatArray::at(), oofem::FloatMatrix::at(), and Tensor2_3d().

◆ eigs()

std::pair< FloatArrayF< 3 >, FloatMatrixF< 3, 3 > > oofem::Tensor2_3d::eigs ( int nf = 15) const
inline

Solves the eigenvalues and eigenvectors of symmetric second-order tensor adapted from FloatMatrix function jacobi_

Parameters
nf- number of significant figures
Returns
pair of eigenvalues and eigenvectors

Definition at line 174 of file tensor2.h.

References oofem::FloatArrayF< N >::at(), oofem::FloatMatrixF< N, M >::at(), OOFEM_ERROR, oofem::sum(), and Tensor2_3d().

Referenced by compute_dCm_dC(), computeTensorPower(), oofem::OgdenCompressibleMaterial::give3dMaterialStiffnessMatrix_dPdF(), and oofem::OgdenCompressibleMaterial::giveDeviatoricSecondPKStressVector_3d().

◆ to_voigt_form()

const FloatArrayF< 9 > oofem::Tensor2_3d::to_voigt_form ( )
inline

◆ UnitTensor()

const Tensor2_3d oofem::Tensor2_3d::UnitTensor ( )
inlinestatic

Creates second-order unit tensor

Returns
Second-order unit tensor

Definition at line 423 of file tensor2.h.

References Tensor2_3d().

Referenced by oofem::OgdenCompressibleMaterial::give3dMaterialStiffnessMatrix_dPdF().


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

This page is part of the OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak Bořek Patzák
Project e-mail: oofem@fsv.cvut.cz
Generated at for OOFEM by doxygen 1.15.0 written by Dimitri van Heesch, © 1997-2011