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

Create-destroy Lagrangian parcels

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   June 3, 2013, 08:16
Default Create-destroy Lagrangian parcels
  #1
Member
 
Davide D.
Join Date: Oct 2012
Location: Birmingham (UK)
Posts: 44
Rep Power: 14
dav.dap83 is on a distinguished road
Hello everyone,

I am working on a combined VOF and Eulerian-Lagrangian solver. It works fine, but I need to destroy Lagrangian parcels once they enter in a given fluid phase.
Is there anyone who can indicate me how I can implement this system?

Thank you
dav.dap83 is offline   Reply With Quote

Old   June 5, 2013, 09:07
Default
  #2
Member
 
Davide D.
Join Date: Oct 2012
Location: Birmingham (UK)
Posts: 44
Rep Power: 14
dav.dap83 is on a distinguished road
No ideas about how to make it?
dav.dap83 is offline   Reply With Quote

Old   June 10, 2013, 04:05
Default
  #3
New Member
 
Join Date: Apr 2013
Posts: 24
Rep Power: 13
GPesch is on a distinguished road
Hey,

not quite sure where you are stuck but I do my best to help you.
Also: I'm not familiar with the solver you are using, I use DSMC, also a Lagrangian solver, so things might be the similar.

You should check the move() method of the cloud class found in the lagrangian basic library (Cloud.C).
You will see that it is calling a move routine of the particle class and this routine is either returning true or false. If true, the particle is kept after the movement, if false, the particle is going to be deleted after movement (which would be exactly what you want right?).

What you need to do is to identify the move routine of the parcel class that your solver is using. As the Lagrangian Basic particle class has no move routine it must be found somewhere in the particle class of your specific solver.

In the DsmcCase it is found in the DsmcParcel Class (DsmcParcel::move()). What it does: It calls the trackToFace routine (which is again from the lagrangian basic particle class) over and over until the movement of the particle is completed. trackToFace tracks the particles movement until it hits a face or until the movement is completed. When it hits a face, it calls a specific routine and returns the value of how much of its trajectory is already done....
So with this routine it would be easy to implement that the particle is deleted after movement. Just check in the trackToFace routine whether its crossing a boundary and is in a specific fluid type, if yes: set the keepParticle value to false and it is going to be deleted after the movement automatically...

Hope that helped...
GPesch is offline   Reply With Quote

Old   June 17, 2013, 08:21
Default
  #4
Member
 
Davide D.
Join Date: Oct 2012
Location: Birmingham (UK)
Posts: 44
Rep Power: 14
dav.dap83 is on a distinguished road
Hi,

Thank you for the answer. In Cloud.C there is a void move(...) method.
At a certain point it calls a bool ParticleType method that moves a single particle and returns true if it has to be kept, fals otherwise:
Code:
bool keepParticle = p.move(td, trackTime);
Then either evolves the particle or deletes it depending of the value of keepParticle:
Code:
if (keepParticle)
   {...}
else
   { deleteParticle(p); }
So, the idea is developing a new bool method in Cloud.C that returns true if an input particle is inside a given phase (say A), false otherwise.

Now I am wondering how to do this without touching the original class files. Since I use the basicKinematicCollidingCloud template class, it seems that I have to define subclasses for every single class, that is CollidingCloud, KinematicCloud, Cloud, CollidingParcel, KinematicParcel.
dav.dap83 is offline   Reply With Quote

Reply

Tags
clouds, lagrange particle, parcles


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
create the file *.foam phongstar OpenFOAM 12 October 14, 2018 19:06
Additional variable for lagrangian particles (dieselFoam) N. A. OpenFOAM 0 July 16, 2010 11:45
create a probe with fluent Aenseeiht FLUENT 3 April 29, 2010 04:27
[ICEM] how can i create a consistent transitions between tet and hex? specifically my model? snailstb ANSYS Meshing & Geometry 3 March 15, 2010 21:26
Actuator disk model audrich FLUENT 0 September 21, 2009 08:06


All times are GMT -4. The time now is 10:19.