|
[Sponsors] |
On the Roe approximate Riemann solver in the preconditioned density based method |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
June 20, 2021, 10:32 |
On the Roe approximate Riemann solver in the preconditioned density based method
|
#1 |
Senior Member
|
Dear all,
the Roe approximate Riemann solver is typically written for a general equation in the following form: which is then linearized around a state to produce: where: is the Jacobian of the flux with respect to the conserved variables . Besides some obvious properties that the state has to satisfy when used to evaluate the Jacobian, there is also the so called conservative property: . Turns out that for the Euler equations written in conservative variables and the ideal gas EOS, the state can be evaluated with the so called Roe averages: for the three velocity components and the enthalpy, and with: for the density. These are all the quantities needed in the Jacobian, which include the speed of sound. So far so good, one can easily follow the Roe derivation of such state under the given assumptions and no specific problem arises. For non ideal gases the matter is more complicated because, roughly speaking, there are more unknowns now coming from the partial derivatives in the EOS (which can't be expressed anymore, in general, in terms of the remaining variables). Yet, the literature on possible solutions seems abundant. Again, so far so good. My question here, however, concerns the situation when the above approach is applied to a preconditioned density based solver, and more specifically in the context of a cell-centered FV solver. Say, like the following ones: Merkle, Sullivan, Buelow, Venkateswaran: Computation of Flows with Arbitrary Equations of State, AIAA Journal Vol. 36, No. 4, April 1998 Weiss, Maruszewski, Smith: Implicit Solution of Preconditioned Navier–Stokes Equations Using Algebraic Multigrid, AIAA Journal Vol. 37, No. 1, January 1999 In this case, one actually ends up having to solve the following problem instead: where are the primitive variables the method solves for, are the conserved variables and is the Jacobian with respect to the primitive variables. The method also requires the following quantities from the EOS: , , , , and . The preconditioning comes from , which is a modified version of where, in place of a modified one is used: where a properly defined plays the role of an artificial speed of sound that keeps the system hyperbolic and well conditioned at all speeds. Now, the question is: where do I even start to try to satisfy the conservation property as per the original Roe scheme? In particular, how does the preconditioning affect it? Is still the relevant matrix? Or do I have to use ? (Not even considering the possibility of ). Thus, for example, might it make sense to consider the conservation property in the following form? . Does this produce the same result of the original one? I think not. Note that some codes, Fluent for example, simply use arithmetic averages of the R and L states and don't care at all of the Roe average. Until today, I tought I was actually using the Roe averages, that is: density, enthalpy and all the primitive variables were computed a la Roe, then those were used to compute the remaining derivatives. But then I realized that this might not be correct, not even for ideal gases (I already knew it isn't for general EOS). For example, consider the ideal gas EOS and the resulting derivative: This also holds for the case of the arithmetic average. Still, using the Roe averages for p and T turns out instead that: So, in order to recover the correct Roe average for the ideal gas case requires, at least, a careful implementation of the thermodynamic derivatives, which I had not done. That is, the two versions being different, only one of the two can then reproduce the original Roe state. Note that none of this ever affected any practical computation of the scheme, that I know of. In particular, my implementation also switches to the HLLE+ scheme for the cases where an entropy fix is needed, thus, in the end, is not a true Roe scheme in any case. Still, my lack of understanding on the matter has now scared me off enough to look for more answers. Thanks to anyone who can point me to the relevant literature or provide his own interpretation of the matter. More specifically, how do I compute the Roe averages in the case the primitive variables are used and how do I compute the EOS derivatives in order to recover the original Roe ones for the ideal gas case? Are they even recoverable at all in my case? Last edited by sbaffini; June 21, 2021 at 03:08. |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Pressure based and Density based Solver | Xobile | Main CFD Forum | 39 | August 19, 2020 06:04 |
Approximate Riemann solver and reconstruction | TurbJet | Main CFD Forum | 2 | June 14, 2020 09:02 |
Density and Pressure based solver | Diger | ANSYS | 1 | May 1, 2018 23:51 |
Density or Pressure based solver | Achu | FLUENT | 1 | April 27, 2018 04:34 |
Pressure based and Density based Solver | taekyu8 | FLUENT | 0 | January 28, 2013 11:05 |