|
[Sponsors] |
September 5, 2008, 21:59 |
Hello,
I have a doubt about
|
#1 |
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36 |
Hello,
I have a doubt about rhoCentralFoam. What do instructions like the following do? surfaceScalarField rho_pos = fvc::interpolate(rho, pos, "reconstruct(rho)"); surfaceScalarField rho_neg = fvc::interpolate(rho, neg, "reconstruct(rho)"); In particular, I don't understand the role of "pos" and "neg". Thanks in advance for any help. With kind regards, Alberto
__________________
Alberto Passalacqua GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541) OpenQBMM - An open-source implementation of quadrature-based moment methods. To obtain more accurate answers, please specify the version of OpenFOAM you are using. |
|
September 8, 2008, 12:05 |
Alberto,
When interpolating
|
#2 |
Member
E. David Huckaby
Join Date: Mar 2009
Posts: 57
Rep Power: 17 |
Alberto,
When interpolating (reconstructing) a variable (e.g. "rho") from cells to faces there is a value associated with each side of the face. The "interpolate" function only returns an average of these two values. When using an "upwind"-type interpolation scheme the flux, "pos" or "neg", will weight (or select) the face value to "upwind" side of the face. For rhoCentralFoam, I think the idea is to select a suitable interpolation scheme such that "pos" > 0 to extract to the left value and "neg" < 0 to extract to the right value. hope this helps Dave |
|
September 8, 2008, 13:59 |
Thanks David for your answer.
|
#3 |
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36 |
Thanks David for your answer. Let me try to see if I understand it right :-)
Let's consider this picture of a simple squared grid: If I consider the face between i-1 and i, if I take the "pos", I should get the value in i, while if I take the "neg" I obtain the value in i-1. In the same way, if I consider the face betweem i and i+1, if I take the "pos", I obtain the value in i, and if I take the "neg", the value in i+1. Does this sound right to you? Thanks again, Alberto
__________________
Alberto Passalacqua GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541) OpenQBMM - An open-source implementation of quadrature-based moment methods. To obtain more accurate answers, please specify the version of OpenFOAM you are using. |
|
September 8, 2008, 15:01 |
Alberto,
I agree with the a
|
#4 |
Member
E. David Huckaby
Join Date: Mar 2009
Posts: 57
Rep Power: 17 |
Alberto,
I agree with the above statements, if the "face area vectors" point outward from cell i,j. If all the "face area vectors" are pointed either toward the right or to the top, then: on face the between i-1 and i (i-1/2), "pos" would return rho[i-1] "neg" would return rho[i] on face the between i and i+1 (i+1/2), "pos" would return rho[i] "neg" would return rho[i+1] The above is for zero-order reconstruction. For "cell-based" higher order reconstruction (e.g. limited-linear), the face values would take the form: rho_pos[i+1/2] = rho[i] + drho[i]*(x[i+1/2] - x[i]) rho_neg[i+1/2] = rho[i] + drho[i]*(x[i+1/2] - x[i+1]) where drho[i] is limited gradient of rho at cell "i" Dave |
|
September 8, 2008, 15:09 |
David,
yes, that's what I m
|
#5 |
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36 |
David,
yes, that's what I meant. I didn't specify the face are vector direction. Thanks again for your help :-) Alberto
__________________
Alberto Passalacqua GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541) OpenQBMM - An open-source implementation of quadrature-based moment methods. To obtain more accurate answers, please specify the version of OpenFOAM you are using. |
|
September 9, 2008, 05:34 |
Alberto,
the trick of pos a
|
#6 |
Member
Luca Gasparini
Join Date: Mar 2009
Location: Italy
Posts: 37
Rep Power: 17 |
Alberto,
the trick of pos and neg is the trick I thought about when I developed the centralFoam code, from which rhoCentralFoam has been later derived by the people at OpenCFD. In OF, surface fields have just one single value which is related to the face, but when you apply Godunov-like scheme you actually want to compute the flux through a face solving (maybe approxiamtely) the Riemann problem defined by the TWO different states of the fluid on the opposite sides of each face. Thus, for each unknown (say p, U and T), you need to evaluate two surface fields with the values of the variable on the two sides of the face. The fvc::interpolate function normally use the sign of the velocity flux to "decide" how to upwind the cell values in order to interpolate a face value. So the idea was to "fool" the interpolation routine calling it twice: once with a "positive" flux (e.g. +1) and one with a "negative" flux (e.g. -1). Depending on the selected interpolation scheme, as explained by David, you will get two (most likely) different estimates of the face values from which the Godunov-like scheme (in this case a central-upwind scheme) can be applied. The nice (and somewhat unusual) thing in OF is that given an internal face it always has an "owner" and a "neighbour": in OF notation the flux is positive if the flow is going through the face from the owner cell to the neighbour cell, and negative otherwise (i.e. the face normal is positive from owner to neighbour). Thus, because of the unstructured grid used in OF you cannot easily think interms of i-1,j and i,j but you better think in terms of owner/neighbour relation. So you actually solve a Riemann problem at each face between an "owner-side" and a "neighbour-side" with the convention that the flux will be positive in the "owner-to-neighbour" direction. It doesn't matter if (in a more conventional way of thinking) face normals are outward or inward with respect to any given cell. At the end, everything will be consistent. Kind regards, Luca |
|
September 9, 2008, 06:18 |
Hi Luca,
take a look to the
|
#7 |
Member
Luca M.
Join Date: Mar 2009
Location: Luzern, Switzerland
Posts: 59
Rep Power: 17 |
Hi Luca,
take a look to the original paper of Kurganov about Riemann solver free approach implemented in the rhoCentralFoam solver: may be it can help you to better understand the algorithm http://www.cscamm.umd.edu/centpack/publications/files/KT_semi-discrete.JCP00-cen tpack.pdf Regards Luca |
|
September 9, 2008, 08:49 |
Dear Luca,
Thank you for yo
|
#8 |
Member
Luca Gasparini
Join Date: Mar 2009
Location: Italy
Posts: 37
Rep Power: 17 |
Dear Luca,
Thank you for your hint. I don't want to appear arrogant but I'm the one who wrote the (original) centralFoam code, so I know about Kurganov et al. Riemann free approach. Still, it is a Godunov-like scheme and it is quite close to an approximate Riemann-solver based solver. In fact you could easily use the most of centralFoam substituting KT scheme with Roe's one; including the trick with pos and neg "fictitious fluxes". In the previous explanation I used the "Riemann problem" concept because it's the most familiar approach. If you are interest: http://www.cfd-online.com/cgi-bin/Op...1867#POST11867 Kind regards, Luca |
|
September 9, 2008, 09:36 |
Dear Luca,
sorry about it.
|
#9 |
Member
Luca M.
Join Date: Mar 2009
Location: Luzern, Switzerland
Posts: 59
Rep Power: 17 |
Dear Luca,
sorry about it. I've typed the wrong name starting the thread :-) The suggestion was for Alberto and the paper could be useful anyway. Luca |
|
September 9, 2008, 12:29 |
Thanks all a lot for the compl
|
#10 |
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36 |
Thanks all a lot for the complete information!
Regards, Alberto
__________________
Alberto Passalacqua GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541) OpenQBMM - An open-source implementation of quadrature-based moment methods. To obtain more accurate answers, please specify the version of OpenFOAM you are using. |
|
January 13, 2010, 21:01 |
X-posted from other thread
|
#11 |
Member
Mihir
Join Date: Mar 2009
Posts: 40
Rep Power: 17 |
Im trying to solve a free-jet problem by rhoCentralFoam [OF 1.5]. My domain represents a close chamber in which the jet enters at Supersonic conditions.
My code crashes due to a FPE , I am getting -ve pressure & density at the outlet . this is obviously due to solving the h equation. I do not understand what is causing this error . ill post my BC;s & the thermoPhysicalProperties directory . Code:
dimensions [1 -1 -2 0 0 0 0]; internalField uniform 42000; boundaryField { wall { type slip; } axis { type empty; } outlet { type nonReflective; refValue uniform 6600; gamma 1.4; phi phi; psi psi; valueFraction uniform 0.2; refGradient uniform 0.2; value uniform 6600; } inlet { type totalPressure; U U; phi phi; rho none; psi none; gamma 1.4; p0 uniform 101325; value uniform 101325; } frontAndBackPlanes { type empty; } front { type wedge; } back { type wedge; } } Code:
dimensions [0 1 -1 0 0 0 0]; internalField uniform (260.39 0 0); boundaryField { wall { type slip; } axis { type empty; } outlet { type zeroGradient; } inlet { type fixedValue; value uniform (315 0 0); } frontAndBackPlanes { type empty; } front { type wedge; } back { type wedge; } } Code:
thermoType hThermo<pureMixture<sutherlandTransport<specieThermo<hConstThermo<perfectGas>>>>>; mixture perfectGas 1 28.9 1004.3 200.0 1.458e-6 110.4; rhoMin rhoMin [1 -3 0 0 0] 0.001; |
|
January 14, 2010, 09:49 |
|
#12 |
Member
Mihir
Join Date: Mar 2009
Posts: 40
Rep Power: 17 |
I also has a question about the accuracy of the solver as claimed in the paper :Implementation of semi-discrete, non-staggered central schemes in a colocated, polyhedral, finite volume framework, for high-speed viscous flows by Christopher J. Greenshields1,2,∗,†, Henry G. Weller2, Luca Gasparini3 and Jason M. Reese1
In the solution of the Ladenburg Free Jet problem , this article claims accurac in successful reproduction of experimental results by computational method. The following picture shows the matching of the shock locations & profiles. However the converged results obtained from the tutorial LadenburgPsi60 of rhoCentralFoam show shock profile slightly different from the above image . The picture in the article shows a prominent "Mach Disc" , while the same in the tutorial appears smeared . Can you explain to me the difference in the two sets of results ? Is the difference due to accuracy or simply a matter of interpretation ? |
|
January 18, 2010, 11:02 |
|
#13 |
Member
Mihir
Join Date: Mar 2009
Posts: 40
Rep Power: 17 |
Could anyone please help me with this ? I can present some more details if necessary
Thank You |
|
December 18, 2011, 10:05 |
Central Scheme in rhoCentralFoam VS fvSchemes
|
#14 |
New Member
Join Date: Aug 2011
Posts: 28
Rep Power: 15 |
Hi all,
I'm not too experienced with CFD so I apologize for stupid questions in the first place ;-). I'm wondering about a very general thing concerning rhoCentralFoam. It is a central Scheme by construction right? I looked through "Implementation of semi-discrete, non-staggered central schemes in a colocated, [...] finite volume framework [...]" by Greenshields, Gasparini et. Al. There is the following explanation: "In the KT [Kurganov / Tadmor] method, the f + and f − contributions are weighted equally so that the weighting coefficient is alpha=0.5, hence its description as a central scheme." So my question is: Why is it possible, to specify an upwind div scheme or interpolation Scheme for rhoCentral Foam? Respectively, Do I change the idea of rhoCentralFoam by using an upwind scheme together with a Tadmor flux Scheme? The reason for the question is simply, that I have great difficulties to distinguish between all the different upwind / central Scheme possibilities . Thanks a lot, regards Last edited by schwermetall; December 20, 2011 at 08:25. |
|
December 21, 2011, 05:26 |
|
#15 |
New Member
Join Date: Aug 2011
Posts: 28
Rep Power: 15 |
No ideas ?
|
|
April 22, 2012, 04:51 |
|
#16 |
Senior Member
Mahdi Hosseinali
Join Date: Apr 2009
Location: NB, Canada
Posts: 273
Rep Power: 18 |
I ran the case forward step from the rhoCentralFoam tutorials, but when I tried to plot the residuals, interestingly I saw that all of the residuals are zero, any idea?
|
|
April 23, 2012, 05:05 |
|
#17 | |
New Member
M K Singh
Join Date: Sep 2009
Posts: 19
Rep Power: 17 |
Quote:
http://www.cfd-online.com/cgi-bin/Op...1867#POST11867 Is there a new link? With best regards. M K |
||
April 23, 2012, 16:26 |
|
#18 |
Senior Member
Mahdi Hosseinali
Join Date: Apr 2009
Location: NB, Canada
Posts: 273
Rep Power: 18 |
I did download it a few days ago, that is fine
|
|
April 23, 2012, 18:36 |
|
#19 |
New Member
M K Singh
Join Date: Sep 2009
Posts: 19
Rep Power: 17 |
I mean this thread:
http://www.cfd-online.com/cgi-bin/Op...1867#POST11867 I am able to download the pdf but not able to see the above thread (see #8) |
|
April 27, 2012, 14:28 |
|
#20 |
Senior Member
Mahdi Hosseinali
Join Date: Apr 2009
Location: NB, Canada
Posts: 273
Rep Power: 18 |
You are right, that is not displaying any more
|
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Thermophysicalproperties in rhoCentralFoam | srinath | OpenFOAM Running, Solving & CFD | 12 | October 2, 2012 11:04 |
RhoCentralFoam Steady State | kieranwood85 | OpenFOAM Running, Solving & CFD | 0 | January 9, 2009 19:50 |
RhocentralFoam | ehsan | OpenFOAM Running, Solving & CFD | 0 | November 19, 2008 06:35 |
how to get the detail information about k-e models | limingtiger | Siemens | 1 | July 15, 2005 05:22 |
HVN tell me the detail of relative pressure | chong chee nan | FLUENT | 1 | January 2, 2002 05:55 |