Namespaces | Macros | Enumerations | Functions | Variables
MarmotVoigt.h File Reference
#include "Marmot/MarmotJournal.h"
#include "Marmot/MarmotMath.h"
#include "Marmot/MarmotTypedefs.h"
Include dependency graph for MarmotVoigt.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 Marmot
 This file includes functions needed for calculations with stress and strain tensors written in voigt notation.
 
 Marmot::ContinuumMechanics
 
 Marmot::ContinuumMechanics::VoigtNotation
 
 Marmot::ContinuumMechanics::VoigtNotation::Invariants
 
 Marmot::ContinuumMechanics::VoigtNotation::Derivatives
 
 Marmot::ContinuumMechanics::VoigtNotation::Transformations
 

Macros

#define VOIGTFROMDIM(x)   ( ( ( x * x ) + x ) >> 1 )
 

Enumerations

enum  Marmot::ContinuumMechanics::VoigtNotation::VoigtSize { Marmot::ContinuumMechanics::VoigtNotation::OneD = 1, Marmot::ContinuumMechanics::VoigtNotation::TwoD = 3, Marmot::ContinuumMechanics::VoigtNotation::ThreeD = 6, Marmot::ContinuumMechanics::VoigtNotation::Axial = 4 }
 

Functions

constexpr VoigtSize Marmot::ContinuumMechanics::VoigtNotation::voigtSizeFromDimension (int x)
 
Eigen::Vector3d Marmot::ContinuumMechanics::VoigtNotation::voigtToPlaneVoigt (const Marmot::Vector6d &voigt)
 
Marmot::Vector6d Marmot::ContinuumMechanics::VoigtNotation::planeVoigtToVoigt (const Eigen::Vector3d &voigtPlane)
 
template<enum VoigtSize voigtSize>
Eigen::Matrix< double, voigtSize, 1 > Marmot::ContinuumMechanics::VoigtNotation::reduce3DVoigt (const Marmot::Vector6d &Voigt3D)
 
template<enum VoigtSize voigtSize>
Marmot::Vector6d Marmot::ContinuumMechanics::VoigtNotation::make3DVoigt (const Eigen::Matrix< double, voigtSize, 1 > &Voigt)
 
template<typename T >
Eigen::Matrix< T, 3, 3 > Marmot::ContinuumMechanics::VoigtNotation::voigtToStrain (const Eigen::Matrix< T, 6, 1 > &voigt)
 
template<typename T >
Eigen::Matrix< T, 3, 3 > Marmot::ContinuumMechanics::VoigtNotation::voigtToStress (const Eigen::Matrix< T, 6, 1 > &voigt)
 
Marmot::Vector6d Marmot::ContinuumMechanics::VoigtNotation::strainToVoigt (const Eigen::Matrix3d &strainTensor)
 
template<typename T = double>
Eigen::Matrix< T, 6, 1 > Marmot::ContinuumMechanics::VoigtNotation::stressToVoigt (const Eigen::Matrix< T, 3, 3 > &stressTensor)
 
template<int nDim>
Eigen::Matrix< double, nDim, nDim > Marmot::ContinuumMechanics::VoigtNotation::stressMatrixFromVoigt (const Eigen::Matrix< double, VOIGTFROMDIM(nDim), 1 > &Voigt)
 
template<int nDim>
Eigen::Matrix< double, VOIGTFROMDIM(nDim), 1 > Marmot::ContinuumMechanics::VoigtNotation::voigtFromStrainMatrix (const Eigen::Matrix< double, nDim, nDim > &strain)
 
Eigen::Vector3d Marmot::ContinuumMechanics::VoigtNotation::Invariants::principalStrains (const Marmot::Vector6d &strain)
 
Eigen::Vector3d Marmot::ContinuumMechanics::VoigtNotation::Invariants::principalStresses (const Marmot::Vector6d &stress)
 
Eigen::Vector3d Marmot::ContinuumMechanics::VoigtNotation::Invariants::sortedPrincipalStrains (const Marmot::Vector6d &strain)
 
Eigen::Matrix3d Marmot::ContinuumMechanics::VoigtNotation::Invariants::principalStressesDirections (const Marmot::Vector6d &stress)
 
double Marmot::ContinuumMechanics::VoigtNotation::Invariants::vonMisesEquivalentStress (const Marmot::Vector6d &stress)
 
double Marmot::ContinuumMechanics::VoigtNotation::Invariants::vonMisesEquivalentStrain (const Marmot::Vector6d &strain)
 
template<typename T >
Marmot::ContinuumMechanics::VoigtNotation::Invariants::normStrain (const Eigen::Matrix< T, 6, 1 > &strain)
 
double Marmot::ContinuumMechanics::VoigtNotation::Invariants::normStress (const Marmot::Vector6d &stress)
 
double Marmot::ContinuumMechanics::VoigtNotation::Invariants::StrainVolumetricNegative (const Marmot::Vector6d &strain)
 
template<typename T >
Marmot::ContinuumMechanics::VoigtNotation::Invariants::I1 (const Eigen::Matrix< T, 6, 1 > &stress)
 
double Marmot::ContinuumMechanics::VoigtNotation::Invariants::I1Strain (const Marmot::Vector6d &strain)
 
template<typename T >
Marmot::ContinuumMechanics::VoigtNotation::Invariants::I2 (const Eigen::Matrix< T, 6, 1 > &stress)
 
double Marmot::ContinuumMechanics::VoigtNotation::Invariants::I2Strain (const Marmot::Vector6d &strain)
 
template<typename T >
Marmot::ContinuumMechanics::VoigtNotation::Invariants::I3 (const Eigen::Matrix< T, 6, 1 > &stress)
 
double Marmot::ContinuumMechanics::VoigtNotation::Invariants::I3Strain (const Marmot::Vector6d &strain)
 
template<typename T >
Marmot::ContinuumMechanics::VoigtNotation::Invariants::J2 (const Eigen::Matrix< T, 6, 1 > &stress)
 
double Marmot::ContinuumMechanics::VoigtNotation::Invariants::J2Strain (const Marmot::Vector6d &strain)
 
template<typename T >
Marmot::ContinuumMechanics::VoigtNotation::Invariants::J3 (const Eigen::Matrix< T, 6, 1 > &stress)
 
double Marmot::ContinuumMechanics::VoigtNotation::Invariants::J3Strain (const Marmot::Vector6d &strain)
 
std::pair< Eigen::Vector3d, Eigen::Matrix< double, 3, 6 > > Marmot::ContinuumMechanics::VoigtNotation::Invariants::principalValuesAndDerivatives (const Eigen::Matrix< double, 6, 1 > &S)
 
Vector6d Marmot::ContinuumMechanics::VoigtNotation::Derivatives::dStressMean_dStress ()
 
template<typename T >
Eigen::Matrix< T, 6, 1 > Marmot::ContinuumMechanics::VoigtNotation::Derivatives::dRho_dStress (T rho, const Eigen::Matrix< T, 6, 1 > &stress)
 
Marmot::Vector6d Marmot::ContinuumMechanics::VoigtNotation::Derivatives::dTheta_dStress (double theta, const Marmot::Vector6d &stress)
 
double Marmot::ContinuumMechanics::VoigtNotation::Derivatives::dTheta_dJ2 (const Marmot::Vector6d &stress)
 
double Marmot::ContinuumMechanics::VoigtNotation::Derivatives::dTheta_dJ3 (const Marmot::Vector6d &stress)
 
double Marmot::ContinuumMechanics::VoigtNotation::Derivatives::dThetaStrain_dJ2Strain (const Marmot::Vector6d &strain)
 
double Marmot::ContinuumMechanics::VoigtNotation::Derivatives::dThetaStrain_dJ3Strain (const Marmot::Vector6d &strain)
 
Marmot::Vector6d Marmot::ContinuumMechanics::VoigtNotation::Derivatives::dJ2_dStress (const Marmot::Vector6d &stress)
 
Marmot::Vector6d Marmot::ContinuumMechanics::VoigtNotation::Derivatives::dJ3_dStress (const Marmot::Vector6d &stress)
 
Marmot::Vector6d Marmot::ContinuumMechanics::VoigtNotation::Derivatives::dJ2Strain_dStrain (const Marmot::Vector6d &strain)
 
Marmot::Vector6d Marmot::ContinuumMechanics::VoigtNotation::Derivatives::dJ3Strain_dStrain (const Marmot::Vector6d &strain)
 
Marmot::Vector6d Marmot::ContinuumMechanics::VoigtNotation::Derivatives::dThetaStrain_dStrain (const Marmot::Vector6d &strain)
 
Marmot::Matrix36 Marmot::ContinuumMechanics::VoigtNotation::Derivatives::dStressPrincipals_dStress (const Marmot::Vector6d &stress)
 
Eigen::Vector3d Marmot::ContinuumMechanics::VoigtNotation::Derivatives::dStrainVolumetricNegative_dStrainPrincipal (const Marmot::Vector6d &strain)
 
Matrix6d Marmot::ContinuumMechanics::VoigtNotation::Derivatives::dEp_dE (const Matrix6d &CelInv, const Matrix6d &Cep)
 
RowVector6d Marmot::ContinuumMechanics::VoigtNotation::Derivatives::dDeltaEpv_dE (const Matrix6d &CelInv, const Matrix6d &Cep)
 
Marmot::Matrix36 Marmot::ContinuumMechanics::VoigtNotation::Derivatives::dSortedStrainPrincipal_dStrain (const Marmot::Vector6d &dEp)
 
RowVector6d Marmot::ContinuumMechanics::VoigtNotation::Derivatives::dDeltaEpvneg_dE (const Marmot::Vector6d &dEp, const Matrix6d &CelInv, const Matrix6d &Cep)
 
Matrix6d Marmot::ContinuumMechanics::VoigtNotation::Transformations::transformationMatrixStrainVoigt (const Matrix3d &transformedCoordinateSystem)
 
Matrix6d Marmot::ContinuumMechanics::VoigtNotation::Transformations::transformationMatrixStressVoigt (const Matrix3d &transformedCoordinateSystem)
 
Matrix36d Marmot::ContinuumMechanics::VoigtNotation::Transformations::projectVoigtStressToPlane (const Vector3d &normalVector)
 
Matrix36d Marmot::ContinuumMechanics::VoigtNotation::Transformations::projectVoigtStrainToPlane (const Vector3d &normalVector)
 
Marmot::Vector6d Marmot::ContinuumMechanics::VoigtNotation::Transformations::rotateVoigtStress (const Eigen::Matrix3d &Q, const Marmot::Vector6d &stress)
 

Variables

const Marmot::Vector6d Marmot::ContinuumMechanics::VoigtNotation::P = ( Vector6d() << 1, 1, 1, 2, 2, 2 ).finished()
 
const Marmot::Vector6d Marmot::ContinuumMechanics::VoigtNotation::PInv = ( Vector6d() << 1, 1, 1, .5, .5, .5 ).finished()
 
const Marmot::Vector6d Marmot::ContinuumMechanics::VoigtNotation::I = ( Vector6d() << 1, 1, 1, 0, 0, 0 ).finished()
 
const Marmot::Vector6d Marmot::ContinuumMechanics::VoigtNotation::IHyd = ( Vector6d() << 1. / 3, 1. / 3, 1. / 3, 0, 0, 0 ).finished()
 
const Matrix6d Marmot::ContinuumMechanics::VoigtNotation::IDev
 

Macro Definition Documentation

◆ VOIGTFROMDIM

#define VOIGTFROMDIM (   x)    ( ( ( x * x ) + x ) >> 1 )