mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Compressible solvers: change interpolation of rho*HbyA back to HbyA to avoid instability in prism and NACA test cases
This commit is contained in:
@ -21,9 +21,9 @@ if (pimple.transonic())
|
|||||||
"phid",
|
"phid",
|
||||||
fvc::interpolate(psi)
|
fvc::interpolate(psi)
|
||||||
*(
|
*(
|
||||||
(fvc::interpolate(rho*HbyA) & mesh.Sf())
|
(fvc::interpolate(HbyA) & mesh.Sf())
|
||||||
+ rhorAUf*fvc::ddtCorr(rho, U, phi)
|
+ rhorAUf*fvc::ddtCorr(rho, U, phi)/fvc::interpolate(rho)
|
||||||
)/fvc::interpolate(rho)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
fvOptions.makeRelative(fvc::interpolate(psi), phid);
|
fvOptions.makeRelative(fvc::interpolate(psi), phid);
|
||||||
|
|||||||
@ -21,9 +21,9 @@ if (pimple.transonic())
|
|||||||
"phid",
|
"phid",
|
||||||
fvc::interpolate(psi)
|
fvc::interpolate(psi)
|
||||||
*(
|
*(
|
||||||
(fvc::interpolate(rho*HbyA) & mesh.Sf())
|
(fvc::interpolate(HbyA) & mesh.Sf())
|
||||||
+ rhorAUf*fvc::ddtCorr(rho, U, rhoUf)
|
+ rhorAUf*fvc::ddtCorr(rho, U, rhoUf)/fvc::interpolate(rho)
|
||||||
)/fvc::interpolate(rho)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
fvc::makeRelative(phid, psi, U);
|
fvc::makeRelative(phid, psi, U);
|
||||||
|
|||||||
@ -20,9 +20,10 @@ if (pimple.transonic())
|
|||||||
"phid",
|
"phid",
|
||||||
fvc::interpolate(psi)
|
fvc::interpolate(psi)
|
||||||
*(
|
*(
|
||||||
(fvc::interpolate(rho*HbyA) & mesh.Sf())
|
(fvc::interpolate(HbyA) & mesh.Sf())
|
||||||
+ fvc::interpolate(rho*rAU)*fvc::ddtCorr(rho, U, phi)
|
+ fvc::interpolate(rho*rAU)*fvc::ddtCorr(rho, U, phi)
|
||||||
)/fvc::interpolate(rho)
|
/fvc::interpolate(rho)
|
||||||
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
fvOptions.makeRelative(fvc::interpolate(psi), phid);
|
fvOptions.makeRelative(fvc::interpolate(psi), phid);
|
||||||
|
|||||||
@ -13,8 +13,7 @@
|
|||||||
(
|
(
|
||||||
"phid",
|
"phid",
|
||||||
fvc::interpolate(psi)
|
fvc::interpolate(psi)
|
||||||
*(fvc::interpolate(rho*HbyA) & mesh.Sf())
|
*(fvc::interpolate(HbyA) & mesh.Sf())
|
||||||
/fvc::interpolate(rho)
|
|
||||||
);
|
);
|
||||||
|
|
||||||
fvOptions.makeRelative(fvc::interpolate(psi), phid);
|
fvOptions.makeRelative(fvc::interpolate(psi), phid);
|
||||||
|
|||||||
@ -14,8 +14,7 @@ if (simple.transonic())
|
|||||||
(
|
(
|
||||||
"phid",
|
"phid",
|
||||||
fvc::interpolate(psi)
|
fvc::interpolate(psi)
|
||||||
*(fvc::interpolate(rho*HbyA) & mesh.Sf())
|
*(fvc::interpolate(HbyA) & mesh.Sf())
|
||||||
/fvc::interpolate(rho)
|
|
||||||
);
|
);
|
||||||
|
|
||||||
surfaceScalarField phic
|
surfaceScalarField phic
|
||||||
|
|||||||
@ -11,9 +11,9 @@ surfaceScalarField phid
|
|||||||
"phid",
|
"phid",
|
||||||
fvc::interpolate(psi)*
|
fvc::interpolate(psi)*
|
||||||
(
|
(
|
||||||
(mesh.Sf() & fvc::interpolate(rho*HbyA))
|
(mesh.Sf() & fvc::interpolate(HbyA))
|
||||||
+ rhorAUf*fvc::ddtCorr(rho, U, phi)
|
+ rhorAUf*fvc::ddtCorr(rho, U, phi)/fvc::interpolate(rho)
|
||||||
)/fvc::interpolate(rho)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
// Non-orthogonal pressure corrector loop
|
// Non-orthogonal pressure corrector loop
|
||||||
|
|||||||
@ -12,9 +12,9 @@ surfaceScalarField phid
|
|||||||
fvc::interpolate(psi)
|
fvc::interpolate(psi)
|
||||||
*(
|
*(
|
||||||
(
|
(
|
||||||
(fvc::interpolate(rho*HbyA) & mesh.Sf())
|
(fvc::interpolate(HbyA) & mesh.Sf())
|
||||||
+ rhorAUf*fvc::ddtCorr(rho, U, rhoUf)
|
+ rhorAUf*fvc::ddtCorr(rho, U, rhoUf)/fvc::interpolate(rho)
|
||||||
)/fvc::interpolate(rho)
|
)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@ -89,9 +89,9 @@ int main(int argc, char *argv[])
|
|||||||
"phid",
|
"phid",
|
||||||
psi
|
psi
|
||||||
*(
|
*(
|
||||||
(fvc::interpolate(rho*U) & mesh.Sf())
|
(fvc::interpolate(U) & mesh.Sf())
|
||||||
+ rhorAUf*fvc::ddtCorr(rho, U, phi)
|
+ rhorAUf*fvc::ddtCorr(rho, U, phi)/fvc::interpolate(rho)
|
||||||
)/fvc::interpolate(rho)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
phi = (rhoO/psi)*phid;
|
phi = (rhoO/psi)*phid;
|
||||||
|
|||||||
Reference in New Issue
Block a user