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>
883 OpCalculatePlasticityWithoutRatesImpl(
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);
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
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)