From 6bb0bd8b8c0848e83060e74586ae47cc37845794 Mon Sep 17 00:00:00 2001 From: Dmitri Naumov <github@naumov.de> Date: Thu, 7 Oct 2021 21:34:41 +0200 Subject: [PATCH] [PL/TH2M] fC_4_LCpC derivatives wrt p_cap, p_GR, T. Commented for now because not tested. --- ProcessLib/TH2M/ConstitutiveVariables.h | 6 ++++ ProcessLib/TH2M/TH2MFEM-impl.h | 43 +++++++++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/ProcessLib/TH2M/ConstitutiveVariables.h b/ProcessLib/TH2M/ConstitutiveVariables.h index 6a06e5a598c..e7aaa38995b 100644 --- a/ProcessLib/TH2M/ConstitutiveVariables.h +++ b/ProcessLib/TH2M/ConstitutiveVariables.h @@ -47,6 +47,12 @@ struct ConstitutiveVariables DisplacementDimMatrix dfW_4_LWpC_d_dp_cap; DisplacementDimMatrix dfW_4_LWpC_d_dT; DisplacementDimMatrix dfC_4_LCpG_dT; + DisplacementDimMatrix dfC_4_LCpC_a_dp_GR; + DisplacementDimMatrix dfC_4_LCpC_a_dp_cap; + DisplacementDimMatrix dfC_4_LCpC_a_dT; + DisplacementDimMatrix dfC_4_LCpC_d_dp_GR; + DisplacementDimMatrix dfC_4_LCpC_d_dp_cap; + DisplacementDimMatrix dfC_4_LCpC_d_dT; DisplacementDimMatrix dadvection_C_dp_GR; DisplacementDimMatrix dadvection_C_dp_cap; DisplacementDimMatrix dk_over_mu_G_dp_cap; diff --git a/ProcessLib/TH2M/TH2MFEM-impl.h b/ProcessLib/TH2M/TH2MFEM-impl.h index fe85628cce3..b0f05849d61 100644 --- a/ProcessLib/TH2M/TH2MFEM-impl.h +++ b/ProcessLib/TH2M/TH2MFEM-impl.h @@ -698,6 +698,23 @@ TH2MLocalAssembler<ShapeFunctionDisplacement, ShapeFunctionPressure, Eigen::Matrix<double, DisplacementDim, DisplacementDim>::Zero(); ip_cv.dfW_4_LWpC_d_dT = Eigen::Matrix<double, DisplacementDim, DisplacementDim>::Zero(); + + ip_cv.dfC_4_LCpC_a_dp_GR = c.drho_C_LR_dp_GR * k_over_mu_L + //+ rhoCLR * (dk_over_mu_L_dp_GR = 0) + ; + ip_cv.dfC_4_LCpC_a_dp_cap = -c.drho_C_LR_dp_LR * k_over_mu_L + + ip_data.rhoCLR * ip_cv.dk_over_mu_L_dp_cap; + ip_cv.dfC_4_LCpC_a_dT = c.drho_W_LR_dT * k_over_mu_L + //+ rhoWLR * (dk_over_mu_L_dT != 0 TODO for mu_L(T)) + ; + + // TODO (naumov) for dxmW*/d* != 0 + ip_cv.dfC_4_LCpC_d_dp_GR = + Eigen::Matrix<double, DisplacementDim, DisplacementDim>::Zero(); + ip_cv.dfC_4_LCpC_d_dp_cap = + Eigen::Matrix<double, DisplacementDim, DisplacementDim>::Zero(); + ip_cv.dfC_4_LCpC_d_dT = + Eigen::Matrix<double, DisplacementDim, DisplacementDim>::Zero(); } return ip_constitutive_variables; @@ -1492,6 +1509,32 @@ void TH2MLocalAssembler<ShapeFunctionDisplacement, ShapeFunctionPressure, LCpC.noalias() -= gradNpT * (advection_C_L + diffusion_C_L_p) * gradNp * w; + /* TODO (naumov) This part is not tested by any of the current ctests. + // d (fC_4_LCpC * grad p_cap)/d p_GR + local_Jac.template block<C_size, C_size>(C_index, C_index).noalias() += + gradNpT * + (ip_cv.dfC_4_LCpC_a_dp_GR + // + ip_cv.dfC_4_LCpC_d_dp_GR TODO (naumov) + ) * + gradpCap * Np * w; + // d (fC_4_LCpC * grad p_cap)/d p_cap + local_Jac.template block<C_size, W_size>(C_index, W_index).noalias() += + gradNpT * + (ip_cv.dfC_4_LCpC_a_dp_cap + // + ip_cv.dfC_4_LCpC_d_dp_cap TODO (naumov) + ) * + gradpCap * Np * w; + + local_Jac + .template block<C_size, temperature_size>(C_index, + temperature_index) + .noalias() += gradNpT * + (ip_cv.dfC_4_LCpC_a_dT + // + ip_cv.dfC_4_LCpC_d_dT TODO (naumov) + ) * + gradpCap * Np * w; + */ + LCT.noalias() += gradNpT * diffusion_C_T * gradNp * w; // fC_1 -- GitLab