CFD Online Discussion Forums

CFD Online Discussion Forums (
-   Fluent UDF and Scheme Programming (
-   -   error while calculation (

sahoo June 26, 2018 06:51

error while calculation
Hi everyone,
Actually I am trying to solve the following equation(to calculate voltage from temperature difference) :-
∇V=-α(T)*∇T-ρ(T)*J , where α & ρ are known and for J(current density), first I have calculated I(current) from UDS1 and then then divided it by face area to calculate J.
And J is also implemented as boundary condition for UDS0.
And the code is in 2D.

Combined equation for UDS0, UDS1, J is as follows :-

#include "udf.h"
#include "math.h"
#define R 2.0
#define ID 5.0
real A[ND_ND],J;
real At=0;


real alpha_function(real T)
return 8.439e-4 - 3.81e-6*T + 6.736e-9*pow(T,-9.) - 3.934e-12*pow(T,-12.);

DEFINE_SOURCE(teg1_source, c, t, dS, eqn)
real T = C_T(c,t);
C_UDSI(c,t,teg) = (-alpha_function(C_T(c,t)))*C_T_G(c,t)[0];
dS[eqn] = C_UDSI(c,t,teg1);
return C_UDSI_G(c,t,teg1)[0];

real rho_function(real T)
return -3.982e-5 + 2.98e-7*T - 4.685e-10*T*T + 2.51e-12*T*T*T;

DEFINE_ADJUST(teg_adjust, domain)
Thread *tf, *t;
face_t f;
cell_t c;
tf = Lookup_Thread(domain, ID);
t = THREAD_T0(tf);

begin_f_loop (f,t)
F_AREA(A, f, t) ;
At += NV_MAG(A);
end_f_loop (f,t)

begin_f_loop (f,t)
J = F_UDSI(f,t,teg1)/R/At;
end_f_loop (f,t)

DEFINE_DIFFUSIVITY(teg_diffusivity, c, t, i)
C_UDSI(c,t,teg) = (-rho_function(C_T(c,t)))*(J);
return 1./rho_function(C_T(c,t));

face_t f ;

F_PROFILE(f, t, p) = J;
But it gives 'fatal error' while calculation. I have also tried to eliminate some parts and run the code but it seems that diffusivity and rho function are looping with each other.
I hope someone will get it, whats wrong with the code.

AlexanderZ June 26, 2018 21:34

looks like you dont understand, how scalar works.

look into this link.
there is a presentation which could be useful for you, however you should download it somehow.
Unfortunately, I cant upload files.

best regards

All times are GMT -4. The time now is 18:43.