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

Particle-class uses wallImpactDistance on non-wall patches

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

Reply
 
LinkBack Thread Tools Display Modes
Old   August 19, 2010, 07:54
Default Particle-class uses wallImpactDistance on non-wall patches
  #1
Assistant Moderator
 
Bernhard Gschaider
Join Date: Mar 2009
Posts: 3,803
Rep Power: 38
gschaider will become famous soon enoughgschaider will become famous soon enough
Versions: this is found in OF-Versions 1.5 till the present (1.7.x)

Description: When calculating the lambda (normalized time to impact on a patch) the wallImpactDistance (basically radius of the particle) is used to take a non-zero thickness into acount when a particle is being reflected on a wall. The problem is that the wallImpactDistance is used for all other types of patches. This leads especially for processor-patches to the problem that the exact time when the particle center crosses onto the other processor is not correctly predicted which for unfortunate circumstances (small timesteps are a big factor, then it happens even with very small particles) can lead to particles being transfered back and forth across a processor boundary (but also for symmetry-boundaries the particle never reaches the symmetry, but is reflected before it).
The picture below is from an uncoupledKinematicParcelFoam-simulation (1.7.x, no modifications to the code) and illustrates the problem:
unpatchedParticle.jpg
(the strange blocking of the particles is a processor-boundary and is not seen in the serial version of this run)

This patch checks whether a boundary-face is a wall and only then applies the impact distance:
wallParticles.patch

After applying the patch in the same simulation particles have no problem to "get to the other side" and the result looks like the serial computation (same decompostion as the original picture):
patchedParticle.jpg

(it can be discussed of course whether the impact distance is relevant for other "regular" patches but for the general case - outlet, inlet - I think the particle center is the better point of reference)

Bernhard
gschaider is offline   Reply With Quote

Old   August 20, 2010, 05:17
Default
  #2
New Member
 
Andrew Heather
Join Date: Mar 2009
Posts: 16
Rep Power: 7
heather is on a distinguished road
Thanks for the report - I've pushed the fix from our internal line

Andy
heather is offline   Reply With Quote

Old   March 21, 2011, 05:38
Default
  #3
Senior Member
 
xinguang cui
Join Date: Mar 2009
Posts: 116
Rep Power: 7
flying is on a distinguished road
Thanks for this kind of information. In fact, I has also met this problem. If it is possible. Would you please give some hint on how to solve the problem. I will be really grateful for it.

Quote:
Originally Posted by heather View Post
Thanks for the report - I've pushed the fix from our internal line

Andy
flying is offline   Reply With Quote

Old   March 25, 2011, 06:37
Default
  #4
Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 7,180
Blog Entries: 32
Rep Power: 70
wyldckat is a jewel in the roughwyldckat is a jewel in the roughwyldckat is a jewel in the rough
Greetings flying,

I've looked up the commits made to the official git repo and believe the respective fix is this one: https://github.com/OpenCFD/OpenFOAM-...45ed21b5fdecd5

But this should only be necessary if you are using a version of OpenFOAM older than 1.7.1.

Best regards,
Bruno
wyldckat is offline   Reply With Quote

Old   March 25, 2011, 08:30
Default
  #5
Senior Member
 
xinguang cui
Join Date: Mar 2009
Posts: 116
Rep Power: 7
flying is on a distinguished road
Dear Wyldkat:

Thanks so much for the information

Quote:
Originally Posted by heather View Post
Thanks for the report - I've pushed the fix from our internal line

Andy
Quote:
Originally Posted by wyldckat View Post
Greetings flying,

I've looked up the commits made to the official git repo and believe the respective fix is this one: https://github.com/OpenCFD/OpenFOAM-...45ed21b5fdecd5

But this should only be necessary if you are using a version of OpenFOAM older than 1.7.1.

Best regards,
Bruno
flying is offline   Reply With Quote

Old   June 5, 2011, 12:20
Default Hi Bernhard,
  #6
Member
 
edison
Join Date: May 2009
Location: Australia
Posts: 33
Rep Power: 7
Edison_Ge is on a distinguished road
Hi Bernhard,
I'm using OF1.7.1 which alrealy include your patch fix for the wallImpactDistance but still experiencing the same particle transform back and forth the processor boundary patch.
I'm implementing a PDF method on OF. so the particle has no diameter and I would think the wallImpactDistance is not he only place OF got wrong. Do you have similar experience?



Quote:
Originally Posted by gschaider View Post
Versions: this is found in OF-Versions 1.5 till the present (1.7.x)

Description: When calculating the lambda (normalized time to impact on a patch) the wallImpactDistance (basically radius of the particle) is used to take a non-zero thickness into acount when a particle is being reflected on a wall. The problem is that the wallImpactDistance is used for all other types of patches. This leads especially for processor-patches to the problem that the exact time when the particle center crosses onto the other processor is not correctly predicted which for unfortunate circumstances (small timesteps are a big factor, then it happens even with very small particles) can lead to particles being transfered back and forth across a processor boundary (but also for symmetry-boundaries the particle never reaches the symmetry, but is reflected before it).
The picture below is from an uncoupledKinematicParcelFoam-simulation (1.7.x, no modifications to the code) and illustrates the problem:
Attachment 4452
(the strange blocking of the particles is a processor-boundary and is not seen in the serial version of this run)

This patch checks whether a boundary-face is a wall and only then applies the impact distance:
Attachment 4453

After applying the patch in the same simulation particles have no problem to "get to the other side" and the result looks like the serial computation (same decompostion as the original picture):
Attachment 4451

(it can be discussed of course whether the impact distance is relevant for other "regular" patches but for the general case - outlet, inlet - I think the particle center is the better point of reference)

Bernhard
Edison_Ge is offline   Reply With Quote

Old   June 7, 2011, 07:07
Default
  #7
Assistant Moderator
 
Bernhard Gschaider
Join Date: Mar 2009
Posts: 3,803
Rep Power: 38
gschaider will become famous soon enoughgschaider will become famous soon enough
Quote:
Originally Posted by Edison_Ge View Post
Hi Bernhard,
I'm using OF1.7.1 which alrealy include your patch fix for the wallImpactDistance but still experiencing the same particle transform back and forth the processor boundary patch.
I'm implementing a PDF method on OF. so the particle has no diameter and I would think the wallImpactDistance is not he only place OF got wrong. Do you have similar experience?
No. But I havn't worked with 1.7.1 and lagrangian in the last time. Have you tried 1.7.x?
gschaider is offline   Reply With Quote

Old   January 18, 2013, 03:47
Default Tutorial for uncoupledKinematicParcelFoam
  #8
New Member
 
Mattia
Join Date: Oct 2012
Location: Milan
Posts: 28
Rep Power: 3
gara1988 is on a distinguished road
Hello, I see that Bernhard computes a case with uncoupledKinematicParcelFoam. I'm trying to run a similar case. Could you Bernhard send me the folder of your case? because I haven't find tutorials. Thanks a lot.

Best regards.

Mattia
gara1988 is offline   Reply With Quote

Old   January 18, 2013, 07:20
Default
  #9
Assistant Moderator
 
Bernhard Gschaider
Join Date: Mar 2009
Posts: 3,803
Rep Power: 38
gschaider will become famous soon enoughgschaider will become famous soon enough
Quote:
Originally Posted by gara1988 View Post
Hello, I see that Bernhard computes a case with uncoupledKinematicParcelFoam. I'm trying to run a similar case. Could you Bernhard send me the folder of your case? because I haven't find tutorials.
Can't give you the geometry. Sorry. Also that was with a quite old version of OF so it won't be much help.

Anyway: 2.1 has a tutorial in lagrangian/icoUncoupledKinematicFoam. My proposal: just run uncoupledKinematicParcelFoam on your case and add the things OF asks for (most work will be about the specification of the lagrangian particles and that strongly depends on your case anyway - if unsure check the other lagrangian-tutorials)
__________________
Note: I don't use "Friend"-feature on this forum out of principle. Ah. And by the way: I'm not on Facebook either. So don't be offended if I don't accept your invitation/friend request
gschaider is offline   Reply With Quote

Old   January 18, 2013, 07:22
Default
  #10
New Member
 
Mattia
Join Date: Oct 2012
Location: Milan
Posts: 28
Rep Power: 3
gara1988 is on a distinguished road
What version of OpenFoam do you intend? I have to work on 1.7.

Thanks. Best regards.

Mattia
gara1988 is offline   Reply With Quote

Old   January 18, 2013, 17:18
Default
  #11
Assistant Moderator
 
Bernhard Gschaider
Join Date: Mar 2009
Posts: 3,803
Rep Power: 38
gschaider will become famous soon enoughgschaider will become famous soon enough
Quote:
Originally Posted by gara1988 View Post
What version of OpenFoam do you intend? I have to work on 1.7.
Not sure where I have the case and therefor unsure for which version this is. Anyway. Just run the utility in your case and give it the stuff it asks for
__________________
Note: I don't use "Friend"-feature on this forum out of principle. Ah. And by the way: I'm not on Facebook either. So don't be offended if I don't accept your invitation/friend request
gschaider is offline   Reply With Quote

Old   January 19, 2013, 09:31
Default
  #12
New Member
 
Mattia
Join Date: Oct 2012
Location: Milan
Posts: 28
Rep Power: 3
gara1988 is on a distinguished road
Ok. Thanks. Last question. How can I see the parcel? I impose only one parcel in the CloudPosition file and I want to see this parcel. Thanks a lot.

Best regards.

Mattia
gara1988 is offline   Reply With Quote

Old   January 19, 2013, 18:49
Default
  #13
Assistant Moderator
 
Bernhard Gschaider
Join Date: Mar 2009
Posts: 3,803
Rep Power: 38
gschaider will become famous soon enoughgschaider will become famous soon enough
Quote:
Originally Posted by gara1988 View Post
Ok. Thanks. Last question. How can I see the parcel? I impose only one parcel in the CloudPosition file and I want to see this parcel. Thanks a lot.
Could you be a bit more specific about "see"? I assume you mean "postprocess in paraview". To my knowledge none of the two paraview-readers reads the CloudPosition-file. They only read (and display) the locations of particles that were written at later timesteps (you will have to select the particle "mesh" in the Reader-Panel, extract it with the ExtractParts-filter and visualize them with the Glyphs-filter)
__________________
Note: I don't use "Friend"-feature on this forum out of principle. Ah. And by the way: I'm not on Facebook either. So don't be offended if I don't accept your invitation/friend request
gschaider is offline   Reply With Quote

Reply

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
Superlinear speedup in OpenFOAM 13 msrinath80 OpenFOAM Running, Solving & CFD 17 August 22, 2009 03:59
Wall functions tutlhino OpenFOAM Pre-Processing 0 July 2, 2007 05:04
help with wall functions Nick Georgiadis Main CFD Forum 4 February 20, 2000 17:07
Wall function in adverse pressure gradients stephane baralon Main CFD Forum 11 September 2, 1999 04:05
Wall functions Abhijit Tilak Main CFD Forum 6 February 5, 1999 01:16


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