CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > ANSYS > FLUENT

How to introduce number of parcels in DPM

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By `e`

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   May 17, 2015, 15:33
Default How to introduce number of parcels in DPM
  #1
Member
 
Farzin
Join Date: Jul 2014
Posts: 42
Rep Power: 11
FarzinD is on a distinguished road
Hi everyone,
I'm trying to do an steady flow simulation/uncoupled and steady tracking with FLUENT. It seems that with enabling this options, parcel tab in injection dialog box turns off. So how should I determine the number of parcels to be tracked?

Thanks for any suggestion,
Farzin
FarzinD is offline   Reply With Quote

Old   May 18, 2015, 07:07
Default
  #2
`e`
Senior Member
 
Join Date: Mar 2015
Posts: 892
Rep Power: 18
`e` is on a distinguished road
Each particle stream of each injection is solved for in DPM with steady, uncoupled simulations using the particle tracks in the results section. Increase the number of streams (hence the density of particles) until your solution no longer changes (statistical convergence).
`e` is offline   Reply With Quote

Old   May 19, 2015, 13:52
Default
  #3
Member
 
Farzin
Join Date: Jul 2014
Posts: 42
Rep Power: 11
FarzinD is on a distinguished road
Quote:
Originally Posted by `e` View Post
Each particle stream of each injection is solved for in DPM with steady, uncoupled simulations using the particle tracks in the results section. Increase the number of streams (hence the density of particles) until your solution no longer changes (statistical convergence).
OK, Got it! But now the problem is that I'm simulating a pipe flow and my injection type is Surface and not Group.
With this option there is not any control on streams (unlike CFX !) and maximum number of streams are equal to number of surface elements. (While in CFX you can define any number of particles/streams to be tracked.)

By my limited experience on FLUENT, a solution to this is to do an inaccurate simulation with a much denser grid and use it's trajectory samples as input for file injection type in our original simulation.

Any comment on this?

Regards,
Farzin
FarzinD is offline   Reply With Quote

Old   May 19, 2015, 16:35
Default
  #4
`e`
Senior Member
 
Join Date: Mar 2015
Posts: 892
Rep Power: 18
`e` is on a distinguished road
You shouldn't be concerned about the mesh resolution for the injection of particle streams. Use the injection file method for inserting particles at specific locations (hence determines the number and density of particles at the inlet); prepare this file in MATLAB or similar with a loop (too tedious to be written manually).

Once you have a result, you should refine your mesh to ensure mesh independence (consider how particles are affected by the fluid near walls and other such high velocity gradient areas).
`e` is offline   Reply With Quote

Old   May 19, 2015, 17:30
Default
  #5
Member
 
Farzin
Join Date: Jul 2014
Posts: 42
Rep Power: 11
FarzinD is on a distinguished road
Quote:
Originally Posted by `e` View Post
Use the injection file method for inserting particles at specific locations (hence determines the number and density of particles at the inlet); prepare this file in MATLAB or similar with a loop (too tedious to be written manually).
That's right, this is easier.

Quote:
Originally Posted by `e` View Post
Once you have a result, you should refine your mesh to ensure mesh independence (consider how particles are affected by the fluid near walls and other such high velocity gradient areas).
This simulation is a part of what I should do later, which is erosion prediction. And it seems that Fluent cannot calculate erosion when one-way coupling is used. For erosion calculation many particles needed to be tracked to get an accurate result, and two-way coupling of large number of particles would increase the calculation time a lot.
This confliction has made me think to go back to CFX.
FarzinD is offline   Reply With Quote

Old   May 19, 2015, 17:50
Default
  #6
`e`
Senior Member
 
Join Date: Mar 2015
Posts: 892
Rep Power: 18
`e` is on a distinguished road
I haven't used the erosion model in Fluent but there's no reason you couldn't code your own UDFs for handling erosion with your own methods if the default model is inadequate. I've used Fluent over CFX because the UDFs are more extensive and flexible than its counterpart in CFX. However, if literature in your field successfully uses CFX for erosion models then perhaps it'd be wise to stay with CFX.
FarzinD likes this.
`e` is offline   Reply With Quote

Old   June 2, 2016, 12:21
Default
  #7
Member
 
Bhargav Bharathan
Join Date: Jun 2015
Location: Montreal, Canada
Posts: 71
Rep Power: 10
bhargavbharathan is on a distinguished road
Quote:
Originally Posted by FarzinD View Post
That's right, this is easier.


This simulation is a part of what I should do later, which is erosion prediction. And it seems that Fluent cannot calculate erosion when one-way coupling is used. For erosion calculation many particles needed to be tracked to get an accurate result, and two-way coupling of large number of particles would increase the calculation time a lot.
This confliction has made me think to go back to CFX.
Hi,

Did you happen to find a solution for your problem? I'm stuck in a similar case as well.

-BB
bhargavbharathan is offline   Reply With Quote

Old   June 2, 2016, 12:57
Default
  #8
Member
 
Farzin
Join Date: Jul 2014
Posts: 42
Rep Power: 11
FarzinD is on a distinguished road
Quote:
Originally Posted by bhargavbharathan View Post
Hi,

Did you happen to find a solution for your problem? I'm stuck in a similar case as well.

-BB
In the case of phase coupling, you can turn on the "Interaction with the continuous phase" option and still perform the DPM calculations based on one-way coupling. This is possible by:
1. Doing the particle tracking after the flow calculations.
or,
2. Choosing a large value for flow iterations per DPM iteration, or simply input the value of 0.

To track a large number of particles you can raise the value of the "number of tries" in Turbulent Dispersion model.
After all, I recommend that you write your own UDF if the available options in the FLUENT GUI aren't sufficient.

Regards,
Farzin
FarzinD is offline   Reply With Quote

Old   June 17, 2016, 17:59
Default
  #9
Member
 
Bhargav Bharathan
Join Date: Jun 2015
Location: Montreal, Canada
Posts: 71
Rep Power: 10
bhargavbharathan is on a distinguished road
Quote:
Originally Posted by FarzinD View Post
In the case of phase coupling, you can turn on the "Interaction with the continuous phase" option and still perform the DPM calculations based on one-way coupling. This is possible by:
1. Doing the particle tracking after the flow calculations.
or,
2. Choosing a large value for flow iterations per DPM iteration, or simply input the value of 0.

To track a large number of particles you can raise the value of the "number of tries" in Turbulent Dispersion model.
After all, I recommend that you write your own UDF if the available options in the FLUENT GUI aren't sufficient.

Regards,
Farzin
Hi,

Thanks for your response. To give you a gist, I'm running a non-newtonian flow through a pipe with surface injection at inlet. The simulation is transient with unsteady particle tracking. My parcel release method is standard.

The problem is as the time increases the number of particles tracked increases and gradually slows down the simulation. I have a low velocity of 0.5 m/s and pipe length of 2000 m meaning the time I need to run my simulation for is at least 4000 s and with a time step of 0.5 s I will need ~8000 iterations. Beyond a point the simulation slows down.

1) Is there a way to prevent this slow down.
2) Should I change the parcel release method to constant number? There is an equation for particle number in parcel (NP); NP=mass flow x time step / particle mass.
3) If I want to gradually increase my time step as the simulation goes, do I have to adjust the particle number in parcel every time?
4) Is there a way to find out how many parcels are currently present in the flow?

Also, my flow is laminar so I don't come across the turbulent dispersion model to increase the "number of tries".

Any insight would be helpful.

Thanks,

-BB
bhargavbharathan is offline   Reply With Quote

Old   June 17, 2016, 18:40
Default
  #10
`e`
Senior Member
 
Join Date: Mar 2015
Posts: 892
Rep Power: 18
`e` is on a distinguished road
Quote:
Originally Posted by bhargavbharathan View Post
1) Is there a way to prevent this slow down.
You could reduce the number of injection points by using the injection file method (specify starting positions for each stream) rather than the surface injection. If the deposition pattern around the pipe is axisymmetric (negligible buoyancy/gravity effects) then you could inject along one radial line instead of across the entire cross section. Furthermore, you could run an axisymmetric model considering the flow has no 3-D effects(?).

Quote:
Originally Posted by bhargavbharathan View Post
2) Should I change the parcel release method to constant number? There is an equation for particle number in parcel (NP); NP=mass flow x time step / particle mass.
The number of particles within each parcel would not affect the computational time. This mass flow rate simply gives a weighting of the parcel. The same set of particle equations are solved whether there are many particles or few particles in the discrete parcel.

Quote:
Originally Posted by bhargavbharathan View Post
3) If I want to gradually increase my time step as the simulation goes, do I have to adjust the particle number in parcel every time?
Why would you want to increase your time step? The laminar flow should be developed before injecting the particles. Would you want a constant number of particles per parcel (adjust particle mass rate) or a constant number of particles injected (default)?

Quote:
Originally Posted by bhargavbharathan View Post
4) Is there a way to find out how many parcels are currently present in the flow?
This data should be printed to the screen at each time step as the number of streams tracked and whether they were completed/incomplete. Incomplete particle tracks occur when there's an insufficient maximum number of particle steps allocated in the DPM dialog box.
`e` is offline   Reply With Quote

Old   June 17, 2016, 20:15
Default
  #11
Member
 
Bhargav Bharathan
Join Date: Jun 2015
Location: Montreal, Canada
Posts: 71
Rep Power: 10
bhargavbharathan is on a distinguished road
Quote:
Originally Posted by `e` View Post
You could reduce the number of injection points by using the injection file method (specify starting positions for each stream) rather than the surface injection. If the deposition pattern around the pipe is axisymmetric (negligible buoyancy/gravity effects) then you could inject along one radial line instead of across the entire cross section. Furthermore, you could run an axisymmetric model considering the flow has no 3-D effects(?).



The number of particles within each parcel would not affect the computational time. This mass flow rate simply gives a weighting of the parcel. The same set of particle equations are solved whether there are many particles or few particles in the discrete parcel.



Why would you want to increase your time step? The laminar flow should be developed before injecting the particles. Would you want a constant number of particles per parcel (adjust particle mass rate) or a constant number of particles injected (default)?



This data should be printed to the screen at each time step as the number of streams tracked and whether they were completed/incomplete. Incomplete particle tracks occur when there's an insufficient maximum number of particle steps allocated in the DPM dialog box.
Hi,

Thank you for your response.

1) I'm currently using a single surface injection at inlet. So to my understanding I have only 1 injection point. As for the 3D effects, I do have gravity ON since my pipe is inclined downwards.

2) Thank you, got it!

3) I want to increase my time step simply to speed up the process and for no other reason. I need to run numerous simulations in total like this.
The development of the laminar flow is something I follow in other models. When I have the energy equation to solve, I always run with energy OFF till the flow develops then I switch ON the energy. Are you referring to a similar approach? If so then how do I switch OFF and ON the injection?
As for if I want "a constant number of particles per parcel (adjust particle mass rate) or a constant number of particles injected (default)?", I don't mind either as long as the mass flow rate is maintained the same.

4) I thought the data that is printed on the screen saying number tracked..was particles and not parcels like you just pointed out. If these are parcels then it proves my initial point that as time goes on the parcels in the flow increase thereby increasing the no. of particles.

Thank you,

BB
bhargavbharathan is offline   Reply With Quote

Old   June 18, 2016, 06:23
Default
  #12
`e`
Senior Member
 
Join Date: Mar 2015
Posts: 892
Rep Power: 18
`e` is on a distinguished road
Quote:
Originally Posted by bhargavbharathan View Post
1) I'm currently using a single surface injection at inlet. So to my understanding I have only 1 injection point. As for the 3D effects, I do have gravity ON since my pipe is inclined downwards.
An injection stream is added to each cell face within the selected surface. If you have 100 faces covering this boundary then 100 streams will be injected into the domain at each time step. If you want only an individual stream then use the single injection method. I recommend you look into using an injection file.

Quote:
Originally Posted by bhargavbharathan View Post
3) I want to increase my time step simply to speed up the process and for no other reason. I need to run numerous simulations in total like this.
It'd be simplest to use the same time step for the period for which the particles are injected to keep a uniform input of parcels. Regardless, the number of "particles" entering the system is independent of time step.

Quote:
Originally Posted by bhargavbharathan View Post
The development of the laminar flow is something I follow in other models. When I have the energy equation to solve, I always run with energy OFF till the flow develops then I switch ON the energy. Are you referring to a similar approach?
Similar: you want your continuous phase developed before injecting the particles otherwise they will be affected by initial flow dynamics. You'll also need to develop the particle phase before collecting results (the particles take time to progress through the pipe).

Quote:
Originally Posted by bhargavbharathan View Post
If so then how do I switch OFF and ON the injection?
A start and stop time can be set for each injection (from the same window as specifying the injection type).

Quote:
Originally Posted by bhargavbharathan View Post
As for if I want "a constant number of particles per parcel (adjust particle mass rate) or a constant number of particles injected (default)?", I don't mind either as long as the mass flow rate is maintained the same.
The default treatment is fine then (specify a mass flow rate for the injection).

Quote:
Originally Posted by bhargavbharathan View Post
4) I thought the data that is printed on the screen saying number tracked..was particles and not parcels like you just pointed out. If these are parcels then it proves my initial point that as time goes on the parcels in the flow increase thereby increasing the no. of particles.
Yes, the parcels are injected at each time step and take time to propagate through the domain. Once you have a constant (within reason; consider the fluctuating statistics) number of parcels then your particle phase is developed and you can begin taking results!
`e` is offline   Reply With Quote

Old   June 18, 2016, 12:03
Default
  #13
Member
 
Farzin
Join Date: Jul 2014
Posts: 42
Rep Power: 11
FarzinD is on a distinguished road
Quote:
Originally Posted by bhargavbharathan View Post
The problem is as the time increases the number of particles tracked increases and gradually slows down the simulation.
One thing you should know is that if the flow and particle equations are two-way coupled, as flow time passes and the number of tracked particles is increasing, flow calculations take more time. The reason is that more integrations within each cell should be done to calculate the source term.
FarzinD is offline   Reply With Quote

Old   June 20, 2016, 18:06
Default
  #14
Member
 
Bhargav Bharathan
Join Date: Jun 2015
Location: Montreal, Canada
Posts: 71
Rep Power: 10
bhargavbharathan is on a distinguished road
Quote:
Originally Posted by `e` View Post
An injection stream is added to each cell face within the selected surface. If you have 100 faces covering this boundary then 100 streams will be injected into the domain at each time step. If you want only an individual stream then use the single injection method. I recommend you look into using an injection file.



It'd be simplest to use the same time step for the period for which the particles are injected to keep a uniform input of parcels. Regardless, the number of "particles" entering the system is independent of time step.



Similar: you want your continuous phase developed before injecting the particles otherwise they will be affected by initial flow dynamics. You'll also need to develop the particle phase before collecting results (the particles take time to progress through the pipe).



A start and stop time can be set for each injection (from the same window as specifying the injection type).



The default treatment is fine then (specify a mass flow rate for the injection).



Yes, the parcels are injected at each time step and take time to propagate through the domain. Once you have a constant (within reason; consider the fluctuating statistics) number of parcels then your particle phase is developed and you can begin taking results!
Hi,

Thank you, things are getting clear now. I have one more doubt, which is more results analysis based than Fluent setup based.

My aim is to get the erosion eventually and since I'm running transient I get my result (DPM erosion) in kg/m2. For every time step the number of parcels increase in the flow by the number of faces. Will this cause the DPM erosion to increase incrementally over time? Or is it like a rate rather than absolute value. The thing is I'm eventually converting the kg/m2 erosion to metres/100,000 tonnes of fluid transported.

For instance I convert my erosion in kg/m2 by dividing with density (kg/m3) and I end up with metres of erosion for the time duration t. I also know the tonnage of fluid transported for the same time t. For example at:

time, t = 2000 s
DPM erosion = 0.0003 kg/m2
velocity = 1 m/s
fluid transported = 116.81 tonnes

Is it fair to equate the 0.0003 kg/m2 erosion from 116.81 tonnes to 100000 tonnes as 0.2565 kg/m2?


Any insight would be helpful.

Thanks,

-BB
bhargavbharathan is offline   Reply With Quote

Reply

Tags
dpm, fluent


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
Foam::error::PrintStack almir OpenFOAM Running, Solving & CFD 91 December 21, 2022 04:50
[Other] Can't Shake Erros: patch type 'patch' not constraint type 'empty' BrendaEM OpenFOAM Meshing & Mesh Conversion 12 April 3, 2022 18:32
AMI speed performance danny123 OpenFOAM 21 October 24, 2020 04:13
DPMFoam - Serious Error --particle-laden flow in simple geometric config benz25 OpenFOAM Running, Solving & CFD 27 December 19, 2017 20:47
timeVaryingMappedFixedValue: large data mapping on complex inlet boundaries vkrastev OpenFOAM Pre-Processing 7 June 2, 2016 15:50


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