Compressible solvers: change interpolation of rho*HbyA back to HbyA to avoid instability in prism and NACA test cases

This commit is contained in:
Henry
2014-02-04 16:24:23 +00:00
parent 1ace556c4a
commit 9dffad7cad
8 changed files with 20 additions and 21 deletions

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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

View File

@ -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

View File

@ -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) )
) )
); );

View File

@ -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;