MarmotLowerDimensionalStress.h
Go to the documentation of this file.
1 /* ---------------------------------------------------------------------
2  * _
3  * _ __ ___ __ _ _ __ _ __ ___ ___ | |_
4  * | '_ ` _ \ / _` | '__| '_ ` _ \ / _ \| __|
5  * | | | | | | (_| | | | | | | | | (_) | |_
6  * |_| |_| |_|\__,_|_| |_| |_| |_|\___/ \__|
7  *
8  * Unit of Strength of Materials and Structural Analysis
9  * University of Innsbruck,
10  * 2020 - today
11  *
12  * festigkeitslehre@uibk.ac.at
13  *
14  * Matthias Neuner matthias.neuner@uibk.ac.at
15  * Magdalena Schreter magdalena.schreter@uibk.ac.at
16  *
17  * This file is part of the MAteRialMOdellingToolbox (marmot).
18  *
19  * This library is free software; you can redistribute it and/or
20  * modify it under the terms of the GNU Lesser General Public
21  * License as published by the Free Software Foundation; either
22  * version 2.1 of the License, or (at your option) any later version.
23  *
24  * The full text of the license can be found in the file LICENSE.md at
25  * the top level directory of marmot.
26  * ---------------------------------------------------------------------
27  */
28 #pragma once
29 #include "Marmot/MarmotVoigt.h"
30 
32 
33  namespace UniaxialStress {
40  double getUniaxialStressTangent( const Eigen::Ref< const Matrix6d >& C );
41  } // namespace UniaxialStress
42 
43  namespace PlaneStrain {
44 
51 
57  const EigenTensors::Tensor633d& dStressdDeformationGradient3D );
58 
63  Eigen::Matrix< double, 6, 3 > dStrainDStrainPlaneStrain();
64  } // namespace PlaneStrain
65 
66  namespace PlaneStress {
67 
74 
80  const EigenTensors::Tensor633d& dStressdDeformationGradient3D );
81 
86  Marmot::Vector6d planeStressCompensationStrain( const Marmot::Vector6d& elasticStrain, double nu );
87 
88  /*
89  * Returns the transformation Matrix T which fulfills
90  * planeStressIncrement = C : (T : arbitraryStrainIncrement)
91  */
97  Eigen::Matrix< double, 6, 3 > dStrainDStrainPlaneStress( const Matrix6d& tangent );
102  Eigen::Matrix< double, 3, 6 > dStressPlaneStressDStress();
103  } // namespace PlaneStress
104 } // namespace Marmot::ContinuumMechanics
Marmot::ContinuumMechanics::Elasticity::Isotropic::nu
constexpr double nu(const double K, const double G)
Definition: MarmotElasticity.h:59
Marmot::ContinuumMechanics::PlaneStress::compute_dStress_dDeformationGradient
EigenTensors::Tensor322d compute_dStress_dDeformationGradient(const EigenTensors::Tensor633d &dStressdDeformationGradient3D)
Definition: MarmotLowerDimensionalStress.cpp:61
Marmot::ContinuumMechanics::PlaneStress::planeStressTangentTransformationMatrix
Matrix6d planeStressTangentTransformationMatrix(const Matrix6d &tangent)
Definition: MarmotLowerDimensionalStress.cpp:120
Marmot::Matrix6d
Eigen::Matrix< double, 6, 6 > Matrix6d
Definition: MarmotTypedefs.h:35
MarmotVoigt.h
Marmot::ContinuumMechanics::PlaneStress::getPlaneStressTangent
Eigen::Matrix3d getPlaneStressTangent(const Matrix6d &C)
Definition: MarmotLowerDimensionalStress.cpp:106
Marmot::ContinuumMechanics::PlaneStrain::reduce3D_dStress_dDeformationGradient
EigenTensors::Tensor322d reduce3D_dStress_dDeformationGradient(const EigenTensors::Tensor633d &dStressdDeformationGradient3D)
Definition: MarmotLowerDimensionalStress.cpp:24
Marmot::ContinuumMechanics::UniaxialStress::getUniaxialStressTangent
double getUniaxialStressTangent(const Eigen::Ref< const Matrix6d > &C)
Marmot::ContinuumMechanics::PlaneStrain::dStrainDStrainPlaneStrain
Eigen::Matrix< double, 6, 3 > dStrainDStrainPlaneStrain()
Definition: MarmotLowerDimensionalStress.cpp:48
Marmot::ContinuumMechanics
Definition: MarmotTensor.h:36
Marmot::ContinuumMechanics::PlaneStrain::getPlaneStrainTangent
Eigen::Matrix3d getPlaneStrainTangent(const Matrix6d &C)
Definition: MarmotLowerDimensionalStress.cpp:37
Marmot::Matrix3d
Eigen::Matrix< double, 3, 3 > Matrix3d
Definition: MarmotTypedefs.h:40
Marmot::ContinuumMechanics::PlaneStress::planeStressCompensationStrain
Marmot::Vector6d planeStressCompensationStrain(const Marmot::Vector6d &elasticStrain, double nu)
Definition: MarmotLowerDimensionalStress.cpp:111
Marmot::ContinuumMechanics::PlaneStress::dStrainDStrainPlaneStress
Eigen::Matrix< double, 6, 3 > dStrainDStrainPlaneStress(const Matrix6d &tangent)
Definition: MarmotLowerDimensionalStress.cpp:133
Marmot::Vector6d
Eigen::Matrix< double, 6, 1 > Vector6d
Definition: MarmotTypedefs.h:43
Marmot::EigenTensors::Tensor633d
Eigen::TensorFixedSize< double, Eigen::Sizes< 6, 3, 3 > > Tensor633d
Definition: MarmotTypedefs.h:66
Marmot::EigenTensors::Tensor322d
Eigen::TensorFixedSize< double, Eigen::Sizes< 3, 2, 2 > > Tensor322d
Definition: MarmotTypedefs.h:67
Marmot::ContinuumMechanics::PlaneStress::dStressPlaneStressDStress
Eigen::Matrix< double, 3, 6 > dStressPlaneStressDStress()
Definition: MarmotLowerDimensionalStress.cpp:97