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

Modeling in micron scale using icoFoam

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   May 10, 2006, 06:01
Default Hi, I am working on some fl
  #1
New Member
 
m9819348's Avatar
 
Ries Bouwman
Join Date: Mar 2009
Location: Graz, Austria
Posts: 28
Rep Power: 17
m9819348 is on a distinguished road
Send a message via Skype™ to m9819348
Hi,

I am working on some flow simulations on a micron scale (1e-6 metres).

Using the icoFoam solver on my intended model, the courant number exploded after 3 or 4 iterations. So I decided to simplify the case.

I now work on a simple rectangular pipe, with dimensions (X,Y,Z)=(0.00048, 0.00048, 0.002) metres. The mesh is a completely structured hexagonal mesh.

I have defined an inlet velocity (at Z=0.002), a pressure outlet (at Z=0.0) and normal wall boundary conditions for every other boundary. The inlet velocity is (0, 0, -0.001) m/s. The pressure in the pipe and at the outlet is 1e5 Pa (1 bar). The same problem as described above occured. The courant number explodes after only a few iterations.

If I know scale my pipe model up to metres (multiply by 1e6) and maintain the flow characteristics (same Re number, so the inlet velocity is now 1000 m/s instead of 0.001 m/s), the simulation runs without any problems!

I have tested:
- various boundary condition settings (pressure inlet, inletoutlet, ...)
- various values for the present boundary conditions (higher velocity, higher/lower pressures, ...)
- different time step sizes
- different schemes (linear, upwind)

The problem however remained the same. Below you can see a print out of the residuals of the first 10 iterations. These residuals are practically exactly the same for all the changes I tried.

So I suspect a basic error. Either in my setup (as described above) or in OpenFoam. Because the simulation (and its errors) seems to be independent of any boundary condition changes or solver setting changes.

==============================================
;Starting time loop

Time = 1e-05

Mean and max Courant Numbers = 0 0.001
BICCG: Solving for Ux, Initial residual = 0.999887, Final residual = 9.59063e-07, No Iterations 38
BICCG: Solving for Uy, Initial residual = 0.9999, Final residual = 8.2079e-07, No Iterations 38
BICCG: Solving for Uz, Initial residual = 1, Final residual = 9.24364e-07, No Iterations 39
ICCG: Solving for p, Initial residual = 1, Final residual = 8.49109e-07, No Iterations 108
time step continuity errors : sum local = 4.24544e-12, global = 1.25536e-14, cumulative = 1.25536e-14
ICCG: Solving for p, Initial residual = 0.00424226, Final residual = 8.08165e-07, No Iterations 86
time step continuity errors : sum local = 9.63602e-10, global = 1.59232e-12, cumulative = 1.60488e-12
ExecutionTime = 12.92 s ClockTime = 13 s

Time = 2e-05

Mean and max Courant Numbers = 0.000171858 0.00108216
BICCG: Solving for Ux, Initial residual = 0.54666, Final residual = 7.87019e-07, No Iterations 34
BICCG: Solving for Uy, Initial residual = 0.54666, Final residual = 7.87019e-07, No Iterations 34
BICCG: Solving for Uz, Initial residual = 0.414357, Final residual = 9.10675e-07, No Iterations 35
ICCG: Solving for p, Initial residual = 0.286481, Final residual = 8.46628e-07, No Iterations 98
time step continuity errors : sum local = 6.00845e-11, global = -2.96465e-13, cumulative = 1.30841e-12
ICCG: Solving for p, Initial residual = 0.00431205, Final residual = 9.16835e-07, No Iterations 84
time step continuity errors : sum local = 4.12726e-09, global = -2.86835e-13, cumulative = 1.02158e-12
ExecutionTime = 24.36 s ClockTime = 24 s

Time = 3e-05

Mean and max Courant Numbers = 0.000388712 0.0058744
BICCG: Solving for Ux, Initial residual = 0.793024, Final residual = 6.6019e-07, No Iterations 35
BICCG: Solving for Uy, Initial residual = 0.793024, Final residual = 6.6019e-07, No Iterations 35
BICCG: Solving for Uz, Initial residual = 0.504602, Final residual = 7.54358e-07, No Iterations 35
ICCG: Solving for p, Initial residual = 0.353671, Final residual = 9.81328e-07, No Iterations 97
time step continuity errors : sum local = 2.14818e-10, global = 5.53171e-13, cumulative = 1.57475e-12
ICCG: Solving for p, Initial residual = 0.00437745, Final residual = 8.03115e-07, No Iterations 84
time step continuity errors : sum local = 1.34631e-08, global = 6.95756e-11, cumulative = 7.11503e-11
ExecutionTime = 35.24 s ClockTime = 35 s

Time = 4e-05

Mean and max Courant Numbers = 0.000984455 0.0125623
BICCG: Solving for Ux, Initial residual = 0.949905, Final residual = 7.04181e-07, No Iterations 35
BICCG: Solving for Uy, Initial residual = 0.949905, Final residual = 7.04181e-07, No Iterations 35
BICCG: Solving for Uz, Initial residual = 0.791293, Final residual = 9.88264e-07, No Iterations 35
ICCG: Solving for p, Initial residual = 0.339371, Final residual = 6.88011e-07, No Iterations 97
time step continuity errors : sum local = 5.921e-10, global = -4.02724e-14, cumulative = 7.111e-11
ICCG: Solving for p, Initial residual = 0.00444162, Final residual = 8.52582e-07, No Iterations 83
time step continuity errors : sum local = 5.30509e-08, global = 3.33387e-10, cumulative = 4.04497e-10
ExecutionTime = 46.2 s ClockTime = 46 s

Time = 5e-05

Mean and max Courant Numbers = 0.0039436 0.0561303
BICCG: Solving for Ux, Initial residual = 0.924943, Final residual = 6.20131e-07, No Iterations 35
BICCG: Solving for Uy, Initial residual = 0.924943, Final residual = 6.20131e-07, No Iterations 35
BICCG: Solving for Uz, Initial residual = 0.689644, Final residual = 7.95788e-07, No Iterations 35
ICCG: Solving for p, Initial residual = 0.347068, Final residual = 8.67243e-07, No Iterations 96
time step continuity errors : sum local = 2.74462e-09, global = -3.8124e-12, cumulative = 4.00684e-10
ICCG: Solving for p, Initial residual = 0.00449369, Final residual = 9.90022e-07, No Iterations 82
time step continuity errors : sum local = 2.28864e-07, global = -1.45197e-09, cumulative = -1.05128e-09
ExecutionTime = 57.27 s ClockTime = 58 s

Time = 6e-05

Mean and max Courant Numbers = 0.0141163 0.20115
BICCG: Solving for Ux, Initial residual = 0.940933, Final residual = 5.78777e-07, No Iterations 35
BICCG: Solving for Uy, Initial residual = 0.940933, Final residual = 5.78777e-07, No Iterations 35
BICCG: Solving for Uz, Initial residual = 0.716215, Final residual = 7.97297e-07, No Iterations 35
ICCG: Solving for p, Initial residual = 0.348306, Final residual = 9.95881e-07, No Iterations 95
time step continuity errors : sum local = 1.17936e-08, global = 4.22655e-11, cumulative = -1.00902e-09
ICCG: Solving for p, Initial residual = 0.0045422, Final residual = 8.61181e-07, No Iterations 82
time step continuity errors : sum local = 7.39444e-07, global = 4.11725e-09, cumulative = 3.10823e-09
ExecutionTime = 67.45 s ClockTime = 68 s

Time = 7e-05

Mean and max Courant Numbers = 0.0523363 0.765233
BICCG: Solving for Ux, Initial residual = 0.945119, Final residual = 9.80385e-07, No Iterations 34
BICCG: Solving for Uy, Initial residual = 0.945119, Final residual = 9.80385e-07, No Iterations 34
BICCG: Solving for Uz, Initial residual = 0.708878, Final residual = 7.72249e-07, No Iterations 35
ICCG: Solving for p, Initial residual = 0.350959, Final residual = 8.54684e-07, No Iterations 95
time step continuity errors : sum local = 3.76856e-08, global = -8.42649e-11, cumulative = 3.02397e-09
ICCG: Solving for p, Initial residual = 0.00458737, Final residual = 7.71143e-07, No Iterations 82
time step continuity errors : sum local = 2.45929e-06, global = -1.10461e-08, cumulative = -8.02209e-09
ExecutionTime = 78.99 s ClockTime = 80 s

Time = 8e-05

Mean and max Courant Numbers = 0.192457 2.86185
BICCG: Solving for Ux, Initial residual = 0.951022, Final residual = 9.26774e-07, No Iterations 34
BICCG: Solving for Uy, Initial residual = 0.951022, Final residual = 9.26774e-07, No Iterations 34
BICCG: Solving for Uz, Initial residual = 0.710894, Final residual = 7.52262e-07, No Iterations 35
ICCG: Solving for p, Initial residual = 0.353132, Final residual = 7.85644e-07, No Iterations 95
time step continuity errors : sum local = 1.29109e-07, global = 1.67507e-10, cumulative = -7.85458e-09
ICCG: Solving for p, Initial residual = 0.00462957, Final residual = 9.49266e-07, No Iterations 81
time step continuity errors : sum local = 1.12486e-05, global = -3.66109e-08, cumulative = -4.44655e-08
ExecutionTime = 89.02 s ClockTime = 90 s

Time = 9e-05

Mean and max Courant Numbers = 0.710661 10.7392
BICCG: Solving for Ux, Initial residual = 0.954611, Final residual = 9.07716e-07, No Iterations 34
BICCG: Solving for Uy, Initial residual = 0.954611, Final residual = 9.07716e-07, No Iterations 34
BICCG: Solving for Uz, Initial residual = 0.710387, Final residual = 8.59814e-07, No Iterations 35
ICCG: Solving for p, Initial residual = 0.355131, Final residual = 9.05752e-07, No Iterations 93
time step continuity errors : sum local = 5.54213e-07, global = -8.5073e-09, cumulative = -5.29728e-08
ICCG: Solving for p, Initial residual = 0.00467167, Final residual = 8.40575e-07, No Iterations 81
time step continuity errors : sum local = 3.6961e-05, global = 3.36836e-07, cumulative = 2.83863e-07
ExecutionTime = 100.2 s ClockTime = 101 s

Time = 0.0001

Mean and max Courant Numbers = 2.61587 40.3566
BICCG: Solving for Ux, Initial residual = 0.958569, Final residual = 9.10853e-07, No Iterations 34
BICCG: Solving for Uy, Initial residual = 0.958569, Final residual = 9.10853e-07, No Iterations 34
BICCG: Solving for Uz, Initial residual = 0.710484, Final residual = 8.79641e-07, No Iterations 37
ICCG: Solving for p, Initial residual = 0.358534, Final residual = 9.95292e-07, No Iterations 94
time step continuity errors : sum local = 2.26458e-06, global = 7.7304e-09, cumulative = 2.91593e-07
ICCG: Solving for p, Initial residual = 0.00469782, Final residual = 8.45221e-07, No Iterations 81
time step continuity errors : sum local = 0.00013883, global = -1.07493e-06, cumulative = -7.83336e-07
ExecutionTime = 110.85 s ClockTime = 112 s
============================================

My questions are:
1. Am I making a mistake here? Am I overlooking something?
2. Does OpenFoam has a basic problem with solving meshes on a micron scale?
3. How can I solve this situation? How can I make OpenFoam run simulations on a micron scale?

Thanks,

Ries Bouwman
__________________
Dr. Ries Bouwman
Business Development
ESI Group

004369917171525
@riesbouwman
m9819348 is offline   Reply With Quote

Old   May 10, 2006, 06:20
Default A few comments: - if you are
  #2
Senior Member
 
Hrvoje Jasak
Join Date: Mar 2009
Location: London, England
Posts: 1,907
Rep Power: 33
hjasak will become famous soon enough
A few comments:
- if you are running an incompressible flow solver, the pressure level at the outlet is irrelevant and you can put it to zero rather than 1 bar. It should make no difference (only round-off in solver operations), but please bear with me
- more importantly, from the log file I can see that the momentum solver is working extremely hard, which is unusual "under normal circumstances". I would have expected it to do 1-2 BiCCG sweeps. This would indicate that your problem is totally dominated by the diffusion in the momentum equation, which is again quite unusual. Please check your Reynolds number (this may be what you want).
- there should be no fundamental problems on running the code on this scale (in fact, this is still quite big) :-)

For such cases, you will be governed by the diffusion Courant number (see Patankar) rather than the convection one reported by the code. If this is so, you can try dropping the time step by 1-2 orders of magnitude and see if it makes things better.

Two final checks: you are running double precision, right? (please say you do) + writing out the mesh in binary to keep the precision of point locations. Secondly, can you tell me something about how the code actually fails, e.g. does the solution go stupid next to a boundary, slowly or rapidly, in the pressure or velocity etc.

Hrv
__________________
Hrvoje Jasak
Providing commercial FOAM/OpenFOAM and CFD Consulting: http://wikki.co.uk
hjasak is offline   Reply With Quote

Old   May 10, 2006, 08:06
Default Dear Mr Jasak, thank you fo
  #3
New Member
 
m9819348's Avatar
 
Ries Bouwman
Join Date: Mar 2009
Location: Graz, Austria
Posts: 28
Rep Power: 17
m9819348 is on a distinguished road
Send a message via Skype™ to m9819348
Dear Mr Jasak,

thank you for your quick reply!

Regarding your questions:
1. Re ~ 0.5, my material parameters are those of normal water. I see no real reason why the problem should become diffusion dominated.
2. However, reducing the time step from 1e-5 to 1e-7 made the simulation stable. It now only needs about 3 BiCCG sweeps.
3. As far as I know, the version OF1.2 runs automatically in double precision (so does the 1.3). So, yes, I am running the simulation in DP.
4. I have written out my mesh in Gambit (.msh). I can not choose an option to write it binary. Can I change my mesh to a binary mesh in OF1.2?
5. Finally, the solution goes bezerk next to the wall boundary conditions, especially near the outlet. This happens rapidly (within one time step and after only 3 or 4 iterations). Both the pressure field and the velocity field show idiotic results.

I have a few more questions:
a. Where exactly can I change the precision in OF1.2? I did not find this in the manual, nor in the discussion groups.
b. Is there a more precise way of exporting a gambit mesh and then importing (converting) this mesh to OpenFoam?
__________________
Dr. Ries Bouwman
Business Development
ESI Group

004369917171525
@riesbouwman
m9819348 is offline   Reply With Quote

Old   May 10, 2006, 08:31
Default Hi, Good: progress! :-)
  #4
Senior Member
 
Hrvoje Jasak
Join Date: Mar 2009
Location: London, England
Posts: 1,907
Rep Power: 33
hjasak will become famous soon enough
Hi,

Good: progress! :-)

a) In order to run single precision, you would need to re-compile the code yourself or download a single precision version. This is controlled by:

setenv WM_PRECISION_OPTION DP (or SP)

in

~/.OpenFOAM-1.3/cshrc

b) If the mesh is generated in OpenFOAM, you can run blockMesh with binary output format or change the writePrecision in system/controlDict (there's 15 significant places in DP). Unfortunately, I don't read Fluent/Gambit binary format in the converter so the limitation comes from the accuracy you can get in vertex positions in a Gambit/Fluent file... and I don't know how to control those. Once the mesh is converted, it does not move so there's no point in switching the format.

Enjoy,

Hrv
__________________
Hrvoje Jasak
Providing commercial FOAM/OpenFOAM and CFD Consulting: http://wikki.co.uk
hjasak is offline   Reply With Quote

Old   May 10, 2006, 08:53
Default Hi, thank you for your (ver
  #5
New Member
 
m9819348's Avatar
 
Ries Bouwman
Join Date: Mar 2009
Location: Graz, Austria
Posts: 28
Rep Power: 17
m9819348 is on a distinguished road
Send a message via Skype™ to m9819348
Hi,

thank you for your (very!) quick response.

My run is now proceeding in a proper manner. It will not be long before I can take a look at the solution. Thank you for your help.

Unfortunately, I can not create a blockmesh for the model that actually interests me, since it is to complicated for that. But I believe that the help you offered above is enough for me to let the model run properly.

I will try that single precision solver as soon as my mesh becomes very unstructured. I believe that single precision works better then than double, doesn't it?

Thank you once more and goob-bye.

Ries
__________________
Dr. Ries Bouwman
Business Development
ESI Group

004369917171525
@riesbouwman
m9819348 is offline   Reply With Quote

Old   May 10, 2006, 09:05
Default I would recommend you stick to
  #6
Senior Member
 
Hrvoje Jasak
Join Date: Mar 2009
Location: London, England
Posts: 1,907
Rep Power: 33
hjasak will become famous soon enough
I would recommend you stick to double precision whenever possible - it eliminates a lot of potential problem sources. Unless you are planning to run hundred million cell runs and relatively simple physics, there's no need to go to single precision because there's plenty of memory available.

Hrv
__________________
Hrvoje Jasak
Providing commercial FOAM/OpenFOAM and CFD Consulting: http://wikki.co.uk
hjasak is offline   Reply With Quote

Old   May 10, 2006, 09:22
Default Just a thought: 1. Make the
  #7
Senior Member
 
Eugene de Villiers
Join Date: Mar 2009
Posts: 725
Rep Power: 21
eugene is on a distinguished road
Just a thought:

1. Make the mesh in fluent in micrometers.
2. Convert it to OF format.
3. Change the write format to binary or increase the write precision to 12.
4. Use transformPoints to scale back to meters.

Though this will only help with a limited subset of problems.
eugene is offline   Reply With Quote

Old   October 27, 2007, 01:36
Default Hi! Have you got a more spe
  #8
New Member
 
Jason Hoogland
Join Date: Mar 2009
Location: Brisbane, QLD, Australia
Posts: 20
Rep Power: 17
hoogland is on a distinguished road
Hi!

Have you got a more specific Patankar reference for that diffusive Co number? I can't find an explicit discussion in "Numerical Heat Transfer and Fluid Flow". I've got a case of a high p reservoir feeding supersonically into a quiescent chamber, with the same symptoms (mom solver working hard, Co rises etc) and suspect this explanation but want to learn more, i.e. want to maximise dt. Any suggestions on best quantifying/displaying diffusive flux v convective flux contributions in OF?

Hoogs
hoogland 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
Density in icoFoam Densidad en icoFoam manuel OpenFOAM Running, Solving & CFD 8 September 22, 2010 05:10
What is Multi Scale Modeling and Simulation rt Main CFD Forum 0 January 30, 2007 09:11
Micron size air tube part of an air bearing stefan08 OpenFOAM Running, Solving & CFD 0 May 13, 2006 03:01
Relation between turbulence modeling & time scale? M. Choi Main CFD Forum 0 September 1, 2005 19:29
CFX-Post under 5 micron lego CFX 2 May 9, 2002 09:15


All times are GMT -4. The time now is 13:48.