|
[Sponsors] |
March 19, 2013, 01:45 |
UDF compilation
|
#1 |
New Member
Andhra Pradesh
Join Date: Jan 2013
Posts: 13
Rep Power: 13 |
Hello,
I am trying to compile a UDF when i compile it , the following appears in console window, (system "copy C:\Fluent.Inc\fluent6.3.26\src\makefile_nt.udf libudf\win64\2ddp\makefile") 1 file(s) copied. (chdir "libudf")() (chdir "win64\2ddp")() wgs_4.c c:\fluent.inc\fluent6.3.26\src\machine.h(114) : warning C4005: 'stdout' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\Include\stdio.h(161) : see previous definition of 'stdout' c:\fluent.inc\fluent6.3.26\src\machine.h(115) : warning C4005: 'stderr' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\Include\stdio.h(162) : see previous definition of 'stderr' c:\fluent.inc\fluent6.3.26\src\machine.h(116) : warning C4005: 'stdin' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\Include\stdio.h(160) : see previous definition of 'stdin' # Generating udf_names.c because of makefile wgs_4.obj udf_names.c c:\fluent.inc\fluent6.3.26\src\machine.h(114) : warning C4005: 'stdout' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\Include\stdio.h(161) : see previous definition of 'stdout' c:\fluent.inc\fluent6.3.26\src\machine.h(115) : warning C4005: 'stderr' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\Include\stdio.h(162) : see previous definition of 'stderr' c:\fluent.inc\fluent6.3.26\src\machine.h(116) : warning C4005: 'stdin' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\Include\stdio.h(160) : see previous definition of 'stdin' # Linking libudf.dll because of makefile user_nt.udf udf_names.obj wgs_4.obj Microsoft (R) Incremental Linker Version 9.00.30729.01 Copyright (C) Microsoft Corporation. All rights reserved. I didnt understand what the problem is . Could someone please help me out ? Another problem is that i loaded the UDF even when it sent this warning and then i carried out the simulations. When i carried out the simulations the outlet concentration is same as inlet, essentially the reaction wasnt happening. This is because when i asked it to calculate the weighted average of the the used defined memory at the wall, it shows zero. The steps i followed are as follows, 1) created a 2D mesh in Gambit 2) write the UDF with.c extension 3) open fluent using SDK command prompt 4) defined the models for solver enabled species transport 5) compiled and loaded the UDF 6) define boundary conditions and operating conditions 7) initialize 8) iterate 9) checked the contours for species the outlet and the inlet mole fractions are same Someone please please help me out since this is my BTech project and only a weeks time is left |
|
March 19, 2013, 03:42 |
|
#2 | |
Senior Member
Stuart Buckingham
Join Date: May 2010
Location: United Kingdom
Posts: 267
Rep Power: 26 |
This:
Quote:
You haven't given enough information to diagnose the rest of your problem. There must be a problem in your UDF or the way you are hooking it to the solver. Maybe dumb down the equation a bit (ie constant rate of reaction) and see if you get something happening, then try introducing more and more complexity at a time. Stu |
||
March 19, 2013, 07:58 |
|
#3 |
Senior Member
Paritosh Vasava
Join Date: Oct 2012
Location: Lappeenranta, Finland
Posts: 732
Rep Power: 23 |
Can you please show your UDF?
|
|
March 19, 2013, 11:17 |
|
#4 |
New Member
Andhra Pradesh
Join Date: Jan 2013
Posts: 13
Rep Power: 13 |
The following is my udf:
#include "udf.h" #define R 8.314 #define p 101325 #define pi 3.14159 DEFINE_SR_RATE(my_rate,f,t,r,mw,yi,rr) { Thread *t0 = t -> t0; cell_t c0=F_C0(f,t); real co = yi[0]; /* MASS FRACTION AT THE WALL*/ real h2o = yi[1]; real co2 = yi[2]; real h2 = yi[3]; real n2 = yi[4]; real ar = yi[5]; real rho_w = 1.0, T_w = 300, sd=2.49045e-5 , Tr=100; real xco = 1.0, xh2o = 1.0, xco2 = 1.0, xh2 = 1.0, xn2 = 1.0; real pco, ph2o, pco2, ph2, pn2, theta=1.0; real k1,k2,k3,k4,k5,k6,k7,k8,k9,k10,k11,k12,k13,k14,k15 ,k16,k17,k18,K1eq,K2eq,K3eq,K4eq,K5eq,K6eq,K7eq,K8 eq; real rate; T_w = F_T(f,t); rho_w = C_R(c0,t0)*C_T(c0,t0)/T_w; h2o *= rho_w/mw[1]; /*CONVERTING MASS FRACTIONS AT THE WALL TO MOLAR CONCENTRATIONS */ co2 *= rho_w/mw[2]; co *= rho_w/mw[0]; h2 *= rho_w/mw[3]; n2 *= rho_w/mw[4]; ar *= rho_w/mw[5]; xn2 = n2/(n2+h2+co2+co+h2o); /* MOLE FRACTIONS*/ xh2 = h2/(n2+h2+co2+co+h2o); xco2 = co2/(n2+h2+co2+co+h2o); xco = co/(n2+h2+co2+co+h2o); xh2o = h2o/(n2+h2+co2+co+h2o); pn2 = xn2*p; /*PARTIAL PRESSURES*/ ph2 = xh2*p; ph2o = xh2o*p; pco = xco*p; pco2 = xco2*p; Tr = (T_w/300); k1 = (0.129/(R*T_w))*(sqrt((1000*R*T_w)/(2*pi*mw[3])))*pow(Tr,0.858); k2 = (7.95*1e12*sd)*(pow(Tr,-0.001))*exp(((-21.78 + (2.56*Tr))*4185.8)/(R*T_w)); k3 = (9.36*1e12*sd)*(pow(Tr,-0.118))*exp(((-17.404 - (0.38*Tr))*4185.8)/(R*T_w)); k4 = (9.99*1e12*sd)*(pow(Tr,-1.049))*exp(((-13.836 + (0.92*Tr))*4185.8)/(R*T_w)); k5 = (0.108/(R*T_w))*(sqrt((1000*R*T_w)/(2*pi*mw[1])))*(pow(Tr,1.162)); k6 = (2.03*1e12*sd)*(pow(Tr,1.372))*exp(((-11.5225 + (5*T_w))*4185.8)/(R*T_w)); k7 = (1.0/(R*T_w))*(sqrt((1000*R*T_w)/(2*pi*mw[0])))*(pow(Tr,0.000)); k8 = (5.66*1e15*sd)*(pow(Tr,-0.5))*exp(((-28.6 + (4*T_w))*4185.8)/(R*T_w)); k9 = (0.195/(R*T_w))*(sqrt((1000*R*T_w)/(2*pi*mw[2])))*(pow(Tr,0.250)); k10 = (2.63*1e12*sd)*(pow(Tr,-0.250))*exp(((4.8- (0.004*T_w))*4185.8)/(R*T_w)); k11 = (8.03*1e08*sd)*(pow(Tr,-0.531))*exp(((-9.36 + (0.28*Tr))*4185.8)/(R*T_w)); k12 = (1.25*1e09*sd)*(pow(Tr,0.531))*exp(((-10.021 + (0.38*Tr))*4185.8)/(R*T_w)); k13 = (8.43*1e08*sd)*(pow(Tr,0.024))*exp(((-9.01 - (0.00782*Tr))*4185.8)/(R*T_w)); k14 = (1.19*1e09*sd)*(pow(Tr,-0.024))*exp(((-10.46 + (0.67*Tr))*4185.8)/(R*T_w)); k15 = (1.06*1e11*sd)*(pow(Tr,0.549))*exp(((-1.1 + (0.036*Tr))*4185.8)/(R*T_w)); k16 = (9.45*1e10*sd)*(pow(Tr,-0.549))*exp(((-2.22 + (0.62*Tr))*4185.8)/(R*T_w)); k17 = (1.1*1e11*sd)*(pow(Tr,0.492))*exp(((-17.394 - (0.00136*Tr))*4185.8)/(R*T_w)); k18 = (9.07*1e10*sd)*(pow(Tr,-0.492))*exp(((-12.43 + (0.62*Tr))*4185.8)/(R*T_w)); K1eq = k1/k2; K2eq = k3/k4; K3eq = k5/k6; K4eq = k7/k8; K5eq = k10/k9; K6eq = k11/k12; K7eq = k14/k13; K8eq = k15/k16; theta=1/(1+(K3eq*ph2o)+sqrt((ph2/K1eq))+(pco2/K5eq)+(K2eq*K3eq*ph2o*(sqrt((K1eq/ph2))))+(K4eq*pco2)+(((K5eq*K2eq*K3eq*ph2o*pco2)/K8eq)*(sqrt((ph2/K1eq))))); rate = pow(theta,2)*(k17*K4eq*K3eq*pco*ph2o); if (STREQ(r->name, "reaction-1")) { *rr = rate; C_UDMI(c0,t0,0) = *rr; } } Please let me know if you find any mistakes. Thanking you, V.Vismayie Student IIT Madras |
|
March 19, 2013, 12:24 |
|
#5 |
New Member
Andhra Pradesh
Join Date: Jan 2013
Posts: 13
Rep Power: 13 |
hey hello Stuart,
So i believe my compiler is working properly and there are no issues with the compilation . When i run the simulation, the User defined memory returns a value of 0. This is my problem. Please find the UDF in the previous reply i posted on this thread. Thanking you, V.Vismayie Student |
|
March 20, 2013, 03:54 |
|
#6 |
Senior Member
Paritosh Vasava
Join Date: Oct 2012
Location: Lappeenranta, Finland
Posts: 732
Rep Power: 23 |
I didnt get what you meant by 'User defined memory returns a value of 0'. Could you please elaborate??
|
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
UDF compilation problem on Linux System | Nitin Pathak | Fluent UDF and Scheme Programming | 6 | September 29, 2018 21:26 |
UDF compilation error | Szabolcs Varga | Fluent UDF and Scheme Programming | 4 | September 14, 2015 06:27 |
Ansys Fluent 13.0 UDF compilation problem in Window XP (32 bit) | Yogini | Fluent UDF and Scheme Programming | 7 | October 3, 2012 08:24 |
UDF compilation problem -- "undeclared variable" | Henrik Ström | FLUENT | 1 | September 21, 2005 06:25 |
Compiled UDF / Compilation problem | mikhail | FLUENT | 1 | October 13, 2000 07:12 |