OGS
Ehlers.cpp File Reference

Detailed Description

Definition in file Ehlers.cpp.

#include "Ehlers.h"
#include <Eigen/LU>
#include <boost/math/special_functions/pow.hpp>
#include "BaseLib/cpp23.h"
#include "LinearElasticIsotropic.h"
#include "MaterialLib/MPL/Utils/GetSymmetricTensor.h"
#include "MathLib/LinAlg/Eigen/EigenMapTools.h"
Include dependency graph for Ehlers.cpp:

Go to the source code of this file.

Classes

struct  MaterialLib::Solids::Ehlers::PhysicalStressWithInvariants< DisplacementDim >
 
struct  MaterialLib::Solids::Ehlers::OnePlusGamma_pTheta
 Holds powers of 1 + gamma_p*theta to base 0, m_p, and m_p-1. More...
 

Namespaces

namespace  MaterialLib
 
namespace  MaterialLib::Solids
 
namespace  MaterialLib::Solids::Ehlers
 

Functions

template<int DisplacementDim>
MathLib::KelvinVector::KelvinMatrixType< DisplacementDim > MaterialLib::Solids::Ehlers::sOdotS (MathLib::KelvinVector::KelvinVectorType< DisplacementDim > const &v)
 
template<int DisplacementDim>
double MaterialLib::Solids::Ehlers::plasticFlowVolumetricPart (PhysicalStressWithInvariants< DisplacementDim > const &s, double const sqrtPhi, double const alpha_p, double const beta_p, double const delta_p, double const epsilon_p)
 
template<int DisplacementDim>
SolidEhlers< DisplacementDim >::KelvinVector MaterialLib::Solids::Ehlers::plasticFlowDeviatoricPart (PhysicalStressWithInvariants< DisplacementDim > const &s, OnePlusGamma_pTheta const &one_gt, double const sqrtPhi, typename SolidEhlers< DisplacementDim >::KelvinVector const &dtheta_dsigma, double const gamma_p, double const m_p)
 
template<int DisplacementDim>
double MaterialLib::Solids::Ehlers::yieldFunction (MaterialProperties const &mp, PhysicalStressWithInvariants< DisplacementDim > const &s, double const k)
 
template<int DisplacementDim>
std::pair< MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim > > MaterialLib::Solids::Ehlers::thetaSigmaDerivatives (double theta, PhysicalStressWithInvariants< DisplacementDim > const &s)
 
template<int DisplacementDim>
SolidEhlers< DisplacementDim >::ResidualVectorType MaterialLib::Solids::Ehlers::calculatePlasticResidual (MathLib::KelvinVector::KelvinVectorType< DisplacementDim > const &eps_D, double const eps_V, PhysicalStressWithInvariants< DisplacementDim > const &s, MathLib::KelvinVector::KelvinVectorType< DisplacementDim > const &eps_p_D, MathLib::KelvinVector::KelvinVectorType< DisplacementDim > const &eps_p_D_dot, double const eps_p_V, double const eps_p_V_dot, double const eps_p_eff_dot, double const lambda, double const k, MaterialProperties const &mp)
 
template<int DisplacementDim>
SolidEhlers< DisplacementDim >::JacobianMatrix MaterialLib::Solids::Ehlers::calculatePlasticJacobian (double const dt, PhysicalStressWithInvariants< DisplacementDim > const &s, double const lambda, MaterialProperties const &mp)
 
template<int DisplacementDim>
MathLib::KelvinVector::KelvinMatrixType< DisplacementDim > MaterialLib::Solids::Ehlers::calculateDResidualDEps (double const K, double const G)
 
double MaterialLib::Solids::Ehlers::calculateIsotropicHardening (double const kappa, double const hardening_coefficient, double const eps_p_eff)
 
template<int DisplacementDim>
SolidEhlers< DisplacementDim >::KelvinVector MaterialLib::Solids::Ehlers::predict_sigma (double const G, double const K, typename SolidEhlers< DisplacementDim >::KelvinVector const &sigma_prev, typename SolidEhlers< DisplacementDim >::KelvinVector const &eps, typename SolidEhlers< DisplacementDim >::KelvinVector const &eps_prev, double const eps_V)
 
template<typename ResidualVector , typename KelvinVector >
std::tuple< KelvinVector, PlasticStrain< KelvinVector >, double > MaterialLib::Solids::Ehlers::splitSolutionVector (ResidualVector const &solution)
 
template<>
MathLib::KelvinVector::KelvinMatrixType< 3 > MaterialLib::Solids::Ehlers::sOdotS< 3 > (MathLib::KelvinVector::KelvinVectorType< 3 > const &v)
 
template<>
MathLib::KelvinVector::KelvinMatrixType< 2 > MaterialLib::Solids::Ehlers::sOdotS< 2 > (MathLib::KelvinVector::KelvinVectorType< 2 > const &v)