Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Questions about the myLusgsFoam solver in compressible flow simulations #20

Open
dul6 opened this issue Jan 24, 2024 · 6 comments
Open

Comments

@dul6
Copy link

dul6 commented Jan 24, 2024

Dear professor Furstj,
I am very interested in your work, and I am trying to apply this solver to high-speed compressible flows.
I have tried several cases, including steady-state and transient. However, all these cases crashed, and the results are not satisfactory. I compared the case settings in the tutorial folder and try it to improve my cases, but it doesn't work. Could you give me some advice or suggestions? Thank you for your time and consideration. Attached is one of my cases, shocktube.
Best Regards
shockTube.zip

@furstj
Copy link
Owner

furstj commented Jan 24, 2024

Hi,
there are 2 issues in your setup:

  1. You have to use Hf 0; and Tref 0; in constants/thermophysicalProperties (see attachment). The reason is that my solver assumes that h = cpT (which simplifies the life a lot :). The OF "standard" was changed some time ago to use something as h = Hf + cp(T-Tref).

  2. You should not use rotated Riemann solver for 1D problem. BTW, the rotated solver is highhly experimental and it is intended mainly for hypersonic flows. Use hllcLMFlux (or hllcFlux, or ...)

shockTube.zip

@dul6
Copy link
Author

dul6 commented Jan 24, 2024

Hi Professor,

Thank you very much for your prompt reply and practical advice!

This setting works now, but I still have some inquiries about other settings.

  • When I turn on local time-stepping in system/fvSolution, the shockTube case still crashes, regardless of whether I use Euler or backward schemes.

  • I want to use janaf for thermo and sutherland for transport, but they do not have the option to set Hf 0 and Tref 0. Do you have any experience with this? Below is the setting in constants/thermophysicalProperties. I tried to set a[5] to 0, but it didn't work.

Thank you for your patience.

Sincerest Regards

`thermoType
{
type hePsiThermo;
mixture pureMixture;
transport sutherland;
thermo janaf;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;//sensibleInternalEnergy;
}

mixture
{
specie
{
molWeight 28.01348;
}
thermodynamics
{
Tlow 100;
Thigh 10000;
Tcommon 1000;
highCpCoeffs
(
2.9525407
0.0013968838
-4.9262577e-07
7.8600091e-11
-4.6074978e-15
-923.93753
5.8718221
);
lowCpCoeffs
(
3.5309628
-0.0001236595
-5.0299339e-07
2.4352768e-09
-1.4087954e-12
-1046.9637
2.9674391
);
}
transport
{
As 1.458e-06;
Ts 110;
Pr 0.72;
}
}`

@furstj
Copy link
Owner

furstj commented Jan 25, 2024

Hi,

  1. localTimestepping is mainly for acceleration to steady state (or it is used in dual time stepping too). So it is not suitable for your case. It should be (in theory) possible to find a setup with localTimeStepping, however, it would be necessary to improve also your formulation of boundary conditions. It leads to

  2. your boundary conditions (zero gradient) are in general wrong. The can be used for shock tube problem (if you have luck), but in general you have to use another set of bocos (wall?, cyclic?, specific bocos?)

  3. The main branch is not compatible with complex thermodynamics. However, you can try to download realGas branch which (at least partially) supports real gas including janaf. But be warned, the real gas branch is still highly experimental.

@furstj
Copy link
Owner

furstj commented Jan 25, 2024

Here is a working setup with local dt
shockTubeLDT.zip

@dul6
Copy link
Author

dul6 commented Feb 1, 2024

Hi Professor,

Thank you for your response and assistance!

The shockTube case is now working properly. I am wondering about the reason why the main branch is not compatible with JANAF thermodynamics. I reviewed and compared the relevant codes recently, but I have no idea about this. I would greatly appreciate any assistance or guidance you could offer to help me address my confusion.

Thank you for your time and consideration.

Best Regards

@furstj
Copy link
Owner

furstj commented Feb 1, 2024

Hi, there are several simplification in the main branch:

  1. see numericFlux.C - there is famous Mayer's relation Cp - Cv = R which is valid only for ideal gas
  2. there are some other ideal gas assumptions hardcoded into dbnsFlux, e.g. rhoE = rho*(CvT + 1/2 magSqr(U)), but e = CvT is valid only for Cv=const, the same is for enthalpy...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants