CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Main CFD Forum

False Diffusion??

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Display Modes
Old   June 26, 2014, 11:29
Default False Diffusion??
  #1
New Member
 
Patricio Javier Valades Pelayo
Join Date: Jun 2013
Posts: 5
Rep Power: 4
patovalades is on a distinguished road
Hello!, I hope someone can orient me a bit...

My problem is very simple I'm sure, its mainly due to my inexperience, that being said, the problem is:

A diluted solute is being transported by a gas flowing through a pipe with mass transfer through the pipe outer boundary, where there is a polymer coating that CAN interact (adsorb/desorb) the solute.

The problem is posed in 1) unsteady state, 2) the carried gas is assumed to be one directional plug flow (no radial gradients) with a 3) dispersion coefficient (to account for axial dispersion).

My mesh/grid is aligned WITH the flow, so I implemented for the convective term a 1st order upwind scheme and for the axial dispersion a 1st order central difference scheme. Supposedly, there should not be any false diffusion as flow and mesh are aligned (very easy problem, 1 dimension in space and time).

However, when I tested the code in the following way: 1) "injecting" a pulse of solute, while 2) turning off mass transfer at the interface (setting mass transfer coefficient equal to zero) , 3) turning off axial dispersion (setting the Dispersion coefficient equal to zero) and 4) letting convection ON, I noticed THAT DIFFUSION STILL takes place (numerical diffusion), as the pulse becomes broader.

MY QUESTIONS WOULD BE:

1)What is this thing?, false diffusion?, or just unavoidable round-up errors? some problem the program/languaje used? (btw I programed this in Matlab).

2) How can I minimize it besides increasing mesh size?, going for a 2nd order upwind?, third order?.

3) What would be the most efficient solution ?(computational intensive vs accuracy)

4) if Matlab sucks at this, what programming language would be FASTER while remaining compact (easy to learn) and practical (graphs allowed, plotting tools added maybe)?

thanks for your help,
a Novice Chemical Engineer
patovalades is offline   Reply With Quote

Old   June 26, 2014, 13:14
Default
  #2
Senior Member
 
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 1,588
Rep Power: 20
FMDenaro will become famous soon enough
even for flow-aligned 1D grid the first order upwind produces artificial diffusion
FMDenaro is offline   Reply With Quote

Old   June 26, 2014, 14:45
Default
  #3
Senior Member
 
cfdnewbie
Join Date: Mar 2010
Posts: 551
Rep Power: 11
cfdnewbie is on a distinguished road
As Filippo already pointed out, a first order upwind is very diffusive. Unless you are perfectly resolved, you will see some numerical dissipation. You can easily check if that's the source of your problem by decreasing the mesh size - if your error changes with Delta h, then the convective term discretization is the problem.
What scheme are you using? FD? FV?
In any case, switching from O1 to O2 should bring a great boost in accuracy!

Cheers,
cfdnewbie
cfdnewbie is offline   Reply With Quote

Old   July 20, 2014, 13:16
Default
  #4
Senior Member
 
Join Date: Aug 2011
Posts: 251
Rep Power: 6
leflix is on a distinguished road
Quote:
Originally Posted by patovalades View Post

1)What is this thing?, false diffusion?, or just unavoidable round-up errors? some problem the program/languaje used? (btw I programed this in Matlab).

2) How can I minimize it besides increasing mesh size?, going for a 2nd order upwind?, third order?.

3) What would be the most efficient solution ?(computational intensive vs accuracy)

4) if Matlab sucks at this, what programming language would be FASTER while remaining compact (easy to learn) and practical (graphs allowed, plotting tools added maybe)?

thanks for your help,
a Novice Chemical Engineer
1)-2) numerical or false diffusion are the same. It is due to the truncation error you have in the development of numerical schemes. The more the order of your scheme is , the less will be your numerical diffusion. To minimize the numerical diffusion you should decrease the grid size (finer grids) or choose higher order schemes
Round off error is something different but it is also a real problem.To minimize it you should activate the double precision in your programming language.

3) using higher order schemes needs more development efforts. using finer grids needs more computational efforts. You can reach the same accuracy with a first order scheme compared to a 4th order one .However you will need much more grid nodes,so more computational time and more time before to get the results.


4) I would say fortran compilers are the most optimized and then give fastest codes
leflix is offline   Reply With Quote

Reply

Tags
false diffusion, language, upwind

Thread Tools
Display Modes

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 On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Moving mesh Niklas Wikstrom (Wikstrom) OpenFOAM Running, Solving & CFD 122 June 15, 2014 06:20
False diffusion Ehab Main CFD Forum 4 August 7, 2013 22:23
False diffusion + FORTRAN code mamly Main CFD Forum 0 July 18, 2012 02:42
False Diffusion jj Main CFD Forum 2 September 29, 2006 00:44
CFX4.3 -build analysis form Chie Min CFX 5 July 12, 2001 23:19


All times are GMT -4. The time now is 16:57.