@@ -93,22 +93,18 @@ class CSourceBase_TurbSA : public CNumerics {
9393 * \return A lightweight const-view (read-only) of the residual/flux and Jacobians.
9494 */
9595 ResidualType<> ComputeResidual (const CConfig* config) override {
96- // / TODO: Fix AD preaccumulation.
97- // AD::StartPreacc();
98- // AD::SetPreaccIn(V_i, nDim+6);
99- // AD::SetPreaccIn(Vorticity_i, nDim);
100- // AD::SetPreaccIn(StrainMag_i);
101- // AD::SetPreaccIn(ScalarVar_i[0]);
102- // AD::SetPreaccIn(ScalarVar_Grad_i[0], nDim);
103- // AD::SetPreaccIn(Volume);
104- // AD::SetPreaccIn(dist_i);
96+ const auto & density = V_i[idx.Density ()];
97+ const auto & laminar_viscosity = V_i[idx.LaminarViscosity ()];
98+
99+ AD::StartPreacc ();
100+ AD::SetPreaccIn (density, laminar_viscosity, StrainMag_i, ScalarVar_i[0 ], Volume, dist_i, roughness_i);
101+ AD::SetPreaccIn (Vorticity_i, 3 );
102+ AD::SetPreaccIn (PrimVar_Grad_i + idx.Velocity (), nDim, nDim);
103+ AD::SetPreaccIn (ScalarVar_Grad_i[0 ], nDim);
105104
106105 /* --- Common auxiliary variables and constants of the model. ---*/
107106 CSAVariables var;
108107
109- const auto & density = V_i[idx.Density ()];
110- const auto & laminar_viscosity = V_i[idx.LaminarViscosity ()];
111-
112108 Residual = 0.0 ;
113109 Jacobian_i[0 ] = 0.0 ;
114110
@@ -201,8 +197,8 @@ class CSourceBase_TurbSA : public CNumerics {
201197 Jacobian_i[0 ] *= Volume;
202198 }
203199
204- // AD::SetPreaccOut(Residual);
205- // AD::EndPreacc();
200+ AD::SetPreaccOut (Residual);
201+ AD::EndPreacc ();
206202
207203 return ResidualType<>(&Residual, &Jacobian_i, nullptr );
208204 }
0 commit comments