-
-
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 amDrAmineAnsys 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 amDrAmineAnsys 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 you approach this?
- Convective Augmentation Factor in DEFINE_HEAT_FLUX
- Conservation issue with a UDS solution
- Where is the Electrolyte Projected Area in the Reports tab of PEMFC Model?
- ANSYS fluent – Rocky DEM coupling
- Solar load , Mesh Orientation and Beam direction
- Non-Premixed Combustion PDF generation with 4th-order interpolation
-
451
-
199
-
194
-
166
-
162
© 2024 Copyright ANSYS, Inc. All rights reserved.