|
[Sponsors] |
March 30, 2007, 13:34 |
Error and cannot iterate
|
#1 |
Guest
Posts: n/a
|
When ever i interpret a udf and then initialise Fluent gives this error Error: FLUENT received fatal signal (ACCESS_VIOLATION) 1. Note exact events leading to error. 2. Save case/data under new name. 3. Exit program and restart to continue. 4. Report error to your distributor. Error Object: ()
Can any one help me. Thanks in advance. |
|
April 2, 2007, 03:42 |
Re: Error and cannot iterate
|
#2 |
Guest
Posts: n/a
|
What functions do you have in your UDF? If you use UDS and UDM be sure that you enabled them.
|
|
April 2, 2007, 12:49 |
Re: Error and cannot iterate
|
#3 |
Guest
Posts: n/a
|
Bogdan, I use them and i have enabled them also
|
|
April 2, 2007, 13:44 |
Re: Error and cannot iterate
|
#4 |
Guest
Posts: n/a
|
I never use the interpret option for my UDF, I always use the compile option, so I suggest to compile the UDF and try again. If you still get the segmentation fault, maybe it's better to post you DEFINE_INIT function to have a look.
|
|
April 4, 2007, 07:08 |
Re: Error and cannot iterate
|
#5 |
Guest
Posts: n/a
|
Bogdan, I have used DEFINE_INIT macro also. But while iniatilising the solution it again gives the same error.
|
|
April 4, 2007, 23:06 |
Re: Error and cannot iterate
|
#6 |
Guest
Posts: n/a
|
Hi Sangeeta, You can send your UDF here and have a look. Then may be we can give you the solution...
Suvash |
|
April 5, 2007, 06:23 |
Re: Error and cannot iterate
|
#7 |
Guest
Posts: n/a
|
here is my udf Suvash,
# include "udf.h" enum { Ar, Ai, N_REQUIRED_UDS }; double mu0 = 12.56e-7; double omega = 18.84e6; double x[0]; DEFINE_PROPERTY(cell_conductivity,c,t) { double cond = 3.078e-23; begin_c_loop (c,t) { real temp = C_T(c,t); if (temp < 8000.) cond = 2.26e6* exp(-6.21e4/temp); else if ( temp > 8000. && temp < 15000. ) cond = 1.96e5* exp ( -4.26e4/temp); else printf ("The temperature is higher than15000"); C_UDMI(c,t,0) = cond; } end_c_loop (c,t) } DEFINE_INIT(inlet_Atheta,d) { cell_t c; Thread *t; Domain *d; thread_loop_c(c,d) { C_UDSI_G(c,t,0)[1]=0.; C_UDSI_G(c,t,1)[1]=0.; } } DEFINE_SOURCE(Ar_source,c,t,ds,eqn) { real x[ND_ND]; C_CENTROID(x,c,t); ds[eqn] = mu0*omega*C_UDMI(c,t,0); return -C_UDSI(c,t,0)/(x[0]*x[0])+mu0*C_UDMI(c,t,0)*omega*C_UDSI(c,t,1); } DEFINE_SOURCE(Ai_source,c,t,ds,eqn) { real x[ND_ND]; C_CENTROID(x,c,t); ds[eqn] = -mu0*omega*C_UDMI(c,t,0); return -C_UDSI(c,t,1)/(x[0]*x[0])-mu0*C_UDMI(c,t,0)*omega*C_UDSI(c,t,0); } DEFINE_DIFFUSIVITY(Atheta_diffusivity,c,t,i) { double x = 1; return x; } |
|
|
|