![]() |
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) |
Variables | |
| template<int KelvinVectorSize> | |
| const Eigen::Matrix< double, KelvinVectorSize, KelvinVectorSize > | Invariants< KelvinVectorSize >::deviatoric_projection |
| template<int KelvinVectorSize> | |
| Eigen::Matrix< double, KelvinVectorSize, KelvinVectorSize > const | Invariants< KelvinVectorSize >::spherical_projection |
| template<int KelvinVectorSize> | |
| const Eigen::Matrix< double, KelvinVectorSize, 1 > | Invariants< KelvinVectorSize >::identity2 |
| template<int KelvinVectorSize> | |
| const Eigen::Matrix< double, KelvinVectorSize, 1 > | Invariants< KelvinVectorSize >::ones2 |
| using MathLib::KelvinVector::KelvinMatrixType |
Kelvin matrix type for given displacement dimension.
Definition at line 49 of file KelvinVector.h.
| using MathLib::KelvinVector::KelvinVectorType |
Kelvin vector type for given displacement dimension.
Definition at line 41 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.
Referenced by MaterialLib::Solids::LinearElasticOrthotropic< DisplacementDim >::getElasticTensor(), MaterialLib::Solids::LinearElasticTransverseIsotropic< DisplacementDim >::getElasticTensor(), and MaterialLib::Solids::MFront::MFrontGeneric< DisplacementDim, boost::mp11::mp_list< Strain >, boost::mp11::mp_list< Stress >, boost::mp11::mp_list< Temperature > >::integrateStress().
| KelvinMatrixType< 2 > MathLib::KelvinVector::fourthOrderRotationMatrix< 2 > | ( | Eigen::Matrix< double, 2, 2, Eigen::ColMajor, 2, 2 > const & | transformation | ) |
Definition at line 155 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 155 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 27 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 41 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.
References MathLib::v.
|
constexpr |
Kelvin vector dimensions for given displacement dimension.
Definition at line 18 of file KelvinVector.h.
References OGS_FATAL.
Referenced by ProcessLib::HMPhaseField::HMPhaseFieldLocalAssembler< ShapeFunction, DisplacementDim >::HMPhaseFieldLocalAssembler(), ProcessLib::HydroMechanics::HydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::HydroMechanicsLocalAssembler(), ProcessLib::ThermoHydroMechanics::IntegrationPointData< BMatricesType, ShapeMatricesTypeDisplacement, ShapeMatricesTypePressure, DisplacementDim, ShapeFunctionDisplacement::NPOINTS >::IntegrationPointData(), ProcessLib::PhaseField::PhaseFieldLocalAssembler< ShapeFunction, DisplacementDim >::PhaseFieldLocalAssembler(), ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, DisplacementDim >::SmallDeformationLocalAssemblerMatrix(), ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrixNearFracture< ShapeFunction, DisplacementDim >::SmallDeformationLocalAssemblerMatrixNearFracture(), 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::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::calculateSpectralDegradedStress(), 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::PorosityModel< DisplacementDim >::dEval(), ProcessLib::TH2M::ConstitutiveRelations::SolidDensityModel< DisplacementDim >::dEval(), ProcessLib::TH2M::ConstitutiveRelations::PermeabilityModel< DisplacementDim >::eval(), ProcessLib::TH2M::ConstitutiveRelations::PorosityModel< DisplacementDim >::eval(), ProcessLib::TH2M::ConstitutiveRelations::SolidDensityModel< DisplacementDim >::eval(), ProcessLib::TH2M::ConstitutiveRelations::SolidThermalExpansionModel< DisplacementDim >::eval(), ProcessLib::TH2M::ConstitutiveRelations::TotalStressModel< DisplacementDim >::eval(), ProcessLib::TH2M::ConstitutiveRelations::TransportPorosityModel< DisplacementDim >::eval(), ProcessLib::ThermoRichardsMechanics::ConstitutiveStress_StrainTemperature::SolidMechanicsModel< DisplacementDim >::eval(), ProcessLib::ThermoRichardsMechanics::ConstitutiveStress_StrainTemperature::SwellingModel< DisplacementDim >::eval(), ProcessLib::ThermoRichardsMechanics::ConstitutiveStress_StrainTemperature::TransportPorosityModel< DisplacementDim >::eval(), ProcessLib::ThermoRichardsMechanics::ConstitutiveStressSaturation_StrainPressureTemperature::EffectiveStressModel< DisplacementDim >::eval(), ProcessLib::ThermoRichardsMechanics::ConstitutiveStressSaturation_StrainPressureTemperature::TransportPorosityModel< DisplacementDim >::eval(), ProcessLib::ThermoRichardsMechanics::FluidThermalExpansionModel< DisplacementDim >::eval(), ProcessLib::ThermoRichardsMechanics::PermeabilityModel< DisplacementDim >::eval(), ProcessLib::ThermoRichardsMechanics::PorosityModel< DisplacementDim >::eval(), ProcessLib::ThermoRichardsMechanics::SolidDensityModel< DisplacementDim >::eval(), MaterialLib::Solids::MFront::MFrontGeneric< DisplacementDim, boost::mp11::mp_list< Strain >, boost::mp11::mp_list< Stress >, boost::mp11::mp_list< Temperature > >::getBulkModulus(), MaterialLib::Solids::LinearElasticOrthotropic< DisplacementDim >::getElasticTensor(), 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 >::getEpsilon0(), 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::NonLinearFbar::identityForF(), 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 135 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, DisplacementDim >::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 144 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 155 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.
References MathLib::v.
| Eigen::Matrix< double, 3, 3 > MathLib::KelvinVector::kelvinVectorToTensor | ( | Eigen::Matrix< double, 4, 1, Eigen::ColMajor, 4, 1 > const & | v | ) |
Definition at line 57 of file KelvinVector.cpp.
References MathLib::v.
Referenced by ProcessLib::HMPhaseField::HMPhaseFieldLocalAssembler< ShapeFunction, DisplacementDim >::approximateFractureWidth(), ProcessLib::LargeDeformation::LargeDeformationLocalAssembler< ShapeFunction, DisplacementDim >::assembleWithJacobian(), MaterialLib::Solids::Phasefield::calculateIsotropicDegradedStressWithRankineEnergy(), MaterialLib::Solids::Phasefield::calculateOrthoMasonryDegradedStress(), MaterialLib::Solids::Phasefield::calculateSpectralDegradedStress(), 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 | ) |
| Eigen::Matrix< double, 3, 3 > MathLib::KelvinVector::kelvinVectorToTensor | ( | Eigen::Matrix< double, Eigen::Dynamic, 1, Eigen::ColMajor, Eigen::Dynamic, 1 > const & | v | ) |
Definition at line 78 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.
References MathLib::v.
|
constexpr |
Returns an expressions for a Kelvin matrix filled with NaN.
Definition at line 77 of file KelvinVector.h.
|
constexpr |
Returns an expressions for a Kelvin matrix filled with zero.
Definition at line 62 of file KelvinVector.h.
|
constexpr |
Returns an expressions for a Kelvin vector filled with NaN.
Definition at line 69 of file KelvinVector.h.
|
constexpr |
Returns an expressions for a Kelvin vector filled with zero.
Definition at line 55 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.
References MathLib::v.
| Eigen::Matrix< double, 2, 4 > MathLib::KelvinVector::liftVectorToKelvin< 2 > | ( | Eigen::Matrix< double, 2, 1 > const & | v | ) |
| Eigen::Matrix< double, 3, 6 > MathLib::KelvinVector::liftVectorToKelvin< 3 > | ( | Eigen::Matrix< double, 3, 1 > const & | v | ) |
Definition at line 155 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 155 of file KelvinVector.cpp.
| Eigen::Matrix< double, 3, 1 > MathLib::KelvinVector::reduceKelvinToVector< 3 > | ( | Eigen::Matrix< double, 3, 6 > const & | m | ) |
Definition at line 155 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 199 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 240 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(), MaterialLib::Solids::Phasefield::calculateSpectralDegradedStress(), 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 78 of file KelvinVector.cpp.
| KelvinVectorType< 3 > MathLib::KelvinVector::tensorToKelvin< 3 > | ( | Eigen::Matrix< double, 3, 3 > const & | m | ) |
Definition at line 78 of file KelvinVector.cpp.
| const Eigen::Matrix<double, KelvinVectorSize, KelvinVectorSize> MathLib::KelvinVector::Invariants< KelvinVectorSize >::deviatoric_projection |
Definition at line 115 of file KelvinVector-impl.h.
| const Eigen::Matrix<double, KelvinVectorSize, 1> MathLib::KelvinVector::Invariants< KelvinVectorSize >::identity2 |
Definition at line 125 of file KelvinVector-impl.h.
| const Eigen::Matrix<double, KelvinVectorSize, 1> MathLib::KelvinVector::Invariants< KelvinVectorSize >::ones2 |
Definition at line 130 of file KelvinVector-impl.h.
| Eigen::Matrix<double, KelvinVectorSize, KelvinVectorSize> const MathLib::KelvinVector::Invariants< KelvinVectorSize >::spherical_projection |
Definition at line 120 of file KelvinVector-impl.h.