@@ -1527,9 +1527,9 @@ void CIncEulerSolver::Source_Residual(CGeometry *geometry, CSolver **solver_cont
15271527
15281528 for (iPoint = 0 ; iPoint < nPointDomain; iPoint++) {
15291529
1530- /* --- Load the conservative variables ---*/
1530+ /* --- Load the primitive variables ---*/
15311531
1532- numerics->SetConservative (nodes->GetSolution (iPoint), nullptr );
1532+ numerics->SetPrimitive (nodes->GetPrimitive (iPoint), nullptr );
15331533
15341534 /* --- Set incompressible density ---*/
15351535
@@ -3051,33 +3051,19 @@ void CIncEulerSolver::SetResidual_DualTime(CGeometry *geometry, CSolver **solver
30513051 LinSysRes.AddBlock (iPoint, Residual);
30523052
30533053 if (implicit) {
3054-
3055- SetPreconditioner (config, iPoint);
3056- for (iVar = 0 ; iVar < nVar; iVar++) {
3057- for (jVar = 0 ; jVar < nVar; jVar++) {
3058- Jacobian_i[iVar][jVar] = Preconditioner[iVar][jVar];
3059- }
3060- }
3061-
3062- for (iVar = 0 ; iVar < nVar; iVar++) {
3063- for (jVar = 0 ; jVar < nVar; jVar++) {
3064- if (config->GetTime_Marching () == DT_STEPPING_1ST)
3065- Jacobian_i[iVar][jVar] *= Volume_nP1 / TimeStep;
3066- if (config->GetTime_Marching () == DT_STEPPING_2ND)
3067- Jacobian_i[iVar][jVar] *= (Volume_nP1*3.0 )/(2.0 *TimeStep);
3068- }
3069- }
3070-
3071- if (!energy) {
3072- for (iVar = 0 ; iVar < nVar; iVar++) {
3073- Jacobian_i[iVar][nDim+1 ] = 0.0 ;
3074- Jacobian_i[nDim+1 ][iVar] = 0.0 ;
3075- }
3054+ for (iVar = 1 ; iVar < nVar; iVar++) {
3055+ if (config->GetTime_Marching () == DT_STEPPING_1ST)
3056+ Jacobian_i[iVar][iVar] = Volume_nP1 / TimeStep;
3057+ if (config->GetTime_Marching () == DT_STEPPING_2ND)
3058+ Jacobian_i[iVar][iVar] = (Volume_nP1*3.0 )/(2.0 *TimeStep);
30763059 }
3060+ for (iDim = 0 ; iDim < nDim; iDim++)
3061+ Jacobian_i[iDim+1 ][iDim+1 ] = Density*Jacobian_i[iDim+1 ][iDim+1 ];
3062+ if (energy) Jacobian_i[nDim+1 ][nDim+1 ] = Density*Cp*Jacobian_i[nDim+1 ][nDim+1 ];
30773063
30783064 Jacobian.AddBlock2Diag (iPoint, Jacobian_i);
3079-
30803065 }
3066+
30813067 }
30823068
30833069 }
@@ -3276,31 +3262,21 @@ void CIncEulerSolver::SetResidual_DualTime(CGeometry *geometry, CSolver **solver
32763262 to the dual time source term. ---*/
32773263 if (!energy) Residual[nDim+1 ] = 0.0 ;
32783264 LinSysRes.AddBlock (iPoint, Residual);
3279- if (implicit) {
3280- SetPreconditioner (config, iPoint);
3281- for (iVar = 0 ; iVar < nVar; iVar++) {
3282- for (jVar = 0 ; jVar < nVar; jVar++) {
3283- Jacobian_i[iVar][jVar] = Preconditioner[iVar][jVar];
3284- }
3285- }
32863265
3287- for (iVar = 0 ; iVar < nVar; iVar++) {
3288- for (jVar = 0 ; jVar < nVar; jVar++) {
3289- if (config->GetTime_Marching () == DT_STEPPING_1ST)
3290- Jacobian_i[iVar][jVar] *= Volume_nP1 / TimeStep;
3291- if (config->GetTime_Marching () == DT_STEPPING_2ND)
3292- Jacobian_i[iVar][jVar] *= (Volume_nP1*3.0 )/(2.0 *TimeStep);
3293- }
3266+ if (implicit) {
3267+ for (iVar = 1 ; iVar < nVar; iVar++) {
3268+ if (config->GetTime_Marching () == DT_STEPPING_1ST)
3269+ Jacobian_i[iVar][iVar] = Volume_nP1 / TimeStep;
3270+ if (config->GetTime_Marching () == DT_STEPPING_2ND)
3271+ Jacobian_i[iVar][iVar] = (Volume_nP1*3.0 )/(2.0 *TimeStep);
32943272 }
3273+ for (iDim = 0 ; iDim < nDim; iDim++)
3274+ Jacobian_i[iDim+1 ][iDim+1 ] = Density*Jacobian_i[iDim+1 ][iDim+1 ];
3275+ if (energy) Jacobian_i[nDim+1 ][nDim+1 ] = Density*Cp*Jacobian_i[nDim+1 ][nDim+1 ];
32953276
3296- if (!energy) {
3297- for (iVar = 0 ; iVar < nVar; iVar++) {
3298- Jacobian_i[iVar][nDim+1 ] = 0.0 ;
3299- Jacobian_i[nDim+1 ][iVar] = 0.0 ;
3300- }
3301- }
33023277 Jacobian.AddBlock2Diag (iPoint, Jacobian_i);
33033278 }
3279+
33043280 }
33053281 }
33063282
0 commit comments