From af0ced5f245386e447e37efa9b101742ff9336e0 Mon Sep 17 00:00:00 2001 From: Cristopher-Morales Date: Thu, 18 Dec 2025 16:27:21 +0100 Subject: [PATCH] initial commit --- SU2_CFD/include/numerics/CNumerics.hpp | 4 ++-- .../include/variables/CIncEulerVariable.hpp | 6 +++--- SU2_CFD/src/numerics/CNumerics.cpp | 20 +++++++++---------- SU2_CFD/src/variables/CIncNSVariable.cpp | 3 +++ 4 files changed, 18 insertions(+), 15 deletions(-) diff --git a/SU2_CFD/include/numerics/CNumerics.hpp b/SU2_CFD/include/numerics/CNumerics.hpp index 90c3a2e4cc4f..d5da1b16b411 100644 --- a/SU2_CFD/include/numerics/CNumerics.hpp +++ b/SU2_CFD/include/numerics/CNumerics.hpp @@ -1059,7 +1059,7 @@ class CNumerics { * \param[in] val_velocity - Pointer to the velocity. * \param[in] val_betainc2 - Value of the artificial compresibility factor. * \param[in] val_enthalpy - Value of the enthalpy. - * \param[in] val_dRhodT - Value of the derivative of density w.r.t. temperature. + * \param[in] val_dRhodh - Value of the derivative of density w.r.t. enthalpy. * \param[in] val_normal - Normal vector, the norm of the vector is the area of the face. * \param[in] val_scale - Scale of the projection. * \param[out] val_Proj_Jac_tensor - Pointer to the projected inviscid Jacobian. @@ -1068,7 +1068,7 @@ class CNumerics { const su2double *val_velocity, const su2double *val_betainc2, const su2double *val_enthalpy, - const su2double *val_dRhodT, + const su2double *val_dRhodh, const su2double *val_normal, su2double val_scale, su2double **val_Proj_Jac_Tensor) const; diff --git a/SU2_CFD/include/variables/CIncEulerVariable.hpp b/SU2_CFD/include/variables/CIncEulerVariable.hpp index d53dc75386b2..5573949ea62b 100644 --- a/SU2_CFD/include/variables/CIncEulerVariable.hpp +++ b/SU2_CFD/include/variables/CIncEulerVariable.hpp @@ -78,14 +78,14 @@ class CIncEulerVariable : public CFlowVariable { * \brief Constructor of the class. * \param[in] val_pressure - value of the pressure. * \param[in] velocity - Value of the flow velocity (initialization value). - * \param[in] temperature - Value of the temperature (initialization value). + * \param[in] enthalpy - Value of the enthalpy (initialization value). * \param[in] npoint - Number of points/nodes/vertices in the domain. * \param[in] ndim - Number of dimensions of the problem. * \param[in] nvar - Number of variables of the problem. * \param[in] config - Definition of the particular problem. */ - CIncEulerVariable(su2double pressure, const su2double *velocity, su2double temperature, + CIncEulerVariable(su2double pressure, const su2double *velocity, su2double enthalpy, unsigned long npoint, unsigned long ndim, unsigned long nvar, const CConfig *config); /*! @@ -125,7 +125,7 @@ class CIncEulerVariable : public CFlowVariable { } /*! - * \brief Set the value of the enthalpy for multicomponent incompressible flows with energy equation. + * \brief Set the value of the enthalpy for incompressible flows with energy equation. * \param[in] iPoint - Point index. */ inline void SetEnthalpy(unsigned long iPoint, su2double val_enthalpy) { diff --git a/SU2_CFD/src/numerics/CNumerics.cpp b/SU2_CFD/src/numerics/CNumerics.cpp index 5944c333c131..b99ba723dd2b 100644 --- a/SU2_CFD/src/numerics/CNumerics.cpp +++ b/SU2_CFD/src/numerics/CNumerics.cpp @@ -250,7 +250,7 @@ void CNumerics::GetInviscidProjJac(const su2double *val_velocity, const su2doubl void CNumerics::GetInviscidIncProjJac(const su2double *val_density, const su2double *val_velocity, const su2double *val_betainc2, const su2double *val_enthalpy, - const su2double *val_dRhodT, const su2double *val_normal, + const su2double *val_dRhodh, const su2double *val_normal, su2double val_scale, su2double **val_Proj_Jac_Tensor) const { const bool wasActive = AD::BeginPassive(); unsigned short iDim; @@ -265,22 +265,22 @@ void CNumerics::GetInviscidIncProjJac(const su2double *val_density, const su2dou val_Proj_Jac_Tensor[0][0] = val_scale*(proj_vel/(*val_betainc2)); val_Proj_Jac_Tensor[0][1] = val_scale*(val_normal[0]*(*val_density)); val_Proj_Jac_Tensor[0][2] = val_scale*(val_normal[1]*(*val_density)); - val_Proj_Jac_Tensor[0][3] = val_scale*((*val_dRhodT)*proj_vel); + val_Proj_Jac_Tensor[0][3] = val_scale*((*val_dRhodh)*proj_vel); val_Proj_Jac_Tensor[1][0] = val_scale*(val_normal[0] + val_velocity[0]*proj_vel/(*val_betainc2)); val_Proj_Jac_Tensor[1][1] = val_scale*((*val_density)*(val_normal[0]*val_velocity[0] + proj_vel)); val_Proj_Jac_Tensor[1][2] = val_scale*(val_normal[1]*(*val_density)*val_velocity[0]); - val_Proj_Jac_Tensor[1][3] = val_scale*((*val_dRhodT)*val_velocity[0]*proj_vel); + val_Proj_Jac_Tensor[1][3] = val_scale*((*val_dRhodh)*val_velocity[0]*proj_vel); val_Proj_Jac_Tensor[2][0] = val_scale*(val_normal[1] + val_velocity[1]*proj_vel/(*val_betainc2)); val_Proj_Jac_Tensor[2][1] = val_scale*(val_normal[0]*(*val_density)*val_velocity[1]); val_Proj_Jac_Tensor[2][2] = val_scale*((*val_density)*(proj_vel + val_normal[1]*val_velocity[1])); - val_Proj_Jac_Tensor[2][3] = val_scale*((*val_dRhodT)*val_velocity[1]*proj_vel); + val_Proj_Jac_Tensor[2][3] = val_scale*((*val_dRhodh)*val_velocity[1]*proj_vel); val_Proj_Jac_Tensor[3][0] = val_scale*((*val_enthalpy)*proj_vel/(*val_betainc2)); val_Proj_Jac_Tensor[3][1] = val_scale*((*val_enthalpy)*val_normal[0]*(*val_density)); val_Proj_Jac_Tensor[3][2] = val_scale*((*val_enthalpy)*val_normal[1]*(*val_density)); - val_Proj_Jac_Tensor[3][3] = val_scale*(((*val_enthalpy)*(*val_dRhodT) + (*val_density))*proj_vel); + val_Proj_Jac_Tensor[3][3] = val_scale*(((*val_enthalpy)*(*val_dRhodh) + (*val_density))*proj_vel); } else { @@ -288,31 +288,31 @@ void CNumerics::GetInviscidIncProjJac(const su2double *val_density, const su2dou val_Proj_Jac_Tensor[0][1] = val_scale*(val_normal[0]*(*val_density)); val_Proj_Jac_Tensor[0][2] = val_scale*(val_normal[1]*(*val_density)); val_Proj_Jac_Tensor[0][3] = val_scale*(val_normal[2]*(*val_density)); - val_Proj_Jac_Tensor[0][4] = val_scale*((*val_dRhodT)*proj_vel); + val_Proj_Jac_Tensor[0][4] = val_scale*((*val_dRhodh)*proj_vel); val_Proj_Jac_Tensor[1][0] = val_scale*(val_normal[0] + val_velocity[0]*proj_vel/(*val_betainc2)); val_Proj_Jac_Tensor[1][1] = val_scale*((*val_density)*(val_normal[0]*val_velocity[0] + proj_vel)); val_Proj_Jac_Tensor[1][2] = val_scale*(val_normal[1]*(*val_density)*val_velocity[0]); val_Proj_Jac_Tensor[1][3] = val_scale*(val_normal[2]*(*val_density)*val_velocity[0]); - val_Proj_Jac_Tensor[1][4] = val_scale*((*val_dRhodT)*val_velocity[0]*proj_vel); + val_Proj_Jac_Tensor[1][4] = val_scale*((*val_dRhodh)*val_velocity[0]*proj_vel); val_Proj_Jac_Tensor[2][0] = val_scale*(val_normal[1] + val_velocity[1]*proj_vel/(*val_betainc2)); val_Proj_Jac_Tensor[2][1] = val_scale*(val_normal[0]*(*val_density)*val_velocity[1]); val_Proj_Jac_Tensor[2][2] = val_scale*((*val_density)*(proj_vel + val_normal[1]*val_velocity[1])); val_Proj_Jac_Tensor[2][3] = val_scale*(val_normal[2]*(*val_density)*val_velocity[1]); - val_Proj_Jac_Tensor[2][4] = val_scale*((*val_dRhodT)*val_velocity[1]*proj_vel); + val_Proj_Jac_Tensor[2][4] = val_scale*((*val_dRhodh)*val_velocity[1]*proj_vel); val_Proj_Jac_Tensor[3][0] = val_scale*(val_normal[2] + val_velocity[2]*proj_vel/(*val_betainc2)); val_Proj_Jac_Tensor[3][1] = val_scale*(val_normal[0]*(*val_density)*val_velocity[2]); val_Proj_Jac_Tensor[3][2] = val_scale*(val_normal[1]*(*val_density)*val_velocity[2]); val_Proj_Jac_Tensor[3][3] = val_scale*((*val_density)*(proj_vel + val_normal[2]*val_velocity[2])); - val_Proj_Jac_Tensor[3][4] = val_scale*((*val_dRhodT)*val_velocity[2]*proj_vel); + val_Proj_Jac_Tensor[3][4] = val_scale*((*val_dRhodh)*val_velocity[2]*proj_vel); val_Proj_Jac_Tensor[4][0] = val_scale*((*val_enthalpy)*proj_vel/(*val_betainc2)); val_Proj_Jac_Tensor[4][1] = val_scale*((*val_enthalpy)*val_normal[0]*(*val_density)); val_Proj_Jac_Tensor[4][2] = val_scale*((*val_enthalpy)*val_normal[1]*(*val_density)); val_Proj_Jac_Tensor[4][3] = val_scale*((*val_enthalpy)*val_normal[2]*(*val_density)); - val_Proj_Jac_Tensor[4][4] = val_scale*(((*val_enthalpy)*(*val_dRhodT) + (*val_density))*proj_vel); + val_Proj_Jac_Tensor[4][4] = val_scale*(((*val_enthalpy)*(*val_dRhodh) + (*val_density))*proj_vel); } AD::EndPassive(wasActive); diff --git a/SU2_CFD/src/variables/CIncNSVariable.cpp b/SU2_CFD/src/variables/CIncNSVariable.cpp index 9f13d3a1212d..e31109fcd662 100644 --- a/SU2_CFD/src/variables/CIncNSVariable.cpp +++ b/SU2_CFD/src/variables/CIncNSVariable.cpp @@ -123,6 +123,9 @@ bool CIncNSVariable::SetPrimVar(unsigned long iPoint, su2double eddy_visc, su2do SetSpecificHeatCp(iPoint, FluidModel->GetCp()); SetSpecificHeatCv(iPoint, FluidModel->GetCv()); + + /*--- Set enthalpy ---*/ + SetEnthalpy(iPoint, FluidModel->GetEnthalpy()); return physical;