Fluids

Fluids

Node 0: Process xxxx: Received signal SIGSEGV/Fluent/UDF/C_UDMI

    • Danmei
      Subscriber

      Hi all,

      I'm running a simple simulation using mixture model + standard k-e turbulence model. I need to achieve the extraction of the secondary phase at the bottom wall by using udf. I used DEFINE_ADJUST to calculate the amount of mass I need to take out and DEFINE_SOURCE to add the source term in the cell zone(2nd phase). I am receiving this error message whenever I tried to calculate: Node 0: Process xxxx: Received signal SIGSEGV.


      I have several check points:

      1. The udf itself has no problem compiling and loading.
      2. The simulation runs well without udf.
      3. I set the UDM location to 1 before I build and load the library
      4. I tried initializing the model without udf first and then hook up the udf, it didn't work
      5. I tried to create the parallel version of my code, still it doesn't have any problems with compiling and loading but cannot start the computation
      6. I tried interpret the udf instead, it doesn't do anything
      7. I checked the zone id, they are all correct
      8. I tried to hook up the DEFINE_ADJUST only, it gave me the same error, it seems that it is the DEFINE_ADJUST part that causes this problem

      Can anyone help me?

      #include "udf.h"


      DEFINE_ADJUST(my_adjust1, d)

      {

      Thread *t, **pt;

      face_t f;

      cell_t c;


      t = Lookup_Thread(d, 9);

      begin_c_loop(c, t)

      {

      C_UDMI(c,t,0)=0.0;

      pt=THREAD_SUB_THREADS(t);

      if (C_V(c, pt[1]) < 0.0)

      C_UDMI(c,t,0) = -1.368*C_R(c, pt[1])*C_VOF(c, pt[1])*C_V(c, pt[1]);

      }

      end_c_loop(c, t)


      }


      DEFINE_SOURCE(bot_source1, c, t, dS, eqn)

      {

      Thread *super_t = THREAD_SUPER_THREAD(t);

      return (-1.0*C_UDMI(c,super_t,0));

      }

    • Keyur Kanade
      Ansys Employee
      Looks duplicate of
Viewing 1 reply thread
  • You must be logged in to reply to this topic.