Skip to content

Commit fe5b0fb

Browse files
committed
AD fixes for RegisterVariables, part 2.
1 parent 1e57b74 commit fe5b0fb

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

SU2_CFD/src/solvers/CDiscAdjSolver.cpp

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -178,22 +178,24 @@ void CDiscAdjSolver::RegisterVariables(CGeometry *geometry, CConfig *config, boo
178178

179179
/*--- Register farfield values as input ---*/
180180

181-
if((config->GetKind_Regime() == ENUM_REGIME::COMPRESSIBLE) && (KindDirect_Solver == RUNTIME_FLOW_SYS && !config->GetBoolTurbomachinery())) {
181+
if((config->GetKind_Regime() == ENUM_REGIME::COMPRESSIBLE) && (KindDirect_Solver == RUNTIME_FLOW_SYS && !config->GetBoolTurbomachinery())){
182182

183183
su2double Velocity_Ref = config->GetVelocity_Ref();
184184
Alpha = config->GetAoA()*PI_NUMBER/180.0;
185185
Beta = config->GetAoS()*PI_NUMBER/180.0;
186186
Mach = config->GetMach();
187+
/*--- Pressure and Temperature values are accessed directly by the solver,
188+
* so we register the value in the config file. ---*/
187189
su2double& Pressure = config->GetPressure_FreeStreamND();
188190
su2double& Temperature = config->GetTemperature_FreeStreamND();
189191

190192
su2double SoundSpeed = 0.0;
191193

192-
AD::StopRecording();
194+
// AD::StopRecording();
193195
AD::ClearTagOnVariable(config->GetVelocity_FreeStreamND()[0]);
194196
if (nDim == 2) { SoundSpeed = config->GetVelocity_FreeStreamND()[0]*Velocity_Ref/(cos(Alpha)*Mach); }
195197
if (nDim == 3) { SoundSpeed = config->GetVelocity_FreeStreamND()[0]*Velocity_Ref/(cos(Alpha)*cos(Beta)*Mach); }
196-
AD::StartRecording();
198+
// AD::StartRecording();
197199

198200
if (!reset) {
199201
AD::RegisterInput(Mach);
@@ -214,11 +216,10 @@ void CDiscAdjSolver::RegisterVariables(CGeometry *geometry, CConfig *config, boo
214216
config->GetVelocity_FreeStreamND()[2] = sin(Alpha)*cos(Beta)*Mach*SoundSpeed/Velocity_Ref;
215217
}
216218

217-
config->SetTemperature_FreeStreamND(Temperature);
219+
// config->SetTemperature_FreeStreamND(Temperature);
218220
direct_solver->SetTemperature_Inf(Temperature);
219-
config->SetPressure_FreeStreamND(Pressure);
221+
// config->SetPressure_FreeStreamND(Pressure);
220222
direct_solver->SetPressure_Inf(Pressure);
221-
222223
}
223224

224225
if ((config->GetKind_Regime() == ENUM_REGIME::COMPRESSIBLE) && (KindDirect_Solver == RUNTIME_FLOW_SYS) && config->GetBoolTurbomachinery()){
@@ -402,6 +403,9 @@ void CDiscAdjSolver::ExtractAdjoint_Variables(CGeometry *geometry, CConfig *conf
402403
if ((config->GetKind_Regime() == ENUM_REGIME::COMPRESSIBLE) && (KindDirect_Solver == RUNTIME_FLOW_SYS) && !config->GetBoolTurbomachinery()) {
403404
su2double Local_Sens_Press, Local_Sens_Temp, Local_Sens_AoA, Local_Sens_Mach;
404405

406+
su2double& Pressure = config->GetPressure_FreeStreamND();
407+
su2double& Temperature = config->GetTemperature_FreeStreamND();
408+
405409
Local_Sens_Mach = SU2_TYPE::GetDerivative(Mach);
406410
Local_Sens_AoA = SU2_TYPE::GetDerivative(Alpha);
407411
Local_Sens_Temp = SU2_TYPE::GetDerivative(Temperature);

0 commit comments

Comments
 (0)