|
[Sponsors] |
November 18, 2006, 12:14 |
mmm, its been a while that I r
|
#21 |
Senior Member
Frank Bos
Join Date: Mar 2009
Location: The Netherlands
Posts: 340
Rep Power: 18 |
mmm, its been a while that I read those books. I always thought that Von Neumann stability analysis shows this unconditional stability of Crank-Nicholson. I guess you're right, p.150 of Ferziger says that the above is true, but in some cases it may become unstable. It also says that the stability limits are problem dependent. (I borrowed Hirsch once, so I cannot review that book now).
In my simulations I need at least about 20000 time steps in one flapping (wing) period. This is 10 times more than in Fluent. Are there ways to tweak OpenFOAM such that a larger timestep can be used at the same accuracy? What are your ideas about this? Regards, Frank
__________________
Frank Bos |
|
November 18, 2006, 12:45 |
Hi Frank,
Please note that
|
#22 |
New Member
Zeljko Tukovic
Join Date: Mar 2009
Posts: 22
Rep Power: 17 |
Hi Frank,
Please note that the backward scheme is used for second-order temporal discretisation in Fluent and you are using the Crank-Nicolson scheme in OpenFoam. Regards, Zeljko |
|
November 18, 2006, 13:24 |
Hi Zeljko,
Fluent 6.2 is on
|
#23 |
Senior Member
Frank Bos
Join Date: Mar 2009
Location: The Netherlands
Posts: 340
Rep Power: 18 |
Hi Zeljko,
Fluent 6.2 is only working with first-order temporal discretisation (Euler) when the dynamic mesh module is used. Therefore using second order Crank-Nicholson in OpenFOAM seems to be more efficient. But, up to now I need very small time-steps with which I am not happy. Regards, Frank
__________________
Frank Bos |
|
November 18, 2006, 13:59 |
I always use the backward temp
|
#24 |
New Member
Zeljko Tukovic
Join Date: Mar 2009
Posts: 22
Rep Power: 17 |
I always use the backward temporal scheme with the moving mesh in OpenFOAM.
Zeljko |
|
November 19, 2006, 07:12 |
Hi Frank,
The answer is: go
|
#25 |
Senior Member
Hrvoje Jasak
Join Date: Mar 2009
Location: London, England
Posts: 1,907
Rep Power: 33 |
Hi Frank,
The answer is: go back to basics. First, you know that running transient SIMPLE will have no Courant number limit. Start with that, and first order discretisation in time - if you like, you can now have a time step of half an hour. Of course, with the above the temporal accuracy is a disaster. The next step is to tune the time-step to get the right time resolution for your problem. When you do that, you can switch to second-order temporal scheme (backward it time, like Zeljko says) or Crank-Nicolson. Being aware that Crank Nicolson is borderline stable, you will now need to monitor the discretisation (dispersion) error to see if it fouls up your solution and again adjust the time-step accordingly. Keep in mind that you are perfectl welcome to configure the solver to run transient SIMPLE with Crank-Nicolson - I suspect you will need to write some top-level code to do that well. Finally, it is really important to compare like with like. I know exactly what commercial CFD is doing on cases like this (been there) and comments like " This is 10 times more than in Fluent" when you are comparing first order in a commercial code and full second order in space and time in OpenFOAM are completely meaningless. Hrv
__________________
Hrvoje Jasak Providing commercial FOAM/OpenFOAM and CFD Consulting: http://wikki.co.uk |
|
November 19, 2006, 07:47 |
Thanks for your time again! Yo
|
#26 |
Senior Member
Frank Bos
Join Date: Mar 2009
Location: The Netherlands
Posts: 340
Rep Power: 18 |
Thanks for your time again! You are completely right that I should change one thing at a time to adjust and tune the OpenFOAM settings for my case.
To solve for the temporal resolution I need about at least 200 timesteps per plunging period. OpenFOAM (with Piso and backward or Crank-Nicholson) needs more than 40.000 timesteps to keep the max Courant number below 2. I use adjustableRunTime. It seems that I need to adjust icoDyMFoam to use SIMPLE pressure/velocity coupling. Why are all the transient solvers using PISO, by the way? Are you aware of any major problems w.r.t. implementing SIMPLE in the transient codes? Regards, Frank
__________________
Frank Bos |
|
November 19, 2006, 09:37 |
Well, my second PhD supervisor
|
#27 |
Senior Member
Hrvoje Jasak
Join Date: Mar 2009
Location: London, England
Posts: 1,907
Rep Power: 33 |
Well, my second PhD supervisor at Imperial College was Raad Issa of the PISO fame. ;-) In any case, PISO is more efficient for cases where the time-step is determined by the need for temporal accuracy and the mesh is good-looking (ie. no small cells in regions of fast flow).
I have written several transient SIMPLE solvers (see development library) and there's never any problem. BTW, the "hot" thing at the moment is non-iterative time advancement for LES, which is shown to be second order and solves the pressure equation only once per time-step. Hrv
__________________
Hrvoje Jasak Providing commercial FOAM/OpenFOAM and CFD Consulting: http://wikki.co.uk |
|
November 19, 2006, 10:09 |
Allright. I guess my cases are
|
#28 |
Senior Member
Frank Bos
Join Date: Mar 2009
Location: The Netherlands
Posts: 340
Rep Power: 18 |
Allright. I guess my cases are rather extreme, in the sense that large acceleration and velocities occur during plunging (and later rotation). Also the mesh is very nice in terms of skewness and orthogonality, but the cells near the wing's surface are very small.
Therefore, I will give SIMPLE a try since apparentrly the time-step not is dictated by the temporal accuracy. I have your development code, so I am going to try to combine transientSimpleFoam and icoDyMFoam. Regards and thanks again for your patience, Frank
__________________
Frank Bos |
|
November 19, 2007, 13:28 |
Dr. Jasak,
I read in your p
|
#29 |
Member
Alessandro Spadoni
Join Date: Mar 2009
Location: Atlanta, GA
Posts: 65
Rep Power: 17 |
Dr. Jasak,
I read in your post above (from Sunday, November 19, 2006 - 06:37 am) that LES simulations may use non-iterative time advancement. Can this be done in OpenFoam 1.4.1? Which solvers and settings would one use to achieve this? Thank you, Alessandro |
|
November 19, 2007, 13:49 |
Hello,
Sunday, November 19,
|
#30 |
Senior Member
Hrvoje Jasak
Join Date: Mar 2009
Location: London, England
Posts: 1,907
Rep Power: 33 |
Hello,
Sunday, November 19, 2006 - 06:37 am: almost exactly a year ago... You got me confused for a moment. The reference I refer to came from Fluent News, 2004 and offers two options: References: 1. R.I. Issa, "Solution of the Implicitly Discretized Fluid Flow Equations by Operator-Splitting," Journal of Computational Physics 62, p. 40-65, 1985. 2. J.B. Perot, "An Analysis of the Fractional-Step Method," Journal of Computational Physics 108, p. 51-58, 1993. The first one is standard, ie. you will find it in most OpenFOAM solvers (among other things, the guy was my PhD supervisor so I knew about this practically from my first days in CFD). I haven't implemented the second one in OpenFOAM yet, but this should not be too hard. There also some modifications to the settings you can do to allow large time-steps when using PISO, but that's a different topic. Hope this is useful, Hrv
__________________
Hrvoje Jasak Providing commercial FOAM/OpenFOAM and CFD Consulting: http://wikki.co.uk |
|
November 19, 2007, 15:09 |
Dr. Jasak,
Thank you for th
|
#31 |
Member
Alessandro Spadoni
Join Date: Mar 2009
Location: Atlanta, GA
Posts: 65
Rep Power: 17 |
Dr. Jasak,
Thank you for the references. I will take a look at them and try to understand their implementation in OF. appreciate your help, Alessandro |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Moving mesh | Martijn | CFX | 3 | November 26, 2008 22:46 |
moving mesh | sadid | Main CFD Forum | 1 | May 4, 2008 06:33 |
Moving Reference frame - UDF - Moving mesh | modisa | FLUENT | 0 | April 18, 2008 14:31 |
moving mesh | sulfi | FLUENT | 7 | April 14, 2005 00:52 |
Moving Mesh & Not Rotating Mesh | AB | Siemens | 1 | October 25, 2004 04:10 |