Namespaces | Functions | Variables
MarmotTensor.h File Reference
#include "Marmot/MarmotJournal.h"
#include "Marmot/MarmotTypedefs.h"
#include "Marmot/MarmotVoigt.h"
#include <iostream>
#include <utility>
Include dependency graph for MarmotTensor.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::CommonTensors
 
 Marmot::ContinuumMechanics::TensorUtility
 
 Marmot::ContinuumMechanics::TensorUtility::IndexNotation
 

Functions

constexpr int Marmot::ContinuumMechanics::CommonTensors::getNumberOfDofForRotation (int nDim)
 
template<int sizeI, int sizeJ>
Eigen::Matrix< double, sizeI *sizeJ, sizeI *sizeJ > Marmot::ContinuumMechanics::CommonTensors::makeIndexSwapTensor ()
 
template<int nDim>
constexpr Eigen::TensorFixedSize< double, Eigen::Sizes< getNumberOfDofForRotation(nDim), nDim, nDim > > Marmot::ContinuumMechanics::CommonTensors::getReferenceToCorrectLeviCivita ()
 
constexpr int Marmot::ContinuumMechanics::TensorUtility::d (int a, int b)
 
template<int x, int y, typename T , typename = std::enable_if< !std::is_const< std::remove_reference< T > >::value >>
auto Marmot::ContinuumMechanics::TensorUtility::as (T &t)
 
template<int x, int y, typename T , typename = void>
auto Marmot::ContinuumMechanics::TensorUtility::as (const T &t)
 
template<typename Derived , typename = std::enable_if< !std::is_const< std::remove_reference< Derived > >::value >>
auto Marmot::ContinuumMechanics::TensorUtility::flatten (Derived &t)
 
template<typename Derived , typename = void>
auto Marmot::ContinuumMechanics::TensorUtility::flatten (const Derived &t)
 
Eigen::Matrix3d Marmot::ContinuumMechanics::TensorUtility::dyadicProduct (const Eigen::Vector3d &vector1, const Eigen::Vector3d &vector2)
 
template<int nDim>
constexpr std::pair< int, int > Marmot::ContinuumMechanics::TensorUtility::IndexNotation::fromVoigt (int ij)
 
template<int nDim>
constexpr int Marmot::ContinuumMechanics::TensorUtility::IndexNotation::toVoigt (int i, int j)
 
template<int nDim>
Eigen::TensorFixedSize< double, Eigen::Sizes< VOIGTFROMDIM(nDim), nDim, nDim > > Marmot::ContinuumMechanics::TensorUtility::IndexNotation::voigtMap ()
 

Variables

const EigenTensors::Tensor3333d Marmot::ContinuumMechanics::CommonTensors::I2xI2 = Initialize_I2xI2()
 
const EigenTensors::Tensor3333d Marmot::ContinuumMechanics::CommonTensors::Isym = Initialize_Isym()
 
const EigenTensors::Tensor3333d Marmot::ContinuumMechanics::CommonTensors::Iskew = Initialize_Iskew()
 
const EigenTensors::Tensor3333d Marmot::ContinuumMechanics::CommonTensors::IFourthOrder = Initialize_IFourthOrder()
 
const EigenTensors::Tensor3333d Marmot::ContinuumMechanics::CommonTensors::IFourthOrderTranspose = Initialize_IFourthOrderTranspose()
 
const EigenTensors::Tensor3333d Marmot::ContinuumMechanics::CommonTensors::dDeviatoricStress_dStress = Initialize_dDeviatoricStress_dStress()
 
const EigenTensors::Tensor333d Marmot::ContinuumMechanics::CommonTensors::LeviCivita3D = Initialize_LeviCivita3D()
 
const EigenTensors::Tensor122d Marmot::ContinuumMechanics::CommonTensors::LeviCivita2D = Initialize_LeviCivita2D()