-
-
October 17, 2018 at 8:13 ammonaqu.1205Subscriber
How 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 amRobForum Moderator
In 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 ammonaqu.1205Subscriber
I 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 amAmine Ben Hadj AliAnsys Employee
The CLSVOF implementation in Fluent does not support mass transfer. Adding that would require a lot of efforts.Â
-
October 17, 2018 at 11:47 amKarthik RemellaAdministrator
Hello,
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 ammonaqu.1205Subscriber
In 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 ammonaqu.1205Subscriber
Hello,
I want to include Level set method to calculate Surface tension force.Â
-
October 18, 2018 at 4:57 amAmine Ben Hadj AliAnsys Employee
You 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 ammonaqu.1205Subscriber
C 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 amRobForum Moderator
Simply (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 amamaligaadi2018Subscriber
Hi 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 amshadmanSubscriber
can anyone provide me with the test-2d.msh.gz boiling.c files for the tutorial of nucleate boiling?
-
July 29, 2019 at 2:35 pmRobForum Moderator
They'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
- Non-Intersected faces found for matching interface periodic-walls
- Unburnt Hydrocarbons contour in ANSYS FORTE for sector mesh
- Help: About the expression of turbulent viscosity in Realizable k-e model
- Mass Conservation Issue in Methane Pyrolysis Shock Tube Simulation
- Facing trouble regarding setting up boundary conditions for SOEC Modeling
- Script Error
- convergence issue for transonic flow
- RIBBON WINDOW DISAPPEARED
- Running ANSYS Fluent on a HPC Cluster
-
1762
-
635
-
599
-
591
-
366
© 2025 Copyright ANSYS, Inc. All rights reserved.