Fluids

Fluids

Topics related to Fluent, CFX, Turbogrid and more.

Using udf as breakage kernel

    • hmortaza
      Subscriber

      Hello everybody,

      I am trying to use Coulaloglou-Tavlarides breakage kernel by compiling the udf code available in ansys help and I have compiled it successfully. however when I start calculation It shows the error "Node : Process : Received signal SIGSEGV". I need to mention that I use dynamic mesh along with another udf file to model the moving parts in my geometry. I have also disabled dynamic mesh and run the simulation with only population balance model. however it shows the same error. Would anybody please help me with that?

      Thank you

    • Karthik Remella
      Administrator
      Hello The SIGSEV error seems to be referring to the fact that the UDF is trying to access variables that it does not have access to. Does this happen right at the beginning as soon as you initialize the case?
      Please check the code and perhaps have sufficient Message statements to narrow down the issue. I hope this helps.
      Karthik
    • hmortaza
      Subscriber
      Thank you very much Kremella for your answer.
      No. It happens when I start calculation.
      This is the UDF exactly the same as the one in ANSYS help. The UDF is as below. I have realized that the problem is with the functions ( C_D(cell, tm) ,C_VOF(cell, thread), and C_R(cell, thread)) as I have tried constant values instead of them and it worked. Do you have any idea why this happens?
      #include "udf.h"
      #include "sg_pb.h"
      #include "sg_mphase.h"

      DEFINE_PB_BREAK_UP_RATE_FREQ(break_up_freq_tav, cell, thread, d_1)
      {
      real epsi, alpha, f1, f2, rho_d;
      real C1 = 0.00481, C2 = 0.08, sigma = 0.07;
      Thread *tm = THREAD_SUPER_THREAD(thread);/*passed thread is phase*/
      epsi = C_D(cell, tm);
      alpha = C_VOF(cell, thread);
      rho_d = C_R(cell, thread);
      f1 = pow(epsi, 1. / 3.) / ((1. + epsi)*pow(d_1, 2. / 3.));
      f2 = -(C2*sigma*(1. + alpha)*(1. + alpha)) / (rho_d*pow(epsi, 2. / 3.)*pow(d_1, 5. / 3.));
      return C1 * f1*exp(f2);
      }
Viewing 2 reply threads
  • The topic ‘Using udf as breakage kernel’ is closed to new replies.