@@ -1738,32 +1738,37 @@ void CEulerSolver::SetTime_Step(CGeometry *geometry, CSolver **solver_container,
17381738
17391739 /* --- Define an object to compute the viscous eigenvalue. ---*/
17401740 struct LambdaVisc {
1741- const su2double gamma, prandtlLam, prandtlTurb;
1741+ const su2double gamma, prandtlTurb;
17421742
1743- LambdaVisc (su2double g, su2double pl, su2double pt) : gamma(g), prandtlLam(pl ), prandtlTurb(pt) {}
1743+ LambdaVisc (su2double g, su2double pt) : gamma(g), prandtlTurb(pt) {}
17441744
1745- FORCEINLINE su2double lambda (su2double laminarVisc, su2double eddyVisc, su2double density) const {
1746- su2double Lambda_1 = (4.0 /3.0 )*(laminarVisc + eddyVisc);
1745+ FORCEINLINE su2double lambda (su2double laminarVisc, su2double eddyVisc, su2double density, su2double cp,
1746+ su2double thermalCond) const {
1747+ su2double Lambda_1 = (4.0 / 3.0 ) * (laminarVisc + eddyVisc);
17471748 // / TODO: (REAL_GAS) removing gamma as it cannot work with FLUIDPROP
1748- su2double Lambda_2 = (1.0 + (prandtlLam/ prandtlTurb)*(eddyVisc/laminarVisc))*( gamma*laminarVisc/prandtlLam) ;
1749+ su2double Lambda_2 = (thermalCond / cp + eddyVisc / prandtlTurb) * gamma;
17491750 return (Lambda_1 + Lambda_2) / density;
17501751 }
17511752
17521753 FORCEINLINE su2double operator () (const CEulerVariable& nodes, unsigned long iPoint, unsigned long jPoint) const {
17531754 su2double laminarVisc = 0.5 *(nodes.GetLaminarViscosity (iPoint) + nodes.GetLaminarViscosity (jPoint));
17541755 su2double eddyVisc = 0.5 *(nodes.GetEddyViscosity (iPoint) + nodes.GetEddyViscosity (jPoint));
17551756 su2double density = 0.5 *(nodes.GetDensity (iPoint) + nodes.GetDensity (jPoint));
1756- return lambda (laminarVisc, eddyVisc, density);
1757+ su2double thermalCond = 0.5 *(nodes.GetThermalConductivity (iPoint) + nodes.GetThermalConductivity (jPoint));
1758+ su2double cp = 0.5 *(nodes.GetSpecificHeatCp (iPoint) + nodes.GetSpecificHeatCp (jPoint));
1759+ return lambda (laminarVisc, eddyVisc, density, cp, thermalCond);
17571760 }
17581761
17591762 FORCEINLINE su2double operator () (const CEulerVariable& nodes, unsigned long iPoint) const {
17601763 su2double laminarVisc = nodes.GetLaminarViscosity (iPoint);
17611764 su2double eddyVisc = nodes.GetEddyViscosity (iPoint);
17621765 su2double density = nodes.GetDensity (iPoint);
1763- return lambda (laminarVisc, eddyVisc, density);
1766+ su2double thermalCond = nodes.GetThermalConductivity (iPoint);
1767+ su2double cp = nodes.GetSpecificHeatCp (iPoint);
1768+ return lambda (laminarVisc, eddyVisc, density, cp, thermalCond);
17641769 }
17651770
1766- } lambdaVisc (Gamma, Prandtl_Lam, Prandtl_Turb);
1771+ } lambdaVisc (Gamma, Prandtl_Turb);
17671772
17681773 /* --- Now instantiate the generic implementation with the two functors above. ---*/
17691774
0 commit comments