v0.15.0
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
PlasticOps::OpCalculatePlasticFlowRhsImpl< DIM, GAUSS, AssemblyDomainEleOp > Struct Template Reference

[Calculate stress] More...

#include "users_modules/multifield-thermoplasticity-private/tutorials/adv-0/src/PlasticOpsGeneric.hpp"

Inheritance diagram for PlasticOps::OpCalculatePlasticFlowRhsImpl< DIM, GAUSS, AssemblyDomainEleOp >:
[legend]
Collaboration diagram for PlasticOps::OpCalculatePlasticFlowRhsImpl< DIM, GAUSS, AssemblyDomainEleOp >:
[legend]

Public Member Functions

 OpCalculatePlasticFlowRhsImpl (const std::string field_name, boost::shared_ptr< CommonData > common_data_ptr, boost::shared_ptr< MatrixDouble > m_D_ptr)
 
MoFEMErrorCode iNtegrate (EntitiesFieldData::EntData &data)
 
 OpCalculatePlasticFlowRhsImpl (const std::string field_name, boost::shared_ptr< CommonData > common_data_ptr, boost::shared_ptr< MatrixDouble > m_D_ptr)
 
MoFEMErrorCode iNtegrate (EntitiesFieldData::EntData &data)
 

Private Attributes

boost::shared_ptr< CommonDatacommonDataPtr
 
boost::shared_ptr< MatrixDouble > mDPtr
 

Detailed Description

template<int DIM, typename AssemblyDomainEleOp>
struct PlasticOps::OpCalculatePlasticFlowRhsImpl< DIM, GAUSS, AssemblyDomainEleOp >

[Calculate stress]

Definition at line 824 of file PlasticOpsGeneric.hpp.

Constructor & Destructor Documentation

◆ OpCalculatePlasticFlowRhsImpl() [1/2]

template<int DIM, typename AssemblyDomainEleOp >
PlasticOps::OpCalculatePlasticFlowRhsImpl< DIM, GAUSS, AssemblyDomainEleOp >::OpCalculatePlasticFlowRhsImpl ( const std::string  field_name,
boost::shared_ptr< CommonData common_data_ptr,
boost::shared_ptr< MatrixDouble >  m_D_ptr 
)

Definition at line 837 of file PlasticOpsGeneric.hpp.

842 {

◆ OpCalculatePlasticFlowRhsImpl() [2/2]

template<int DIM, typename AssemblyDomainEleOp >
PlasticOps::OpCalculatePlasticFlowRhsImpl< DIM, GAUSS, AssemblyDomainEleOp >::OpCalculatePlasticFlowRhsImpl ( const std::string  field_name,
boost::shared_ptr< CommonData common_data_ptr,
boost::shared_ptr< MatrixDouble >  m_D_ptr 
)

Member Function Documentation

◆ iNtegrate() [1/2]

template<int DIM, typename AssemblyDomainEleOp >
MoFEMErrorCode PlasticOps::OpCalculatePlasticFlowRhsImpl< DIM, GAUSS, AssemblyDomainEleOp >::iNtegrate ( EntitiesFieldData::EntData &  data)

Definition at line 846 of file PlasticOpsGeneric.hpp.

847 {
848 const auto a = sigma_y;
849 t_res_flow_dplastic_strain(m, n, k, l) =
850 (a * this->getTSa()) * t_diff_plastic_strain(m, n, k, l);
851 const auto b = t_tau_dot;
852 t_res_flow_dplastic_strain(m, n, i, j) +=
853 (t_flow_dir_dstrain(m, n, k, l) * t_alpha_dir(k, l, i, j)) * b;
854 };
855
856 auto get_res_flow_dtemp = [&](auto &t_res_flow_dtemp) {
857 const auto da = d_sigma_y_dtemp;
858 t_res_flow_dtemp(k, l) = da * t_plastic_strain_dot(k, l);
859 };
860
861 t_res_c = get_res_c();
862 get_res_flow(t_res_flow);
863
864 if (this->getTSCtx() == TSMethod::TSContext::CTX_TSSETIJACOBIAN) {
865 t_res_c_dtau = get_res_c_dtau();
866 get_res_c_dstrain(t_res_c_dstrain);
867 get_res_c_dplastic_strain(t_res_c_plastic_strain);
868 t_res_c_temperature = get_res_c_dtemperature();
869 get_res_flow_dtau(t_res_flow_dtau);
870 get_res_flow_dstrain(t_res_flow_dstrain);
871 get_res_flow_dplastic_strain(t_res_flow_dplastic_strain);
872 get_res_flow_dtemp(t_res_flow_dtemp);
873 }
874
875 next();
876 }
877
879}
880
881template <int DIM, typename DomainEleOp>
882struct OpCalculatePlasticityWithoutRatesImpl<DIM, GAUSS, DomainEleOp> : public DomainEleOp {
883 OpCalculatePlasticityWithoutRatesImpl(
884 const std::string field_name,
885 boost::shared_ptr<CommonData> common_data_ptr,
886 boost::shared_ptr<MatrixDouble> m_D_ptr,
887 boost::shared_ptr<ThermoPlasticOps::ThermoPlasticBlockedParameters>
888 tp_common_data_ptr = nullptr);
889 MoFEMErrorCode doWork(int side, EntityType type, EntData &data);
constexpr double a
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
@ GAUSS
Gaussian quadrature integration.
FTensor::Index< 'i', SPACE_DIM > i
const double n
refractive index of diffusive medium
FTensor::Index< 'l', 3 > l
FTensor::Index< 'j', 3 > j
FTensor::Index< 'k', 3 > k
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
constexpr auto field_name
FTensor::Index< 'm', 3 > m
Data on single entity (This is passed as argument to DataOperator::doWork)

◆ iNtegrate() [2/2]

template<int DIM, typename AssemblyDomainEleOp >
MoFEMErrorCode PlasticOps::OpCalculatePlasticFlowRhsImpl< DIM, GAUSS, AssemblyDomainEleOp >::iNtegrate ( EntitiesFieldData::EntData &  data)

Member Data Documentation

◆ commonDataPtr

template<int DIM, typename AssemblyDomainEleOp >
boost::shared_ptr< CommonData > PlasticOps::OpCalculatePlasticFlowRhsImpl< DIM, GAUSS, AssemblyDomainEleOp >::commonDataPtr
private

Definition at line 832 of file PlasticOpsGeneric.hpp.

◆ mDPtr

template<int DIM, typename AssemblyDomainEleOp >
boost::shared_ptr< MatrixDouble > PlasticOps::OpCalculatePlasticFlowRhsImpl< DIM, GAUSS, AssemblyDomainEleOp >::mDPtr
private

Definition at line 833 of file PlasticOpsGeneric.hpp.


The documentation for this struct was generated from the following file: