CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Recommended convection schemes for swirling flow in diffuser (https://www.cfd-online.com/Forums/openfoam-solving/60511-recommended-convection-schemes-swirling-flow-diffuser.html)

hani August 23, 2005 05:17

What convection schemes for U,
 
What convection schemes for U, k, epsilon would you recommend for swirling flow in diffusers, in simpleFoam? It should be at least second order, yet being numerically stable. I am not familiar with all of the impressive amount of convections schemes that are available in OpenFOAM.

I have so far been able to compute a reasonable solution using Gauss upwind for all variables. When I restart from this solution using Gauss vanLeer or Gauss MUSCL the solution diverges rapidly. Are there any special precautions that should be made when changing schemes?

Håkan.

henry August 23, 2005 05:57

I would choose limitedLinearV
 
I would choose limitedLinearV 1.0 for U and limitedLinear 1.0 for k and epsilon unless you experience further divergence problems in which case I would revert back to upwind on those two.

limitedLinear is a new scheme in version 1.2 released yesterday.

ghanshyam August 23, 2005 07:37

What about linearUpwind? Is it
 
What about linearUpwind? Is it second order upwind? If so why document(user guide) shows "First/second order". I am confused? Please clarify.

Regards
GS

henry August 23, 2005 07:43

The linear upwind scheme is fo
 
The linear upwind scheme is formally second-order but it is implemented in OpenFOAM via limited weighting factors rather than a deferred correction and it is the application if the limiter that reduces the order of the scheme where the limiter is required. If you would like a formally second-order version of linear upwind take a look at the cubicCorrection scheme and implement an equivalent for linear upwind. The reason we haven't bothered doing this is that linear upwind isn't a very good scheme and we offer better alternatives.

ghanshyam August 23, 2005 07:56

Thanks Henry for the clarifica
 
Thanks Henry for the clarification. So you mean "limitedLinearV" is equivalent to "second order upwind"?

Regards

henry August 23, 2005 08:06

limitedLinearV is TVD limited
 
limitedLinearV is TVD limited version of central-differencing where the limiter is formulated taking into account the direction of the change in velocity. As with all TVD and NVD schemes the limiter introduces a first-order contribution to the basic scheme and so second-order behaviour of the limited scheme cannot be guaranteed, it depends on the case and the way in which the limiter is applied as a consequence of the particular field and flow distributions.

ghanshyam August 23, 2005 08:33

Does that mean that as of now
 
Does that mean that as of now OpenFOAM is not having any "strictly second order upwind" scheme?

Regards

henry August 23, 2005 08:49

No and I guess nor does any ot
 
No and I guess nor does any other code because as soon as the mesh is skewed the second order upwind face interpolate is not in the centre of the face, i.e. not at the Gauss point in which case the scheme is not actually second-order unless a strictly second order skewness correction is applied.

henry August 23, 2005 08:57

If you are particularly keen o
 
If you are particularly keen on having the linear upwind scheme implemented as a deferred correction on either upwind (as in commercial CFD codes) or central differencing we would be happy to implement either or both for you as part of your support contract.

hani August 23, 2005 10:23

Should it be possible to resta
 
Should it be possible to restart a solution from version 1.0.2 in version 1.2 (simpleFoam)? I get the following error message when I try to do so.

keyword pRefCell is undefined in dictionary "../sdTc1/processor0/../system/fvSolution::SIMPLE"

henry August 23, 2005 10:28

Generally yes but for some cas
 
Generally yes but for some cases you might have to make small changes to fvSchemes and/or fvSolution. For various good reasons I have changed the way in which the pressure reference cell and value are specified to make it more transparent and flexible. In your case simply add

pRefCell 0;
pRefValue 0;

to fvSolution::SIMPLE and then the case should run as before. I have setup FoamX to insert these specifications automatically if they are not present.

hani August 23, 2005 10:56

Then I have a question on how
 
Then I have a question on how the pRefCell and pRefValues are treated when using a constant pressure outlet boundary condition. Are they neglected? In my case I try to avoid the constant pressure outlet, but it would help me understand OpenFoam better if I knew the answer to this question.

Is it a good choise to add div((nuEff*dev(grad(U).T()))) Gauss linear;
to divSchemes, which was also not present before?

It's great that you make the code more transparent, I was wondering about where and to what value the reference pressure was set before. Now I can clearly see it in the setup files.

henry August 23, 2005 11:05

pRefCell and pRefValues are no
 
pRefCell and pRefValues are not used when using a constant pressure outlet boundary condition which is the same as in previous versions.

> Is it a good choise to add div((nuEff*dev(grad(U).T()))) Gauss linear;

Yes. Look at the tutorial cases if you are unsure about these choices.

> I was wondering about where and to what value the reference pressure was set before.

It would have defaulted to a value of 0 in cell 0.


All times are GMT -4. The time now is 05:44.