diff --git a/ProcessLib/TH2M/IntegrationPointData.h b/ProcessLib/TH2M/IntegrationPointData.h index a5095fd27d082c784a251e0e987755597ae8d2b3..27adc5dccff08c051c3b95b34d0e367846d4127e 100644 --- a/ProcessLib/TH2M/IntegrationPointData.h +++ b/ProcessLib/TH2M/IntegrationPointData.h @@ -62,22 +62,13 @@ struct IntegrationPointData final double s_L = std::numeric_limits<double>::quiet_NaN(); double s_L_prev = std::numeric_limits<double>::quiet_NaN(); - double dsLdpCap = std::numeric_limits<double>::quiet_NaN(); - double MC = std::numeric_limits<double>::quiet_NaN(); - double MW = std::numeric_limits<double>::quiet_NaN(); - double MG = std::numeric_limits<double>::quiet_NaN(); // phase intrinsic densities double rhoGR = std::numeric_limits<double>::quiet_NaN(); double rhoLR = std::numeric_limits<double>::quiet_NaN(); double rhoSR = std::numeric_limits<double>::quiet_NaN(); - // solid phase pressure - double p_SR = std::numeric_limits<double>::quiet_NaN(); double pWGR = std::numeric_limits<double>::quiet_NaN(); - double dp_vap_dT = std::numeric_limits<double>::quiet_NaN(); - double dp_vap_dpCap = std::numeric_limits<double>::quiet_NaN(); - // real constitutent partial densities double rhoCGR = std::numeric_limits<double>::quiet_NaN(); double rhoCGR_prev = std::numeric_limits<double>::quiet_NaN(); @@ -88,24 +79,12 @@ struct IntegrationPointData final double rhoWLR = std::numeric_limits<double>::quiet_NaN(); double rhoWLR_prev = std::numeric_limits<double>::quiet_NaN(); - double drhoGR_dpGR = std::numeric_limits<double>::quiet_NaN(); - double drhoGR_dT = std::numeric_limits<double>::quiet_NaN(); - // phase composition // molar fraction double xnCG = std::numeric_limits<double>::quiet_NaN(); - double xnWG = std::numeric_limits<double>::quiet_NaN(); - double xnCL = std::numeric_limits<double>::quiet_NaN(); - double xnWL = std::numeric_limits<double>::quiet_NaN(); - - double dxnCG_dpGR = std::numeric_limits<double>::quiet_NaN(); - double dxnCG_dpCap = std::numeric_limits<double>::quiet_NaN(); - double dxnCG_dT = std::numeric_limits<double>::quiet_NaN(); // mass fraction double xmCG = std::numeric_limits<double>::quiet_NaN(); - double xmWG = std::numeric_limits<double>::quiet_NaN(); - double xmCL = std::numeric_limits<double>::quiet_NaN(); double xmWL = std::numeric_limits<double>::quiet_NaN(); // mass fraction derivatives double dxmCG_dpGR = std::numeric_limits<double>::quiet_NaN(); @@ -138,23 +117,12 @@ struct IntegrationPointData final double h_CG = std::numeric_limits<double>::quiet_NaN(); double h_WG = std::numeric_limits<double>::quiet_NaN(); - double dhG_dT = std::numeric_limits<double>::quiet_NaN(); - // internal energies double u_G = std::numeric_limits<double>::quiet_NaN(); double u_L = std::numeric_limits<double>::quiet_NaN(); double rho_u_eff = std::numeric_limits<double>::quiet_NaN(); double rho_u_eff_prev = std::numeric_limits<double>::quiet_NaN(); - // heat capacities - double cp_G = std::numeric_limits<double>::quiet_NaN(); - double cp_CG = std::numeric_limits<double>::quiet_NaN(); - double cp_WG = std::numeric_limits<double>::quiet_NaN(); - double cp_L = std::numeric_limits<double>::quiet_NaN(); - double cp_CL = std::numeric_limits<double>::quiet_NaN(); - double cp_WL = std::numeric_limits<double>::quiet_NaN(); - double cp_S = std::numeric_limits<double>::quiet_NaN(); - // porosity double phi = std::numeric_limits<double>::quiet_NaN(); double phi_prev = std::numeric_limits<double>::quiet_NaN(); @@ -169,9 +137,7 @@ struct IntegrationPointData final double phi_S_p_SR_prev = std::numeric_limits<double>::quiet_NaN(); double thermal_volume_strain = std::numeric_limits<double>::quiet_NaN(); - double beta_pS = std::numeric_limits<double>::quiet_NaN(); double beta_T_SR = std::numeric_limits<double>::quiet_NaN(); - double c_p_S = std::numeric_limits<double>::quiet_NaN(); double alpha_B = std::numeric_limits<double>::quiet_NaN(); double beta_p_SR = std::numeric_limits<double>::quiet_NaN(); diff --git a/ProcessLib/TH2M/TH2MFEM-impl.h b/ProcessLib/TH2M/TH2MFEM-impl.h index 6f8789eced9061f6ebd8fe56e2b3122bab1329c9..d38cab5380eba68d5ff7773b77da7f9c33b535b5 100644 --- a/ProcessLib/TH2M/TH2MFEM-impl.h +++ b/ProcessLib/TH2M/TH2MFEM-impl.h @@ -211,10 +211,6 @@ void TH2MLocalAssembler<ShapeFunctionDisplacement, ShapeFunctionPressure, .template value<double>( vars, pos, t, std::numeric_limits<double>::quiet_NaN()); - ip_data.c_p_S = - solid_phase.property(MPL::PropertyType::specific_heat_capacity) - .template value<double>(vars, pos, t, dt); - auto const lambdaSR = MPL::formEigenTensor<DisplacementDim>( solid_phase.property(MPL::PropertyType::thermal_conductivity) .value(vars, pos, t, dt)); @@ -262,12 +258,12 @@ void TH2MLocalAssembler<ShapeFunctionDisplacement, ShapeFunctionPressure, auto const lambdaGR = MPL::formEigenTensor<DisplacementDim>(c.lambdaGR); auto const lambdaLR = MPL::formEigenTensor<DisplacementDim>(c.lambdaLR); - auto const lambda = - phi_S * lambdaSR + phi_L * lambdaLR + phi_G * lambdaGR; + ip_data.lambda = phi_S * lambdaSR + phi_L * lambdaLR + phi_G * lambdaGR; - ip_data.lambda = lambda; - - ip_data.h_S = ip_data.c_p_S * T; + auto const cpS = + solid_phase.property(MPL::PropertyType::specific_heat_capacity) + .template value<double>(vars, pos, t, dt); + ip_data.h_S = cpS * T; auto const u_S = ip_data.h_S; ip_data.rho_u_eff = phi_G * c.rhoGR * c.uG + phi_L * c.rhoLR * c.uL + @@ -277,12 +273,6 @@ void TH2MLocalAssembler<ShapeFunctionDisplacement, ShapeFunctionPressure, ip_data.rho_L_h_L = phi_L * c.rhoLR * c.hL; ip_data.rho_S_h_S = phi_S * rhoSR * ip_data.h_S; - ip_data.pWGR = c.pWGR; - - ip_data.xnCG = c.xnCG; - ip_data.xmCG = c.xmCG; - ip_data.xmWL = c.xmWL; - ip_data.muGR = c.muGR; ip_data.muLR = c.muLR; @@ -307,12 +297,8 @@ void TH2MLocalAssembler<ShapeFunctionDisplacement, ShapeFunctionPressure, ip_data.diffusion_coefficient_vapour = c.diffusion_coefficient_vapour; ip_data.diffusion_coefficient_solvate = c.diffusion_coefficient_solvate; - ip_data.u_G = c.uG; - ip_data.u_L = c.uL; ip_data.h_G = c.hG; - ip_data.h_CG = c.hCG; ip_data.h_L = c.hL; - ip_data.h_WG = c.hWG; } } @@ -494,8 +480,6 @@ void TH2MLocalAssembler< Eigen::Map<Eigen::VectorXd const>(local_x.data(), local_x.size()), t, dt); - auto const& medium = *_process_data.media_map->getMedium(_element.getID()); - auto const& solid_phase = medium.phase("Solid"); MPL::VariableArray vars; for (unsigned int_point = 0; int_point < n_integration_points; int_point++) @@ -594,7 +578,6 @@ void TH2MLocalAssembler< // phase specific enthalpies auto& h_G = ip.h_G; auto& h_L = ip.h_L; - // auto& h_S = ip.h_S; auto const rho_C_GR_dot = (ip.rhoCGR - ip.rhoCGR_prev) / dt; auto const rho_C_LR_dot = (ip.rhoCLR - ip.rhoCLR_prev) / dt;