-
-
October 17, 2018 at 8:13 am
monaqu.1205
SubscriberHow do I modify the boiling.c code to account for level set method along with VOF model for horizontal film boiling tutorial given by fluent??
-
October 17, 2018 at 9:02 am
Rob
Forum ModeratorIn what way do you want to modify the code? It'd probably help if you posted the UDF too.Â
-
October 17, 2018 at 9:41 am
monaqu.1205
SubscriberI would like to include Level-set method for calculating surface tension at the interface for film boiling. I am attaching the standard code provided by ansys for film boiling using VOF model is attached below:Â Â
#include "udf.h"
#include "sg.h"
#include "sg_mphase.h"
#include "flow.h"
#include "mem.h"
Â
Â
Â
/**************************************************************/
/* UDF for specifying an interfacail area density       */
/**************************************************************/
Â
Â
DEFINE_ADJUST(area_density, domain)
{
 Thread *t;
 Thread **pt;
 cell_t c;
 Domain *pDomain = DOMAIN_SUB_DOMAIN(domain,P_PHASE);
 real voidx, voidy, voidz=0;
 Â
 Â
 {
 Alloc_Storage_Vars(pDomain,SV_VOF_RG,SV_VOF_G,SV_NULL);
 Scalar_Reconstruction(pDomain, SV_VOF,-1,SV_VOF_RG,NULL);
 Scalar_Derivatives(pDomain,SV_VOF,-1,SV_VOF_G,SV_VOF_RG,
   Vof_Deriv_Accumulate);
  }
    Â
  {
   Alloc_Storage_Vars(domain, SV_T_RG, SV_T_G, SV_NULL);
   T_derivatives(domain);
   Free_Storage_Vars(domain, SV_T_RG, SV_NULL);
  }
  Â
   mp_thread_loop_c (t,domain,pt)
if (FLUID_THREAD_P(t))
 {
  Thread *tp = pt[P_PHASE];
Â
  begin_c_loop (c,t)
   {
Â
#if RP_3D
C_UDMI(c,t,0) = (C_VOF_G(c,tp)[0]*C_T_G(c,t)[0]+
C_VOF_G(c,tp)[1]*C_T_G(c,t)[1]+C_VOF_G(c,tp)[2]*C_T_G(c,t)[2]);
#endif
Â
#if RP_2D
C_UDMI(c,t,0) = (C_VOF_G(c,tp)[0]*C_T_G(c,t)[0]+
C_VOF_G(c,tp)[1]*C_T_G(c,t)[1]);
#endif
Â
   }
     end_c_loop (c,t)
     }
    Â
 Free_Storage_Vars(pDomain,SV_VOF_RG,SV_VOF_G,SV_NULL);
 Free_Storage_Vars(domain, SV_T_G, SV_NULL);
}
Â
DEFINE_SOURCE(gas, cell, thread, dS, eqn)
{
Â
 real x[ND_ND];
 real source;
 Thread *tm = THREAD_SUPER_THREAD(thread);
 Thread **pt = THREAD_SUB_THREADS(tm);
 Â
 real Kl = C_K_L(cell, pt[1])*C_VOF(cell, pt[1]),
 Kg = C_K_L(cell, pt[0])*C_VOF(cell, pt[0]);
 real L = 1e5;
Â
 source = (Kl+Kg)*C_UDMI(cell,tm,0) / L;
 Â
Â
 Â
 C_UDMI(cell, tm, 1) = source;
 Â
Â
 C_UDMI(cell, tm, 2) = -source*L;
Â
 Â
 Â
 dS[eqn] =0;
 Â
 return source;
}
Â
DEFINE_SOURCE(liquid, cell, thread, dS, eqn)
{
 real x[ND_ND];
 real source;
 Thread *tm = THREAD_SUPER_THREAD(thread);
 Thread **pt = THREAD_SUB_THREADS(tm);
Â
 source = -C_UDMI(cell, tm, 1);
 Â
 dS[eqn] = 0;
 Â
 return source;
}
Â
DEFINE_SOURCE(energy, cell, thread, dS, eqn)
{
 real x[ND_ND];
 real source;
 Thread *tm = thread;
 Â
 Â
Â
 source = C_UDMI(cell, tm, 2);
 dS[eqn] = 0;
 Â
 return source;
}
Â
/***********************************************************************/
/* UDF for initializing flow field variables              */
/***********************************************************************/
Â
Â
DEFINE_INIT(my_init_function, domain)
{
 Thread *t;
 Thread **pt;
 Thread **st;
 cell_t c;
 Domain *pDomain = DOMAIN_SUB_DOMAIN(domain,P_PHASE);
 Domain *sDomain = DOMAIN_SUB_DOMAIN(domain,S_PHASE);
 Â
 real xc[ND_ND], y, x;
Â
   mp_thread_loop_c (t,domain,pt)
if (FLUID_THREAD_P(t))
 {
  Thread *tp = pt[P_PHASE];
Â
  begin_c_loop (c,t)
   {
   C_CENTROID(xc,c,t);
   x=xc[0];
   y=xc[1];
  Â
   if ( y < 0.00292 + 0.0006*cos(6.283*x/0.0778) )
   C_VOF(c,tp) = 1;
   else
   C_VOF(c,tp) = 0;
Â
   }
     end_c_loop (c,t)
     }
    Â
        mp_thread_loop_c (t,domain,st)
if (FLUID_THREAD_P(t))
 {
  Thread *sp = st[S_PHASE];
Â
  begin_c_loop (c,t)
   {
   C_CENTROID(xc,c,t);
   x=xc[0];
   y=xc[1];
  Â
   if ( y < 0.00292 + 0.0006*cos(6.283*x/0.0778) )
   C_VOF(c,sp) = 0;
   else
   C_VOF(c,sp) = 1;
Â
   }
     end_c_loop (c,t)
     }
Â
}
-
October 17, 2018 at 10:20 am
Amine Ben Hadj Ali
Ansys EmployeeThe CLSVOF implementation in Fluent does not support mass transfer. Adding that would require a lot of efforts.Â
-
October 17, 2018 at 11:47 am
Karthik Remella
AdministratorHello,
just a curious question - is there a reason why you would like to add level set to this UDF?
thanks.
Best Regards,
Karthik
-
October 18, 2018 at 4:41 am
monaqu.1205
SubscriberIn CLSVOFÂ method, I would be using VOF model to calculate mass transfer whereas level set method will be used to calculate surface tension force.
Â
So can you help me in modifying the code for CLSVOF?
-
October 18, 2018 at 4:45 am
monaqu.1205
SubscriberHello,
I want to include Level set method to calculate Surface tension force.Â
-
October 18, 2018 at 4:57 am
Amine Ben Hadj Ali
Ansys EmployeeYou can calculate Surface tension force without using the Level Set Method. The step to include mass transfer effects for CLSVOF is not easy and requires a lot of efforts and some deep knowledge of C programming, parallelization and UDF. As ANSYS Stuff we cannot help here. Perhaps a community member might help you here out.Â
-
October 18, 2018 at 9:21 am
monaqu.1205
SubscriberC programming and parallelization is not an issue. I'm positive, I can handle it.
However, I need to know what modifications are required in UDF.
-
October 18, 2018 at 10:31 am
Rob
Forum ModeratorSimply (and that's as far as we're going as staff) you need to ID the cell with the free surface and add/remove material from the phases based on local temperature etc. Â
-
December 13, 2018 at 10:46 am
amaligaadi2018
SubscriberHi monaqu.1205, I have same difficulty in the implementation of CLSVOF, please have you solved the problem and how did you do it?
-
July 28, 2019 at 10:17 am
shadman
Subscribercan anyone provide me with the test-2d.msh.gz boiling.c files for the tutorial of nucleate boiling?
-
July 29, 2019 at 2:35 pm
Rob
Forum ModeratorThey'll be on the ANSYS Learning Hub, so you'll need to get access to that: we can't supply them.Â
-
- The topic ‘Film Boiling’ is closed to new replies.
- How do I get my hands on Ansys Rocky DEM
- Script Error
- Unburnt Hydrocarbons contour in ANSYS FORTE for sector mesh
- Help: About the expression of turbulent viscosity in Realizable k-e model
- convergence issue for transonic flow
- Facing trouble regarding setting up boundary conditions for SOEC Modeling
- Point exception in erosion calculation
- Errors with multi-connected bodies using AQWA
- Script Error Ansys
-
2342
-
925
-
599
-
591
-
527
© 2025 Copyright ANSYS, Inc. All rights reserved.