TAGGED: drag-coefficient, multiphase-eulerian, udf
-
-
September 26, 2023 at 2:34 pmRoyaSubscriber
Hello everyone,
I am trying to simulate a gas-liquid stirred tank. I am using a Grace drag model, for the modification, I dont want to use Brucato model, but I want to define a UDF based on another model. I know that I need to use the DEFINE_EXCHANGE_PROPERTY macro. The formula I would like to use can be defined as :
C_D_modified= modification_coefficient* C_D
* C_D being the drag coefficient that is already being calculated by the Grace model.
My issue is that I don't know how to call the drag coefficient that FLUENT is already calculating through the Grace model. I searched the UDF manual and was not able to find any macro for this. I found a code online which redefines the drag coefficient within the modification. So, I ended up writing the UDF below:# include "udf.h"
#define sigma= 0.072;
#define mu_ref=0.0009;
#define C_exp=0;DEFINE_EXCHANGE_PROPERTY(lane_drag_mod, cell, mixture_thread, scnd_clmn, frst_clmn)
{
Thread *thread_f, *thread_g;
real x-vel-f, x-vel-g, y-vel-f, y-vel-g, z-vel-f, z-vel-g;Â
real rho_f, rho_g, mu_f,g;
real eps_f, k_f;
real tau_b, int_t;
real stk, m_coeff;
real Eo, Mo, Re, Hfac, Jfac, C_Dsph, C_Dcap, C_Delip:
real C_D, C_Dmod;thread_f = THREAD_SUB_THREAD(mix_thread, scnd_clmn); Â Â /* liquid phase */
thread_g = THREAD_SUB_THREAD(mix_thread, f_col); Â Â /* gas phase*//* ===================find phase velocities in all spatial directions================*/
x_vel_f = C_U(cell, thread_f);
y_vel_f = C_V(cell, thread_f);
z_vel_f = C_W(cell, thread_f);
x_vel_g = C_U(cell, thread_g);
y_vel_g = C_V(cell, thread_g);
z_vel_g = C_W(cell, thread_g);/* ====================compute velocitiy differences=================================*/
slip_x = x_vel_g - x_vel_f;
slip_y = y_vel_g - y_vel_f;
slip_z = z_vel_g - z_vel_f;
abs_v = sqrt(slip_x*slip_x + slip_y*slip_y + slip_z*slip_z);/*=====================finding the properties of gas and liquid======================*/
rho_f = C_R(cell, thread_f);
rho_g = C_R(cell, thread_g);
mu_f = C_MU_L(cell, thread_f);
k_f= C_K(cell, thread_f);
eps_f= C_D(cell, threaf_f);
g= NV_MAG(M-gravity);
diam = C_PHASE_DIAMETER(cell, thread_g);
void_g = C_VOF(cell, thread_g);/*================calculating bubble relaxation time and the integral time===========*/
tau_b=rho_g*diam*diam/18./mu_g;
int_t=0.135*k_f/eps_f;/*===================calculating modification coefficient============================*/
stk=tau_b/int_t;
m_coeff= powf((1 - 1.4 * powf(stk,0.7) * exp(-0.6 * stk)),-2.0)/*=======================Grace drag model defining==================================*/
Eo= (g * (rho_f - rho_g) * diam * diam)/ sigma;
Mo= (powf(mu_f,4) * g * (rho_f - rho_g))/(powf(rho_f,2) * powf(sigma,3);
Re= (rho_f * abs_v * diam)/ mu_f;
Hfac= 4/3 * Eo * powf (Mo,-0.149) * powf (mu_f/mu_ref, -0.14);if (2
{
Jfac= 0.94 * powf(Hfac,0.757);
}
else if (Hfac>59.3)
{
Jfac= 3.42 * powf(Hfac,0.441);
}U_ter=(mu_f/(rho_f * diam)) * powf(Mo,-0.149) * (Jfac-0.857);
if (Re<0.01)
{
C_Dsph=24/Re;
}
else if (Re=>0.01)
{
C_Dsph=24*(1+0.15*powf(Re,0.687))/Re;
}C_Dcap=8/3.;
C_Delip=(4*g*diam*(rho_f-rho_g))/(3*powf(U_ter,2)*rho_f);
C_D=powf(void_g,C_exp)*max(min(C_Delip,C_Dcap),C_Dsph);
/*==========================Calculating modified drag===============================*/
C_Dmod=m_coeff*C_D;return C_Dmod
}Now, can anyone tell me if this is corect?
Also, looking at the Theory guide, I can see that the interphase Exchange coefficient (K_pq) is dependent on the drag coefficient. Should I also embed that within the code?Â
I appreciate any help you can give me. I am really stuck with this and no one can help me.
Many thanks,Roya -
September 26, 2023 at 4:14 pmRobForum Moderator
Looking at the example I don't think it's available. I'm also very limited in what I can say as UDFs aren't fully supported and we're straying into specific knowledge.Â
Others in the Community aren't necessarily bound by the same rules as staff.Â
-
September 27, 2023 at 9:39 amRoyaSubscriber
Hello Rob. Thanks for your answer.
May I ask what do you mean by your comment? I do not find it clear. Which example? What do you mean by "Others in the Community aren't necessarily bound by the same rules as staff"?
I need a drag modification except Brucato as Brucato over predicts for gas-liquid flow. The only way there is to define a UDF, and doing that, I am not sure how I can call the drag coefficient being calculated by FLUENT (I use Grace model), to the code so I can multiply it to the modification coefficient I am defining in UDF. The only I found was to maybe embed the drag model in the code as well and then use the whole UDF as a Drag model instead of a modification model.
Another issue is that the interphase exchange coefficient which is given as K_pq in FLUENT theory guide, is also dependent on the drag coefficient and if I change drag coefficient, then I should also change K_pq.
In tutorial, there is no modification example in DEFINE-EXCHANGE-PROPERTY. I really appreciate any useful insight you can give me.
-
-
September 27, 2023 at 11:10 amRobForum Moderator
https://ansyshelp.ansys.com/account/Secured?returnurl=/Views/Secured/corp/v232/en/flu_udf/flu_udf_MultiphaseDEFINE.html%23flu_udf_sec_define_exchange_property Example 1?Â
Staff knowledge of the Ansys software can be considered as an export under US Export Law. As such we're restricted to general/public knowledge and the documentation.Â
-
- The topic ‘FLUENT- Drag modification UDF’ is closed to new replies.
- Speed up simulation in HFSS
- Workbench license error
- ansys fluent error when opening it “unexpected license problem”
- Unexpected error on Workbench: Root element not found.
- not able to get result
- Unable to recover corrupted project in Workbench
- Unattended (silent) installation of 2024R2 & -productfile switch
- Unexpected issues with SCCM deployment of Ansys Fluids and Structures 2024 R1
- Questions and recommendations: Septum Horn Antenna
- AQWA: Hydrodynamic response error
-
1191
-
513
-
488
-
225
-
209
© 2024 Copyright ANSYS, Inc. All rights reserved.