diff --git a/ProcessLib/TH2M/ConstitutiveVariables.h b/ProcessLib/TH2M/ConstitutiveVariables.h index 3222383e1bcbf5f13757c1214afe4b4c2f71cae1..6a06e5a598c66a5c0085bc9964078b8e18055095 100644 --- a/ProcessLib/TH2M/ConstitutiveVariables.h +++ b/ProcessLib/TH2M/ConstitutiveVariables.h @@ -48,6 +48,7 @@ struct ConstitutiveVariables DisplacementDimMatrix dfW_4_LWpC_d_dT; DisplacementDimMatrix dfC_4_LCpG_dT; DisplacementDimMatrix dadvection_C_dp_GR; + DisplacementDimMatrix dadvection_C_dp_cap; DisplacementDimMatrix dk_over_mu_G_dp_cap; DisplacementDimMatrix dk_over_mu_L_dp_cap; double drho_u_eff_dT = std::numeric_limits<double>::quiet_NaN(); diff --git a/ProcessLib/TH2M/TH2MFEM-impl.h b/ProcessLib/TH2M/TH2MFEM-impl.h index 41ca5c41ece146333e93581043ffa6b8e47e6dcf..11e98a7cdf523b15e6f9b2b3ceac4505efcc43ad 100644 --- a/ProcessLib/TH2M/TH2MFEM-impl.h +++ b/ProcessLib/TH2M/TH2MFEM-impl.h @@ -602,6 +602,12 @@ TH2MLocalAssembler<ShapeFunctionDisplacement, ShapeFunctionPressure, // + rhoCLR * (dk_over_mu_L_dp_GR = 0) + c.drho_C_LR_dp_GR * k_over_mu_L; + ip_cv.dadvection_C_dp_cap = + //(drho_C_GR_dp_cap = 0) * k_over_mu_G + ip_data.rhoCGR * ip_cv.dk_over_mu_G_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_LCpG_dT = c.drho_C_GR_dT * k_over_mu_G + c.drho_C_LR_dT * k_over_mu_L // + ip_cv.ddiffusion_C_p_dT TODO (naumov) @@ -1455,6 +1461,14 @@ void TH2MLocalAssembler<ShapeFunctionDisplacement, ShapeFunctionPressure, ) * gradpGR * Np * w; + // d (fC_4_LCpG * grad p_GR)/d p_cap + local_Jac.template block<C_size, W_size>(C_index, W_index).noalias() += + gradNpT * + (ip_cv.dadvection_C_dp_cap + // + ip_cv.ddiffusion_C_p_dp_GR TODO (naumov) + ) * + gradpGR * Np * w; + // d (fC_4_LCpG * grad p_GR)/d T local_Jac .template block<C_size, temperature_size>(C_index,