CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM

Courant number in OpenFOAM

Register Blogs Community New Posts Updated Threads Search

Like Tree8Likes
  • 8 Post By floquation

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   November 18, 2016, 23:56
Default Courant number in OpenFOAM
  #1
New Member
 
Felix
Join Date: Sep 2015
Location: Hannover, Berlin
Posts: 23
Rep Power: 10
fimbull is on a distinguished road
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()
   )                               
);
fimbull is offline   Reply With Quote

Old   November 21, 2016, 02:52
Default
  #2
Senior Member
 
floquation's Avatar
 
Kevin van As
Join Date: Sep 2014
Location: TU Delft, The Netherlands
Posts: 252
Rep Power: 20
floquation will become famous soon enough
The Courant number provides a stability criterion, which is especially important if you use an explicit time scheme. If Co>1, you may expect your simulation to diverge. See:
https://en.wikipedia.org/wiki/Couran...Lewy_condition
Intuitively, it says that within a given timestep \Delta t, fluid may flow a distance U\Delta t of one cell \Delta x at most (if Co=1). In practice, we limit the Courant number to be smaller than 0.1~0.5.

In your equation
\Delta x = \Delta V / \Delta S,
where \Delta S is the surface area of a face. Plugging in your abc, you will find that a=abc/bc (for example).
This expression should be evaluated for each face f, 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;
and OpenFoam will automatically limit \Delta t as to have a Courant number below "maxCo".
tiam, Thamali, fimbull and 5 others like this.
floquation is offline   Reply With Quote

Old   November 21, 2016, 04:39
Default
  #3
New Member
 
Felix
Join Date: Sep 2015
Location: Hannover, Berlin
Posts: 23
Rep Power: 10
fimbull is on a distinguished road
Well this is everything i need t know. Thank you.
fimbull is offline   Reply With Quote

Old   July 1, 2018, 16:45
Default Automatic Control of Courant Number
  #4
Member
 
Chris Harding
Join Date: Dec 2016
Posts: 76
Rep Power: 9
HappyS5 is on a distinguished road
Quote:
Originally Posted by floquation View Post

When do you need it? You don't.
In controlDict, set
Code:
adjustTimeStep  yes;
maxCo           0.25;
and OpenFoam will automatically limit \Delta t as to have a Courant number below "maxCo".
At what point in the Control Dictionary does this go. I tried to use it with icoFoam and still had severe convergence problems.

Thanks in advance.

Last edited by HappyS5; July 1, 2018 at 17:54. Reason: More descriptive
HappyS5 is offline   Reply With Quote

Old   June 26, 2020, 05:04
Default
  #5
Member
 
alexander thierfelder
Join Date: Dec 2019
Posts: 71
Rep Power: 6
superkelle is on a distinguished road
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?
superkelle is offline   Reply With Quote

Old   June 26, 2020, 06:04
Default
  #6
Senior Member
 
Join Date: Dec 2019
Location: Cologne, Germany
Posts: 355
Rep Power: 8
geth03 is on a distinguished road
Quote:
Originally Posted by superkelle View Post
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?
yes Sir, thats correct.
geth03 is offline   Reply With Quote

Old   June 28, 2021, 02:00
Default
  #7
Senior Member
 
Franco
Join Date: Nov 2019
Location: Compiègne, France
Posts: 129
Rep Power: 6
otaolafr is on a distinguished road
Quote:
Originally Posted by HappyS5 View Post
At what point in the Control Dictionary does this go. I tried to use it with icoFoam and still had severe convergence problems.

Thanks in advance.
Hello,
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
otaolafr is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
[snappyHexMesh] Error snappyhexmesh - Multiple outside loops avinashjagdale OpenFOAM Meshing & Mesh Conversion 53 March 8, 2019 09:42
decomposePar -allRegions stru OpenFOAM Pre-Processing 2 August 25, 2015 03:58
SigFpe when running ANY application in parallel Pj. OpenFOAM Running, Solving & CFD 3 April 23, 2015 14:53
[blockMesh] --> foam fatal error: lillo763 OpenFOAM Meshing & Mesh Conversion 0 March 5, 2014 10:27
decomposePar pointfield flying OpenFOAM Running, Solving & CFD 28 December 30, 2013 15:05


All times are GMT -4. The time now is 12:09.