v0.14.0
Classes | Namespaces | Functions | Variables
HenckyOps.hpp File Reference

Go to the source code of this file.

Classes

struct  HenckyOps::isEq
 
struct  HenckyOps::CommonData
 
struct  HenckyOps::OpCalculateEigenValsImpl< DIM, I, DomainEleOp >
 
struct  HenckyOps::OpCalculateLogCImpl< DIM, I, DomainEleOp >
 
struct  HenckyOps::OpCalculateLogC_dCImpl< DIM, I, DomainEleOp >
 
struct  HenckyOps::OpCalculateHenckyStressImpl< DIM, I, DomainEleOp >
 
struct  HenckyOps::OpCalculateHenckyPlasticStressImpl< DIM, I, DomainEleOp >
 
struct  HenckyOps::OpCalculatePiolaStressImpl< DIM, I, DomainEleOp >
 
struct  HenckyOps::OpHenckyTangentImpl< DIM, I, DomainEleOp >
 
struct  HenckyOps::OpCalculateEigenValsImpl< DIM, GAUSS, DomainEleOp >
 
struct  HenckyOps::OpCalculateLogCImpl< DIM, GAUSS, DomainEleOp >
 
struct  HenckyOps::OpCalculateLogC_dCImpl< DIM, GAUSS, DomainEleOp >
 
struct  HenckyOps::OpCalculateHenckyStressImpl< DIM, GAUSS, DomainEleOp >
 
struct  HenckyOps::OpCalculateHenckyPlasticStressImpl< DIM, GAUSS, DomainEleOp >
 
struct  HenckyOps::OpCalculatePiolaStressImpl< DIM, GAUSS, DomainEleOp >
 
struct  HenckyOps::OpHenckyTangentImpl< DIM, GAUSS, DomainEleOp >
 
struct  HenckyOps::HenkyIntegrators< DomainEleOp >
 

Namespaces

 HenckyOps
 

Functions

auto HenckyOps::is_eq (const double &a, const double &b)
 
template<int DIM>
auto HenckyOps::get_uniq_nb (double *ptr)
 
template<int DIM>
auto HenckyOps::sort_eigen_vals (FTensor::Tensor1< double, DIM > &eig, FTensor::Tensor2< double, DIM, DIM > &eigen_vec)
 
template<int DIM>
MoFEMErrorCode HenckyOps::addMatBlockOps (MoFEM::Interface &m_field, boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pip, std::string block_name, boost::shared_ptr< MatrixDouble > mat_D_Ptr, Sev sev, double scale=1)
 
template<int DIM, IntegrationType I, typename DomainEleOp >
auto HenckyOps::commonDataFactory (MoFEM::Interface &m_field, boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pip, std::string field_name, std::string block_name, Sev sev, double scale=1)
 
template<int DIM, AssemblyType A, IntegrationType I, typename DomainEleOp >
MoFEMErrorCode HenckyOps::opFactoryDomainRhs (MoFEM::Interface &m_field, boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pip, std::string field_name, boost::shared_ptr< HenckyOps::CommonData > common_ptr, Sev sev)
 
template<int DIM, AssemblyType A, IntegrationType I, typename DomainEleOp >
MoFEMErrorCode HenckyOps::opFactoryDomainRhs (MoFEM::Interface &m_field, boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pip, std::string field_name, std::string block_name, Sev sev, double scale=1)
 
template<int DIM, AssemblyType A, IntegrationType I, typename DomainEleOp >
MoFEMErrorCode HenckyOps::opFactoryDomainLhs (MoFEM::Interface &m_field, boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pip, std::string field_name, boost::shared_ptr< HenckyOps::CommonData > common_ptr, Sev sev)
 
template<int DIM, AssemblyType A, IntegrationType I, typename DomainEleOp >
MoFEMErrorCode HenckyOps::opFactoryDomainLhs (MoFEM::Interface &m_field, boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pip, std::string field_name, std::string block_name, Sev sev, double scale=1)
 

Variables

constexpr double HenckyOps::eps = std::numeric_limits<float>::epsilon()
 
auto HenckyOps::f = [](double v) { return 0.5 * std::log(v); }
 
auto HenckyOps::d_f = [](double v) { return 0.5 / v; }
 
auto HenckyOps::dd_f = [](double v) { return -0.5 / (v * v); }