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

Friction pressure by Johnson and Jackson model

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   May 3, 2020, 06:06
Default Friction pressure by Johnson and Jackson model
  #1
New Member
 
wuming
Join Date: Nov 2018
Posts: 26
Rep Power: 8
wuming is on a distinguished road
Dear all,

I'm simulating a multiphase flow using Fluent with air and a granular phase (TFM approach). I used the Johnson and Jackson model to calculate the friction pressure, and I also wrote a UDF about this friction pressure model. Choose the same friction viscosity model. However, the frictional viscosity calculated by these two models is different, the friction viscosity calculated using UDF is greater and the ratio is equal to 1.25.

Johnson and Jackson model:

the part of the UDF I write:

DEFINE_PROPERTY(cell_fri_pressure,cell,mix_thread)

{

void_s = C_VOF(cell, mix_thread);

a = void_s - alpha_min;

b = alpha_max - void_s;

aa = pow(a,2.0);

bb = pow(b,5.0);

if (void_s < alpha_min)

{

fri_pressure = 0.0;

}

else

{

fri_pressure = 0.1*void_s*aa/bb;

}

return fri_pressure;

}

Unfortunately, I cannot understand this result. Can you explain this reason?

Thank you in advance!
wuming is offline   Reply With Quote

Old   May 3, 2020, 16:42
Default Frictional Pressure
  #2
Senior Member
 
vinerm's Avatar
 
Vinerm
Join Date: Jun 2009
Location: Nederland
Posts: 2,946
Blog Entries: 1
Rep Power: 36
vinerm will become famous soon enough
What values are you using for minimum and maximum packing limits?

And prefer not to call the argument mix_thread since it is phase thread. Though it is just a variable name, it can lead to wrong understanding.
__________________
Regards,
Vinerm

PM to be used if and only if you do not want something to be shared publicly. PM is considered to be of the least priority.
vinerm is offline   Reply With Quote

Old   May 3, 2020, 21:59
Default
  #3
New Member
 
wuming
Join Date: Nov 2018
Posts: 26
Rep Power: 8
wuming is on a distinguished road
Quote:
Originally Posted by vinerm View Post
What values are you using for minimum and maximum packing limits?

And prefer not to call the argument mix_thread since it is phase thread. Though it is just a variable name, it can lead to wrong understanding.
minimum and maximum packing limits are equal to Friction Packing Limit and Packing Limit which defining in Granular Secondary Phase,respectively. The minimum packing limit is 0.5,maxium is 0.61 in two cases.
wuming is offline   Reply With Quote

Old   May 5, 2020, 06:01
Default Frictional Pressure
  #4
Senior Member
 
vinerm's Avatar
 
Vinerm
Join Date: Jun 2009
Location: Nederland
Posts: 2,946
Blog Entries: 1
Rep Power: 36
vinerm will become famous soon enough
Select Johnson model for frictional pressure and then fetch the values calculated by Fluent, preferably save in UDM. Compare it with the values calculated by Fluent. For fetching values calculated by Fluent, you can use generic_property function with PROP_mpg_friction_p as property ID.
__________________
Regards,
Vinerm

PM to be used if and only if you do not want something to be shared publicly. PM is considered to be of the least priority.
vinerm is offline   Reply With Quote

Old   May 6, 2020, 06:17
Default
  #5
New Member
 
wuming
Join Date: Nov 2018
Posts: 26
Rep Power: 8
wuming is on a distinguished road
Quote:
Originally Posted by vinerm View Post
Select Johnson model for frictional pressure and then fetch the values calculated by Fluent, preferably save in UDM. Compare it with the values calculated by Fluent. For fetching values calculated by Fluent, you can use generic_property function with PROP_mpg_friction_p as property ID.
thank you!
I use this property ID, but the result is all 0. I think my UDF is written correctly, I can get accurate results by using PROP_rho as property ID.So where did I wrong??
Thank you in advance!

sp = THREAD_MATERIAL(thread_s);
prop = (MATERIAL_PROPERTY(sp));
pc = generic_property(cell,thread_s,prop,PROP_mpg_frict ion_p,293.);
wuming is offline   Reply With Quote

Old   May 6, 2020, 06:21
Default Loop and Thread
  #6
Senior Member
 
vinerm's Avatar
 
Vinerm
Join Date: Jun 2009
Location: Nederland
Posts: 2,946
Blog Entries: 1
Rep Power: 36
vinerm will become famous soon enough
You have to ensure that the loop used and the Thread passed are correct. Check some other property, such as, diameter of secondary phase.
__________________
Regards,
Vinerm

PM to be used if and only if you do not want something to be shared publicly. PM is considered to be of the least priority.
vinerm is offline   Reply With Quote

Old   May 7, 2020, 00:16
Default
  #7
New Member
 
wuming
Join Date: Nov 2018
Posts: 26
Rep Power: 8
wuming is on a distinguished road
Quote:
Originally Posted by vinerm View Post
You have to ensure that the loop used and the Thread passed are correct. Check some other property, such as, diameter of secondary phase.
i think the Thread passed are correct, I can get the correct density and viscosity of secondary phase
wuming is offline   Reply With Quote

Old   May 7, 2020, 06:12
Default Density and Viscosity
  #8
Senior Member
 
vinerm's Avatar
 
Vinerm
Join Date: Jun 2009
Location: Nederland
Posts: 2,946
Blog Entries: 1
Rep Power: 36
vinerm will become famous soon enough
These properties are generic. Try to fetch the properties defined under Secondary Phase panel and not under Materials Panel, such as, frictional viscosity.
__________________
Regards,
Vinerm

PM to be used if and only if you do not want something to be shared publicly. PM is considered to be of the least priority.
vinerm is offline   Reply With Quote

Old   May 7, 2020, 08:54
Default
  #9
New Member
 
wuming
Join Date: Nov 2018
Posts: 26
Rep Power: 8
wuming is on a distinguished road
Quote:
Originally Posted by vinerm View Post
These properties are generic. Try to fetch the properties defined under Secondary Phase panel and not under Materials Panel, such as, frictional viscosity.
so I should use mixture_species_loop??
wuming is offline   Reply With Quote

Old   May 7, 2020, 09:05
Default Loop
  #10
Senior Member
 
vinerm's Avatar
 
Vinerm
Join Date: Jun 2009
Location: Nederland
Posts: 2,946
Blog Entries: 1
Rep Power: 36
vinerm will become famous soon enough
That can be used only if you have species transport enabled. Otherwise, it has to be mp_thread_loop_c
__________________
Regards,
Vinerm

PM to be used if and only if you do not want something to be shared publicly. PM is considered to be of the least priority.
vinerm is offline   Reply With Quote

Old   May 8, 2020, 10:22
Default
  #11
New Member
 
wuming
Join Date: Nov 2018
Posts: 26
Rep Power: 8
wuming is on a distinguished road
Quote:
Originally Posted by vinerm View Post
That can be used only if you have species transport enabled. Otherwise, it has to be mp_thread_loop_c
The modified udf is as follows,pc is still equal to 0.I don't know how to modify it further. I also don't know the Property_ID of frictional viscosity . I hope you can help me.
Thank you in advance!!

DEFINE_PROPERTY(cell_fri_viscosity,cell,mix_thread )
{
Thread *cell_thread, *thread_s, *t, **pt;
real pc;
Material *sp;
Property *prop;
Domain *domain;
domain = Get_Domain(1);
mp_thread_loop_c(mix_thread,domain,pt)
{
sp = THREAD_MATERIAL(pt[1]);
prop = (MATERIAL_PROPERTY(sp));
pc = generic_property(cell,pt[1],prop,PROP_mpg_friction_p,293.);
C_UDMI(cell, mix_thread, 3) = pc;
}
....
return fri_viscosity;
}
wuming is offline   Reply With Quote

Old   May 8, 2020, 13:09
Default generic_property
  #12
Senior Member
 
vinerm's Avatar
 
Vinerm
Join Date: Jun 2009
Location: Nederland
Posts: 2,946
Blog Entries: 1
Rep Power: 36
vinerm will become famous soon enough
Actually, generic_property is not used for phase properties. It is useful only for species properties. There is a function that directly fetches value for frictional pressure for a given set of arguments. So, if you execute the following command within any UDF, it returns frictional pressure value

Get_Frictional_Pressure(10, 0.62, 0.775, 0.63, 0.61));

Here, first argument is ID for the frictional model, 10 identifies Johnson model. You can use 11 for Syamlal and 12 for ktgf. Second argument is the volume fraction for which you want to fetch value of Frictional Pressure. Last two arguments are packing limit and friction packing limit. However, I am not very sure of third argument. This is also volume fraction but whether it is maximum value of vf used for heat and mass transfer iac calculation or some other value, I am not sure. It also affects the frictional pressure but not a lot.
__________________
Regards,
Vinerm

PM to be used if and only if you do not want something to be shared publicly. PM is considered to be of the least priority.
vinerm is offline   Reply With Quote

Old   May 11, 2020, 09:40
Default
  #13
New Member
 
wuming
Join Date: Nov 2018
Posts: 26
Rep Power: 8
wuming is on a distinguished road
Quote:
Originally Posted by vinerm View Post
Actually, generic_property is not used for phase properties. It is useful only for species properties. There is a function that directly fetches value for frictional pressure for a given set of arguments. So, if you execute the following command within any UDF, it returns frictional pressure value

Get_Frictional_Pressure(10, 0.62, 0.775, 0.63, 0.61));

Here, first argument is ID for the frictional model, 10 identifies Johnson model. You can use 11 for Syamlal and 12 for ktgf. Second argument is the volume fraction for which you want to fetch value of Frictional Pressure. Last two arguments are packing limit and friction packing limit. However, I am not very sure of third argument. This is also volume fraction but whether it is maximum value of vf used for heat and mass transfer iac calculation or some other value, I am not sure. It also affects the frictional pressure but not a lot.
thank you, I find the third argument has a linear relationship with friction pressure. When it is equal to the solid volume fraction, the calculated friction viscosity is equal to the fluent model result, indicating that he is related to the solid volume fraction.
wuming is offline   Reply With Quote

Old   May 11, 2020, 11:54
Default Good
  #14
Senior Member
 
vinerm's Avatar
 
Vinerm
Join Date: Jun 2009
Location: Nederland
Posts: 2,946
Blog Entries: 1
Rep Power: 36
vinerm will become famous soon enough
It's good then.

generic_property loop works only with species and for generic properties that are given in Materials panel. For phase properties, there is as such no loop or function, at least not one that a user can make use of.
__________________
Regards,
Vinerm

PM to be used if and only if you do not want something to be shared publicly. PM is considered to be of the least priority.
vinerm is offline   Reply With Quote

Reply

Tags
udf


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
Ansys Fluent 12.1 Johnson Jackson BC jipaz FLUENT 1 May 3, 2019 10:55
Multiphase flow-Euler(Granular) model us FLUENT 0 June 10, 2005 12:12


All times are GMT -4. The time now is 17:01.