Node 0: Process 25932: Received signal SIGSEGV/Fluent/udf/c_udmi

Hi all,

I'm running a simple multiphase simulation of a tank. I use mixture model and standard k-e. nothing else. In the model, I need to "take" the second phase out if it hit the bottom floor with a certain velocity, similar to degassing boundary condition, by using udf. I used DEFINE_ADJUST to calculate the mass source and used DEFINE_SOURCE to add the source term.

I am receiving this error message everytime I hit the calculation button: Node 0: Process 25932: Received signal SIGSEGV

I have several check points here:

  1. The udf compiled and loaded properly
  2. I set the UDM location to 1 before I build and load the udf
  3. I also tried initializing the system by calculating it without udf first, as suggested on the forum, it didn't help
  4. The model runs well without udf
  5. I tried to hook up the my_adjust only, it gave me the same error, it seems like it has something to do with the DEFINE_ADJUST part only
  6. I tried both steady-state and transient, the results are the same
  7. I also tried to interpret the udf instead of compiling, it didn't help
  8. I made sure that the zone ID are correct

Can someone please 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));

}

Comments

Sign In or Register to comment.