|
[Sponsors] |
November 19, 2016, 00:56 |
Courant number in OpenFOAM
|
#1 |
New Member
Felix
Join Date: Sep 2015
Location: Hannover, Berlin
Posts: 23
Rep Power: 11 |
When do i need the folowing equation?
And what does it mean? is there Delta V the cell volume and Delta S a area from the cell surface? What means the f in sum_f. Could somebody explain it with a cell with the size a*b*c found it on: https://openfoamwiki.net/index.php/Co and also in CourantNo.C Code:
tmp<volScalarField::Internal> Coi Code:
( byRho ( (0.5*mesh_.time().deltaT()) *fvc::surfaceSum(mag(phi))()() /mesh_.V() ) ); |
|
November 21, 2016, 03:52 |
|
#2 |
Senior Member
Kevin van As
Join Date: Sep 2014
Location: TU Delft, The Netherlands
Posts: 252
Rep Power: 21 |
The Courant number provides a stability criterion, which is especially important if you use an explicit time scheme. If , you may expect your simulation to diverge. See:
https://en.wikipedia.org/wiki/Couran...Lewy_condition Intuitively, it says that within a given timestep , fluid may flow a distance of one cell at most (if ). In practice, we limit the Courant number to be smaller than 0.1~0.5. In your equation , where is the surface area of a face. Plugging in your , you will find that (for example). This expression should be evaluated for each face , because (again, see the link above) in more dimensions you should sum the contributions of each dimension. The factor 0.5 is presumably there to prevent double-counting opposite faces (west and east), as they belong to the same direction. When do you need it? You don't. In controlDict, set Code:
adjustTimeStep yes; maxCo 0.25; |
|
November 21, 2016, 05:39 |
|
#3 |
New Member
Felix
Join Date: Sep 2015
Location: Hannover, Berlin
Posts: 23
Rep Power: 11 |
Well this is everything i need t know. Thank you.
|
|
July 1, 2018, 17:45 |
Automatic Control of Courant Number
|
#4 | |
Member
Chris Harding
Join Date: Dec 2016
Posts: 76
Rep Power: 9 |
Quote:
Thanks in advance. Last edited by HappyS5; July 1, 2018 at 18:54. Reason: More descriptive |
||
June 26, 2020, 06:04 |
|
#5 |
Member
alexander thierfelder
Join Date: Dec 2019
Posts: 71
Rep Power: 7 |
The factor of 0.5 is just because we summed over the magnitude of the phi, since the phi_in hast to be equal to phi_out. Is that correct?
|
|
June 26, 2020, 07:04 |
|
#6 |
Senior Member
Join Date: Dec 2019
Location: Cologne, Germany
Posts: 368
Rep Power: 8 |
||
June 28, 2021, 03:00 |
|
#7 | |
Senior Member
Franco
Join Date: Nov 2019
Location: Compiègne, France
Posts: 129
Rep Power: 7 |
Quote:
icoFoam has not this feautre implemented, if you want "icoFoam with adjustable time" you should run pimpleFoam in ico foam setting and pimple has adjustable time build in. best regards |
||
July 18, 2024, 09:41 |
Is it possible to define different Co_max depending on regions ?
|
#8 | |
New Member
Wilfried B.
Join Date: May 2024
Posts: 5
Rep Power: 2 |
Quote:
I am a beginner on OpenFOAM an I am working on gas Leakage and Dispersion into a room. As the source of leakage can be very small (for example a source of 10 mm of diametrer in a room of 10 m3)I am obliged to apply a high refinement around the source . So I would like to know if it is possible to set different Co_max number and how ? Best Regards, Wilfried B. |
||
July 18, 2024, 10:26 |
|
#9 |
Senior Member
Join Date: Apr 2020
Location: UK
Posts: 741
Rep Power: 14 |
It depends.
Do you need to model the transient behaviour in a time accurate fashion? If so, then Co must be less than one, and a max of 0.5 is often sufficient to prevent the solution blowing up. If you are only interested in the final, steady state condition, then you can use the PIMPLE algorithm and sometimes get away with a much higher Courant number ... or just use a steady state solver instead. |
|
July 18, 2024, 11:00 |
|
#10 | |
New Member
Wilfried B.
Join Date: May 2024
Posts: 5
Rep Power: 2 |
Quote:
Best Regards, |
||
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[snappyHexMesh] Error snappyhexmesh - Multiple outside loops | avinashjagdale | OpenFOAM Meshing & Mesh Conversion | 53 | March 8, 2019 10:42 |
decomposePar -allRegions | stru | OpenFOAM Pre-Processing | 2 | August 25, 2015 04:58 |
SigFpe when running ANY application in parallel | Pj. | OpenFOAM Running, Solving & CFD | 3 | April 23, 2015 15:53 |
[blockMesh] --> foam fatal error: | lillo763 | OpenFOAM Meshing & Mesh Conversion | 0 | March 5, 2014 11:27 |
decomposePar pointfield | flying | OpenFOAM Running, Solving & CFD | 28 | December 30, 2013 16:05 |