|
[Sponsors] |
June 3, 2013, 08:16 |
Create-destroy Lagrangian parcels
|
#1 |
Member
Davide D.
Join Date: Oct 2012
Location: Birmingham (UK)
Posts: 44
Rep Power: 14 |
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 |
|
June 5, 2013, 09:07 |
|
#2 |
Member
Davide D.
Join Date: Oct 2012
Location: Birmingham (UK)
Posts: 44
Rep Power: 14 |
No ideas about how to make it?
|
|
June 10, 2013, 04:05 |
|
#3 |
New Member
Join Date: Apr 2013
Posts: 24
Rep Power: 13 |
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... |
|
June 17, 2013, 08:21 |
|
#4 |
Member
Davide D.
Join Date: Oct 2012
Location: Birmingham (UK)
Posts: 44
Rep Power: 14 |
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); Code:
if (keepParticle) {...} else { deleteParticle(p); } 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. |
|
Tags |
clouds, lagrange particle, parcles |
Thread Tools | Search this Thread |
Display Modes | |
|
|
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 |