
[Sponsors] 
January 28, 2014, 08:22 
How to setup second order schemes for all variables

#1 
New Member
Liam
Join Date: Aug 2013
Posts: 18
Rep Power: 3 
Hi Foamers,
I am here again because I am not understanding well how to setup fvSchemes for second order discretization for all variables. I attach my case of a simpleFoam calculation with heat equation implemented. When I changes something the log files gives an error (something related to stack). I have only tried to put all schemes to linear and in laplacian terms I switched all to linear corrected. Are those second order schemes? What is the equivalence between put all second order schemes in FLUENT? If somebody could give me any hint realted to the setup of my fvSchemes file it would be really aprecciated... Thanks! 

January 28, 2014, 09:35 

#2 
Senior Member


January 28, 2014, 12:28 

#3 
Member
Eric R
Join Date: Jul 2012
Location: Mississippi State University
Posts: 63
Rep Power: 4 
You have specified first order upwinding on your divergence schemes.
If you want to use 2nd order upwind, the syntax is: div(phi,U) Gauss linearUpwind grad(U) The "grad(U)" term tacked on tells the code that you want to use the same gradient scheme (which is necessary) that you used on grad(U). 

January 28, 2014, 14:06 

#4 
New Member
Liam
Join Date: Aug 2013
Posts: 18
Rep Power: 3 
Hi,
Thanks for all the replies. I have seen the page about numerical schemes in OF website, but it looks like there are several kinds of second order schemes and I am not sure which one could be the best for my problem. If I use the setup suggested by msuaeronautics, I get an error message and the execution stops. I attach the log file. Anybody have ideas? Thanks in advance. 

January 28, 2014, 23:41 

#5 
Senior Member

according to your log file:
Code:
> FOAM Warning : From function Foam::List<Foam::tetIndices> Foam::polyMeshTetDecomposition::faceTetIndices(const polyMesh&, label, label) in file meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C at line 570 No base point for face 1754699, 4(53953 450466 860736 292725), produces a valid tet decomposition. > FOAM Warning : Suppressing any further warnings. > FOAM Warning : From function findElements::findElements(const fvMesh&) in file probes/probes.C at line 105 Did not find location (0.021718 0.0177167 0.0168408) in any cell. Skipping location. If your mesh is generated with snappyHexMesh, try the following: In snappyhexMeshDict file, look for "minTetQuality". // Minimum quality of the tet formed by the facecentre // and variable base point minimum decomposition triangles and // the cell centre. Set to very negative number (e.g. 1E30) to // disable. // <0 = inside out tet, // 0 = flat tet // 1 = regular tet For a regular tet, it should be positive. Try setting it to 1. If it does not work, set it to a very low positive number. Say 1e10. One way to check whether the issue with face tet is resolved or not before the start of the simulation is to do an "checkMesh allGeometry". It will report if there are any issues with face tets. 

January 29, 2014, 13:47 

#6 
New Member
Liam
Join Date: Aug 2013
Posts: 18
Rep Power: 3 
Hi adambarfi,
Thanks for the reply. The mesh is created with snappy, but I have to disable quality controls at this step, because I am trying to introduce layers near the wall. I will try this settings with another mesh (one that pass all checkMesh tests), but I think I'ĺl need more possibilities for second order numerical schemes. I am not sure which ones I am speciying and I am not understanding many things of OF website. If I want to use second order schemes, what changes have I to do in the fvSchemes file of my first post? I have converged my case for the settings of this dictionary, but now I need to be sure my simulation is converging at least with second order, and I guess it will not be so easy. Maybe some changes are need to be done in fvSolution? Thanks! 

January 30, 2014, 05:58 

#7 
Senior Member

AFAIK the fvSolution just controls the equation solvers, tolerances and algorithms. the discretization is set in the fvScheme.
in the OpenFOAM userGuide the way you can specify different discretization schemes is mentioned. For example, for gradient you can use 'Gauss <interpolationScheme>' and 'leastSquares' which are second order or you can use 'fourth' which is fourth order! in the same way you can change the Laplacian or Divergence schemes. 

January 30, 2014, 06:25 

#8 
Senior Member
Tobias Holzmann
Join Date: Oct 2010
Location: Leoben (Austria)
Posts: 904
Blog Entries: 4
Rep Power: 18 
Hello Many,
to know which schemes are available you can use the banana trick: Code:
div(U,phi) banana; Additionally you can have a look at my homepage. There I investigated numerical schemes in a very simple geometry. http://www.holzmanncfd.de/index.php/numerischeschemen Still just in german. But you can see that all schemes except of the gauss upwind can calculate unphyisical results. In most cases I use 2nd order limited schemes to avoid unphysical results. Additionally you see that the results depend on the mesh and the flow direction passing through the cells. Especially with scalar Transport equations in which the variable is defined in a interval. Example:  i made a very huge Research of the SLFM (laminar steady flamelet model). Therefor all physical varables phi can be described with Z and Z_var. Those two variables are valid in the interval: Code:
0 <= Z <= 1 // 0 = oxidator 1 = fuel 0 <= Z_var <= 0.25 // 0 = no turbulence 0.25 maxium turbulence Code:
div(phi,Z) Gauss limitedLimitedLinear 1 0 1; div(phi,Z_var) Gauss limitedLimitedLinear 1 0 0.25; > 1 full limiter function > 0 non limiter function Therefor the following Expression should be the same (I am not 100% sure): Code:
Gauss limitedLinear 0; // 2nd Order with limiter function but limiter weight = 0 Gauss linear; // 2nd Order Hope it is getting clear. Regards Tobi 

January 30, 2014, 14:07 

#9 
New Member
Liam
Join Date: Aug 2013
Posts: 18
Rep Power: 3 
Thanks Mostafa and Tobias for your help,
Mostafa, I'll try with leastSquares. Anyway I'll give a sight at OF Userś Guide again. Tobias, I know your web page. I have been reading some of your post and they are great. Nice to meet you. I would like to understand what you are doing in your research about numerical schemes, but I don't speak German so it will be a mess! My problem is an airflow inside a nose. I can get converged results with Gauss linear for gradients, Gauss upwind for divergence terms and Gauss linear uncorrected for laplacians. But to be sure that my results are OK I'd like to switch to second order (I guess this means to put linear instead of upwind in divergences, and Gauss linear corrected for laplacian). With those settings simulation just crashes after 2 iterations.I don't expect to converge it at the first try, but I cannot understand why it crashes... I'll keep trying anyway! 

January 31, 2014, 11:55 

#10 
Senior Member
Tobias Holzmann
Join Date: Oct 2010
Location: Leoben (Austria)
Posts: 904
Blog Entries: 4
Rep Power: 18 
Hi,
thanks for your feedback and the words. I will translate my page into english as soon as I can and additionally I will make more schemes analyses. Regards Tobi 

Thread Tools  
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
first and second order schemes  Thomashoffmann  Main CFD Forum  3  January 22, 2013 07:50 
First order simulation better than second order  Torque_Converter  CFX  7  January 8, 2013 04:07 
order of time integration schemes  fisch  OpenFOAM Running, Solving & CFD  0  January 26, 2012 03:03 
Gradient Estimation for Higher Order Schemes  jianxia  Main CFD Forum  0  June 6, 2000 19:40 
LES  numerics  David Hunt  Main CFD Forum  8  May 23, 2000 02:08 