OGS
|
The invariants and the Kelving mapping are explained in detail in the article "On Advantages of the Kelvin Mapping in Finite Element Implementations of Deformation Processes" [30].
Namespaces | |
namespace | KelvinVector_detail |
Classes | |
struct | Invariants |
Typedefs | |
template<int DisplacementDim> | |
using | KelvinVectorType |
template<int DisplacementDim> | |
using | KelvinMatrixType |
Functions | |
template<> | |
Eigen::Matrix< double, 4, 1, Eigen::ColMajor, 4, 1 > | inverse (Eigen::Matrix< double, 4, 1, Eigen::ColMajor, 4, 1 > const &v) |
template<> | |
Eigen::Matrix< double, 6, 1, Eigen::ColMajor, 6, 1 > | inverse (Eigen::Matrix< double, 6, 1, Eigen::ColMajor, 6, 1 > const &v) |
template<> | |
Eigen::Matrix< double, 3, 3 > | kelvinVectorToTensor (Eigen::Matrix< double, 4, 1, Eigen::ColMajor, 4, 1 > const &v) |
template<> | |
Eigen::Matrix< double, 3, 3 > | kelvinVectorToTensor (Eigen::Matrix< double, 6, 1, Eigen::ColMajor, 6, 1 > const &v) |
template<> | |
Eigen::Matrix< double, 3, 3 > | kelvinVectorToTensor (Eigen::Matrix< double, Eigen::Dynamic, 1, Eigen::ColMajor, Eigen::Dynamic, 1 > const &v) |
template<> | |
KelvinVectorType< 2 > | tensorToKelvin< 2 > (Eigen::Matrix< double, 3, 3 > const &m) |
template<> | |
KelvinVectorType< 3 > | tensorToKelvin< 3 > (Eigen::Matrix< double, 3, 3 > const &m) |
template<> | |
Eigen::Matrix< double, 4, 1 > | kelvinVectorToSymmetricTensor (Eigen::Matrix< double, 4, 1, Eigen::ColMajor, 4, 1 > const &v) |
template<> | |
Eigen::Matrix< double, 6, 1 > | kelvinVectorToSymmetricTensor (Eigen::Matrix< double, 6, 1, Eigen::ColMajor, 6, 1 > const &v) |
template<> | |
Eigen::Matrix< double, Eigen::Dynamic, 1, Eigen::ColMajor, Eigen::Dynamic, 1 > | kelvinVectorToSymmetricTensor (Eigen::Matrix< double, Eigen::Dynamic, 1, Eigen::ColMajor, Eigen::Dynamic, 1 > const &v) |
template<> | |
Eigen::Matrix< double, 2, 4 > | liftVectorToKelvin< 2 > (Eigen::Matrix< double, 2, 1 > const &v) |
template<> | |
Eigen::Matrix< double, 3, 6 > | liftVectorToKelvin< 3 > (Eigen::Matrix< double, 3, 1 > const &v) |
template<> | |
Eigen::Matrix< double, 2, 1 > | reduceKelvinToVector< 2 > (Eigen::Matrix< double, 2, 4 > const &m) |
template<> | |
Eigen::Matrix< double, 3, 1 > | reduceKelvinToVector< 3 > (Eigen::Matrix< double, 3, 6 > const &m) |
template<> | |
KelvinMatrixType< 2 > | fourthOrderRotationMatrix< 2 > (Eigen::Matrix< double, 2, 2, Eigen::ColMajor, 2, 2 > const &transformation) |
template<> | |
KelvinMatrixType< 3 > | fourthOrderRotationMatrix< 3 > (Eigen::Matrix< double, 3, 3, Eigen::ColMajor, 3, 3 > const &transformation) |
constexpr int | kelvin_vector_dimensions (int const displacement_dim) |
Kelvin vector dimensions for given displacement dimension. | |
template<int DisplacementDim> | |
constexpr auto | KVzero () |
Returns an expressions for a Kelvin vector filled with zero. | |
template<int DisplacementDim> | |
constexpr auto | KMzero () |
Returns an expressions for a Kelvin matrix filled with zero. | |
template<int DisplacementDim> | |
constexpr auto | KVnan () |
Returns an expressions for a Kelvin vector filled with NaN. | |
template<int DisplacementDim> | |
constexpr auto | KMnan () |
Returns an expressions for a Kelvin matrix filled with NaN. | |
template<int KelvinVectorSize> | |
Eigen::Matrix< double, KelvinVectorSize, 1, Eigen::ColMajor, KelvinVectorSize, 1 > | inverse (Eigen::Matrix< double, KelvinVectorSize, 1, Eigen::ColMajor, KelvinVectorSize, 1 > const &v) |
template<int KelvinVectorSize> | |
Eigen::Matrix< double, 3, 3 > | kelvinVectorToTensor (Eigen::Matrix< double, KelvinVectorSize, 1, Eigen::ColMajor, KelvinVectorSize, 1 > const &v) |
template<int DisplacementDim> | |
KelvinVectorType< DisplacementDim > | tensorToKelvin (Eigen::Matrix< double, 3, 3 > const &m) |
template<int KelvinVectorSize> | |
Eigen::Matrix< double, KelvinVectorSize, 1, Eigen::ColMajor, KelvinVectorSize, 1 > | kelvinVectorToSymmetricTensor (Eigen::Matrix< double, KelvinVectorSize, 1, Eigen::ColMajor, KelvinVectorSize, 1 > const &v) |
template<typename Derived > | |
Eigen::Matrix< double, Eigen::MatrixBase< Derived >::RowsAtCompileTime, 1 > | symmetricTensorToKelvinVector (Eigen::MatrixBase< Derived > const &v) |
template<int DisplacementDim> | |
KelvinVectorType< DisplacementDim > | symmetricTensorToKelvinVector (std::vector< double > const &values) |
template<int DisplacementDim> | |
Eigen::Matrix< double, DisplacementDim, kelvin_vector_dimensions(DisplacementDim)> | liftVectorToKelvin (Eigen::Matrix< double, DisplacementDim, 1 > const &v) |
template<int DisplacementDim> | |
Eigen::Matrix< double, DisplacementDim, 1 > | reduceKelvinToVector (Eigen::Matrix< double, DisplacementDim, kelvin_vector_dimensions(DisplacementDim)> const &m) |
template<int DisplacementDim> | |
KelvinMatrixType< DisplacementDim > | fourthOrderRotationMatrix (Eigen::Matrix< double, DisplacementDim, DisplacementDim, Eigen::ColMajor, DisplacementDim, DisplacementDim > const &transformation) |
using MathLib::KelvinVector::KelvinMatrixType |
Kelvin matrix type for given displacement dimension.
Definition at line 55 of file KelvinVector.h.
using MathLib::KelvinVector::KelvinVectorType |
Kelvin vector type for given displacement dimension.
Definition at line 47 of file KelvinVector.h.
KelvinMatrixType< DisplacementDim > MathLib::KelvinVector::fourthOrderRotationMatrix | ( | Eigen::Matrix< double, DisplacementDim, DisplacementDim, Eigen::ColMajor, DisplacementDim, DisplacementDim > const & | transformation | ) |
Rotation tensor for Kelvin mapped vectors and tensors. It is meant to be used for rotation of stress/strain tensors epsilon:Q and tangent stiffness tensors Q*C*Q^t. 2D and 3D implementations available.
KelvinMatrixType< 2 > MathLib::KelvinVector::fourthOrderRotationMatrix< 2 > | ( | Eigen::Matrix< double, 2, 2, Eigen::ColMajor, 2, 2 > const & | transformation | ) |
Definition at line 162 of file KelvinVector.cpp.
References kelvinVectorToSymmetricTensor(), OGS_FATAL, and MathLib::v.
KelvinMatrixType< 3 > MathLib::KelvinVector::fourthOrderRotationMatrix< 3 > | ( | Eigen::Matrix< double, 3, 3, Eigen::ColMajor, 3, 3 > const & | transformation | ) |
Definition at line 162 of file KelvinVector.cpp.
Eigen::Matrix< double, 4, 1, Eigen::ColMajor, 4, 1 > MathLib::KelvinVector::inverse | ( | Eigen::Matrix< double, 4, 1, Eigen::ColMajor, 4, 1 > const & | v | ) |
Definition at line 34 of file KelvinVector.cpp.
References MathLib::KelvinVector::Invariants< KelvinVectorSize >::determinant(), and MathLib::v.
Referenced by MaterialLib::Solids::Ehlers::thetaSigmaDerivatives().
Eigen::Matrix< double, 6, 1, Eigen::ColMajor, 6, 1 > MathLib::KelvinVector::inverse | ( | Eigen::Matrix< double, 6, 1, Eigen::ColMajor, 6, 1 > const & | v | ) |
Definition at line 48 of file KelvinVector.cpp.
References MathLib::KelvinVector::Invariants< KelvinVectorSize >::determinant(), and MathLib::v.
Eigen::Matrix< double, KelvinVectorSize, 1, Eigen::ColMajor, KelvinVectorSize, 1 > MathLib::KelvinVector::inverse | ( | Eigen::Matrix< double, KelvinVectorSize, 1, Eigen::ColMajor, KelvinVectorSize, 1 > const & | v | ) |
Inverse of a matrix in Kelvin vector representation. There are only implementations for the Kelvin vector size 4 and 6.
|
constexpr |
Kelvin vector dimensions for given displacement dimension.
Definition at line 24 of file KelvinVector.h.
References OGS_FATAL.
Referenced by ProcessLib::HydroMechanics::HydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::HydroMechanicsLocalAssembler(), ProcessLib::ThermoHydroMechanics::IntegrationPointData< BMatricesType, ShapeMatrixTypeDisplacement, ShapeMatricesTypePressure, DisplacementDim, NPoints >::IntegrationPointData(), ProcessLib::PhaseField::PhaseFieldLocalAssembler< ShapeFunction, DisplacementDim >::PhaseFieldLocalAssembler(), ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, DisplacementDim >::SmallDeformationLocalAssemblerMatrix(), ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrixNearFracture< ShapeFunction, DisplacementDim >::SmallDeformationLocalAssemblerMatrixNearFracture(), ProcessLib::SmallDeformationNonlocal::SmallDeformationNonlocalLocalAssembler< ShapeFunction, DisplacementDim >::SmallDeformationNonlocalLocalAssembler(), ProcessLib::ThermoMechanicalPhaseField::ThermoMechanicalPhaseFieldLocalAssembler< ShapeFunction, DisplacementDim >::ThermoMechanicalPhaseFieldLocalAssembler(), ProcessLib::ThermoMechanics::ThermoMechanicsLocalAssembler< ShapeFunction, DisplacementDim >::ThermoMechanicsLocalAssembler(), ProcessLib::RichardsMechanics::RichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::assemble(), ProcessLib::HydroMechanics::HydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::assembleWithJacobian(), ProcessLib::RichardsMechanics::RichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::assembleWithJacobian(), ProcessLib::RichardsMechanics::RichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::assembleWithJacobianEvalConstitutiveSetting(), ProcessLib::HydroMechanics::HydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::assembleWithJacobianForDeformationEquations(), ProcessLib::ThermoMechanicalPhaseField::ThermoMechanicalPhaseFieldLocalAssembler< ShapeFunction, DisplacementDim >::assembleWithJacobianForHeatConductionEquations(), ProcessLib::ThermoRichardsMechanics::ThermoRichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunction, DisplacementDim, ConstitutiveTraits >::assembleWithJacobianSingleIP(), MaterialLib::Solids::Ehlers::calculateDResidualDEps(), MaterialLib::Solids::Phasefield::calculateIsotropicDegradedStress(), MaterialLib::Solids::Phasefield::calculateIsotropicDegradedStressWithRankineEnergy(), MaterialLib::Solids::Phasefield::calculateOrthoVolDevDegradedStress(), MaterialLib::Solids::Ehlers::calculatePlasticJacobian(), MaterialLib::Solids::Ehlers::calculatePlasticResidual(), MaterialLib::Solids::Phasefield::calculateVolDevDegradedStress(), ProcessLib::LinearBMatrix::computeBMatrix(), ProcessLib::NonLinearBMatrix::computeBMatrix(), ProcessLib::RichardsMechanics::computeMicroPorosity(), ProcessLib::RichardsMechanics::RichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::computeSecondaryVariableConcrete(), ProcessLib::LIE::HydroMechanics::createHydroMechanicsProcess(), ProcessLib::createInitialStress(), ProcessLib::LargeDeformation::createLargeDeformationProcess(), ProcessLib::SmallDeformation::createSmallDeformationProcess(), MaterialPropertyLib::Function::Implementation< D >::createSymbolTable(), ProcessLib::ThermoMechanics::createThermoMechanicsProcess(), ProcessLib::TH2M::ConstitutiveRelations::PorosityModelNonConstantSolidPhaseVolumeFraction< DisplacementDim >::dEval(), ProcessLib::TH2M::ConstitutiveRelations::SolidDensityModelNonConstantSolidPhaseVolumeFraction< DisplacementDim >::dEval(), ProcessLib::TH2M::ConstitutiveRelations::PermeabilityModel< DisplacementDim >::eval(), ProcessLib::TH2M::ConstitutiveRelations::PorosityModelNonConstantSolidPhaseVolumeFraction< DisplacementDim >::eval(), ProcessLib::TH2M::ConstitutiveRelations::SolidDensityModelNonConstantSolidPhaseVolumeFraction< DisplacementDim >::eval(), ProcessLib::TH2M::ConstitutiveRelations::SolidThermalExpansionModel< DisplacementDim >::eval(), ProcessLib::TH2M::ConstitutiveRelations::TotalStressModel< DisplacementDim >::eval(), ProcessLib::ThermoRichardsMechanics::ConstitutiveStress_StrainTemperature::SolidMechanicsModel< DisplacementDim >::eval(), ProcessLib::ThermoRichardsMechanics::ConstitutiveStress_StrainTemperature::SwellingModel< DisplacementDim >::eval(), ProcessLib::ThermoRichardsMechanics::FluidThermalExpansionModel< DisplacementDim >::eval(), ProcessLib::ThermoRichardsMechanics::PermeabilityModel< DisplacementDim >::eval(), ProcessLib::ThermoRichardsMechanics::PorosityModel< DisplacementDim >::eval(), ProcessLib::ThermoRichardsMechanics::TransportPorosityModel< DisplacementDim >::eval(), MaterialLib::Solids::MFront::MFrontGeneric< DisplacementDim, Gradients, TDynForces, ExtStateVars >::getBulkModulus(), ProcessLib::HydroMechanics::HydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::getEpsilon(), ProcessLib::PhaseField::PhaseFieldLocalAssembler< ShapeFunction, DisplacementDim >::getEpsilon(), ProcessLib::ThermoHydroMechanics::ThermoHydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::getEpsilon(), ProcessLib::ThermoMechanics::ThermoMechanicsLocalAssembler< ShapeFunction, DisplacementDim >::getEpsilon(), ProcessLib::ThermoHydroMechanics::ThermoHydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::getEpsilonM(), ProcessLib::ThermoMechanics::ThermoMechanicsLocalAssembler< ShapeFunction, DisplacementDim >::getEpsilonMechanical(), ProcessLib::getIntegrationPointKelvinVectorData(), ProcessLib::getIntegrationPointKelvinVectorData(), ProcessLib::ThermoHydroMechanics::ThermoHydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::getSigma(), ProcessLib::ThermoMechanics::ThermoMechanicsLocalAssembler< ShapeFunction, DisplacementDim >::getSigma(), ProcessLib::HydroMechanics::HydroMechanicsProcess< DisplacementDim >::initializeConcreteProcess(), ProcessLib::Reflection::detail::GetFlattenedIPDataFromLocAsm< Dim, Accessor_IPDataVecInLocAsm, Accessor_CurrentLevelFromIPDataVecElement >::operator()(), MaterialLib::Solids::Ehlers::predict_sigma(), MaterialLib::Solids::MFront::Variable< Derived >::rows(), ProcessLib::RichardsMechanics::RichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::setInitialConditionsConcrete(), ProcessLib::setIntegrationPointKelvinVectorData(), ProcessLib::Reflection::detail::setIPData(), MaterialLib::Solids::MFront::OGSMFrontTangentOperatorBlocksView< DisplacementDim, ForcesGradsCombinations >::size(), symmetricTensorToKelvinVector(), MaterialLib::Solids::MFront::tangentOperatorDataMFrontToOGS(), MaterialLib::Solids::Lubby2::tangentStiffnessA(), MaterialLib::Solids::Ehlers::thetaSigmaDerivatives(), and ProcessLib::RichardsMechanics::updateSwellingStressAndVolumetricStrain().
Eigen::Matrix< double, 4, 1 > MathLib::KelvinVector::kelvinVectorToSymmetricTensor | ( | Eigen::Matrix< double, 4, 1, Eigen::ColMajor, 4, 1 > const & | v | ) |
Definition at line 142 of file KelvinVector.cpp.
References MathLib::v.
Referenced by ProcessLib::RichardsMechanics::RichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::assemble(), ProcessLib::HydroMechanics::HydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::assembleWithJacobian(), ProcessLib::ThermoMechanics::ThermoMechanicsLocalAssembler< ShapeFunction, DisplacementDim >::assembleWithJacobian(), ProcessLib::RichardsMechanics::RichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::assembleWithJacobianEvalConstitutiveSetting(), ProcessLib::HydroMechanics::HydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::assembleWithJacobianForPressureEquations(), ProcessLib::HydroMechanics::HydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::computeSecondaryVariableConcrete(), ProcessLib::RichardsMechanics::RichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::computeSecondaryVariableConcrete(), ProcessLib::ThermoHydroMechanics::ThermoHydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::computeSecondaryVariableConcrete(), ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, DisplacementDim >::computeSecondaryVariableConcreteWithVector(), ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrixNearFracture< ShapeFunction, DisplacementDim >::computeSecondaryVariableConcreteWithVector(), ProcessLib::TH2M::ConstitutiveRelations::PermeabilityModel< DisplacementDim >::eval(), ProcessLib::ThermoRichardsMechanics::PermeabilityModel< DisplacementDim >::eval(), fourthOrderRotationMatrix< 2 >(), ProcessLib::HydroMechanics::HydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::getEpsilon(), ProcessLib::PhaseField::PhaseFieldLocalAssembler< ShapeFunction, DisplacementDim >::getEpsilon(), ProcessLib::getIntegrationPointKelvinVectorData(), MaterialLib::Solids::Ehlers::SolidEhlers< DisplacementDim >::getInternalVariables(), ProcessLib::HydroMechanics::HydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::getIntPtDarcyVelocity(), ProcessLib::Reflection::detail::GetFlattenedIPDataFromLocAsm< Dim, Accessor_IPDataVecInLocAsm, Accessor_CurrentLevelFromIPDataVecElement >::operator()(), ProcessLib::LIE::HydroMechanics::HydroMechanicsLocalAssemblerMatrix< ShapeFunctionDisplacement, ShapeFunctionPressure, GlobalDim >::postTimestepConcreteWithBlockVectors(), ProcessLib::ThermoHydroMechanics::ThermoHydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::updateConstitutiveRelations(), and MaterialPropertyLib::updateVariableArrayValues().
Eigen::Matrix< double, 6, 1 > MathLib::KelvinVector::kelvinVectorToSymmetricTensor | ( | Eigen::Matrix< double, 6, 1, Eigen::ColMajor, 6, 1 > const & | v | ) |
Definition at line 151 of file KelvinVector.cpp.
References MathLib::v.
Eigen::Matrix< double, Eigen::Dynamic, 1, Eigen::ColMajor, Eigen::Dynamic, 1 > MathLib::KelvinVector::kelvinVectorToSymmetricTensor | ( | Eigen::Matrix< double, Eigen::Dynamic, 1, Eigen::ColMajor, Eigen::Dynamic, 1 > const & | v | ) |
Definition at line 162 of file KelvinVector.cpp.
Eigen::Matrix< double, KelvinVectorSize, 1, Eigen::ColMajor, KelvinVectorSize, 1 > MathLib::KelvinVector::kelvinVectorToSymmetricTensor | ( | Eigen::Matrix< double, KelvinVectorSize, 1, Eigen::ColMajor, KelvinVectorSize, 1 > const & | v | ) |
Conversion of a Kelvin vector to a short vector representation of a symmetric 3x3 matrix.
In the 2D case the entries for the xx, yy, zz, and xy components are stored. In the 3D case the entries for the xx, yy, zz, xy, yz, and xz components in that particular order are stored.
This is opposite of the symmetricTensorToKelvinVector()
Only implementations for KelvinVectorSize 4 and 6, and dynamic size vectors are provided.
Eigen::Matrix< double, 3, 3 > MathLib::KelvinVector::kelvinVectorToTensor | ( | Eigen::Matrix< double, 4, 1, Eigen::ColMajor, 4, 1 > const & | v | ) |
Definition at line 64 of file KelvinVector.cpp.
References MathLib::v.
Referenced by ProcessLib::LargeDeformation::LargeDeformationLocalAssembler< ShapeFunction, DisplacementDim >::assembleWithJacobian(), ProcessLib::SmallDeformationNonlocal::calculateDamageKappaD(), MaterialLib::Solids::Phasefield::calculateIsotropicDegradedStressWithRankineEnergy(), MaterialLib::Solids::Phasefield::calculateOrthoMasonryDegradedStress(), ProcessLib::HydroMechanics::HydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::computeSecondaryVariableConcrete(), ProcessLib::SmallDeformation::SmallDeformationLocalAssemblerInterface< DisplacementDim >::computeSecondaryVariableConcrete(), MaterialPropertyLib::EmbeddedFracturePermeability< DisplacementDim >::dValue(), MaterialPropertyLib::OrthotropicEmbeddedFracturePermeability< DisplacementDim >::dValue(), kelvinVectorToTensor(), MaterialPropertyLib::EmbeddedFracturePermeability< DisplacementDim >::value(), and MaterialPropertyLib::OrthotropicEmbeddedFracturePermeability< DisplacementDim >::value().
Eigen::Matrix< double, 3, 3 > MathLib::KelvinVector::kelvinVectorToTensor | ( | Eigen::Matrix< double, 6, 1, Eigen::ColMajor, 6, 1 > const & | v | ) |
Definition at line 74 of file KelvinVector.cpp.
References MathLib::v.
Eigen::Matrix< double, 3, 3 > MathLib::KelvinVector::kelvinVectorToTensor | ( | Eigen::Matrix< double, Eigen::Dynamic, 1, Eigen::ColMajor, Eigen::Dynamic, 1 > const & | v | ) |
Definition at line 85 of file KelvinVector.cpp.
References kelvinVectorToTensor(), OGS_FATAL, and MathLib::v.
Eigen::Matrix< double, 3, 3 > MathLib::KelvinVector::kelvinVectorToTensor | ( | Eigen::Matrix< double, KelvinVectorSize, 1, Eigen::ColMajor, KelvinVectorSize, 1 > const & | v | ) |
Conversion of a Kelvin vector to a 3x3 matrix Only implementations for KelvinVectorSize 4 and 6 are provided.
|
constexpr |
Returns an expressions for a Kelvin matrix filled with NaN.
Definition at line 83 of file KelvinVector.h.
|
constexpr |
Returns an expressions for a Kelvin matrix filled with zero.
Definition at line 68 of file KelvinVector.h.
|
constexpr |
Returns an expressions for a Kelvin vector filled with NaN.
Definition at line 75 of file KelvinVector.h.
|
constexpr |
Returns an expressions for a Kelvin vector filled with zero.
Definition at line 61 of file KelvinVector.h.
Eigen::Matrix< double, DisplacementDim, kelvin_vector_dimensions(DisplacementDim)> MathLib::KelvinVector::liftVectorToKelvin | ( | Eigen::Matrix< double, DisplacementDim, 1 > const & | v | ) |
Lifting of a vector to a Kelvin matrix. \( a -> A\) s.t. \(k_{ij} a_{j} = A_[\alpha\beta} k_{\beta} \). Conversion for 2D -> 4D and 3D -> 6D are implemented.
Eigen::Matrix< double, 2, 4 > MathLib::KelvinVector::liftVectorToKelvin< 2 > | ( | Eigen::Matrix< double, 2, 1 > const & | v | ) |
Definition at line 162 of file KelvinVector.cpp.
Eigen::Matrix< double, 3, 6 > MathLib::KelvinVector::liftVectorToKelvin< 3 > | ( | Eigen::Matrix< double, 3, 1 > const & | v | ) |
Definition at line 162 of file KelvinVector.cpp.
Eigen::Matrix< double, DisplacementDim, 1 > MathLib::KelvinVector::reduceKelvinToVector | ( | Eigen::Matrix< double, DisplacementDim, kelvin_vector_dimensions(DisplacementDim)> const & | m | ) |
Reducing a Kelvin matrix to a vector. Conversion for 4D -> 2D and 6D -> 3D are implemented.
Eigen::Matrix< double, 2, 1 > MathLib::KelvinVector::reduceKelvinToVector< 2 > | ( | Eigen::Matrix< double, 2, 4 > const & | m | ) |
Definition at line 162 of file KelvinVector.cpp.
Eigen::Matrix< double, 3, 1 > MathLib::KelvinVector::reduceKelvinToVector< 3 > | ( | Eigen::Matrix< double, 3, 6 > const & | m | ) |
Definition at line 162 of file KelvinVector.cpp.
Eigen::Matrix< double, Eigen::MatrixBase< Derived >::RowsAtCompileTime, 1 > MathLib::KelvinVector::symmetricTensorToKelvinVector | ( | Eigen::MatrixBase< Derived > const & | v | ) |
Conversion of a short vector representation of a symmetric 3x3 matrix to a Kelvin vector.
This is opposite of the kelvinVectorToSymmetricTensor()
Only implementations for KelvinVectorSize 4 and 6, and dynamic size vectors are provided.
Definition at line 201 of file KelvinVector.h.
References OGS_FATAL, and MathLib::v.
Referenced by ProcessLib::HydroMechanics::HydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::initializeConcrete(), ProcessLib::LargeDeformation::LargeDeformationLocalAssembler< ShapeFunction, DisplacementDim >::initializeConcrete(), ProcessLib::PhaseField::PhaseFieldLocalAssembler< ShapeFunction, DisplacementDim >::initializeConcrete(), ProcessLib::RichardsMechanics::RichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::initializeConcrete(), ProcessLib::SmallDeformation::SmallDeformationLocalAssembler< ShapeFunction, DisplacementDim >::initializeConcrete(), ProcessLib::TH2M::TH2MLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::initializeConcrete(), ProcessLib::ThermoHydroMechanics::ThermoHydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::initializeConcrete(), ProcessLib::ThermoMechanics::ThermoMechanicsLocalAssembler< ShapeFunction, DisplacementDim >::initializeConcrete(), ProcessLib::ThermoRichardsMechanics::ThermoRichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunction, DisplacementDim, ConstitutiveTraits >::initializeConcrete(), ProcessLib::setIntegrationPointKelvinVectorData(), ProcessLib::Reflection::detail::setIPData(), and symmetricTensorToKelvinVector().
KelvinVectorType< DisplacementDim > MathLib::KelvinVector::symmetricTensorToKelvinVector | ( | std::vector< double > const & | values | ) |
Conversion of a short vector representation of a symmetric 3x3 matrix to a Kelvin vector.
This overload takes a std::vector for the tensor values.
Definition at line 242 of file KelvinVector.h.
References kelvin_vector_dimensions(), OGS_FATAL, and symmetricTensorToKelvinVector().
KelvinVectorType< DisplacementDim > MathLib::KelvinVector::tensorToKelvin | ( | Eigen::Matrix< double, 3, 3 > const & | m | ) |
Conversion of a 3x3 matrix to a Kelvin vector. Only implementations for KelvinVectorSize 4 and 6 are provided.
Referenced by ProcessLib::RichardsMechanics::RichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::assemble(), ProcessLib::RichardsMechanics::RichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::assembleWithJacobian(), MaterialLib::Solids::Phasefield::calculateOrthoMasonryDegradedStress(), ProcessLib::RichardsMechanics::computeMicroPorosity(), ProcessLib::HydroMechanics::HydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::computeSecondaryVariableConcrete(), ProcessLib::SmallDeformation::SmallDeformationLocalAssemblerInterface< DisplacementDim >::computeSecondaryVariableConcrete(), MaterialPropertyLib::EmbeddedFracturePermeability< DisplacementDim >::dValue(), MaterialPropertyLib::OrthotropicEmbeddedFracturePermeability< DisplacementDim >::dValue(), ProcessLib::TH2M::ConstitutiveRelations::SwellingModel< DisplacementDim >::eval(), ProcessLib::ThermoRichardsMechanics::ConstitutiveStress_StrainTemperature::SwellingModel< DisplacementDim >::eval(), MaterialPropertyLib::FormKelvinVector< GlobalDim >::operator()(), and ProcessLib::RichardsMechanics::updateSwellingStressAndVolumetricStrain().
KelvinVectorType< 2 > MathLib::KelvinVector::tensorToKelvin< 2 > | ( | Eigen::Matrix< double, 3, 3 > const & | m | ) |
Definition at line 85 of file KelvinVector.cpp.
KelvinVectorType< 3 > MathLib::KelvinVector::tensorToKelvin< 3 > | ( | Eigen::Matrix< double, 3, 3 > const & | m | ) |
Definition at line 85 of file KelvinVector.cpp.