CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   Fluent UDF and Scheme Programming (http://www.cfd-online.com/Forums/fluent-udf/)
-   -   A Problem of Fluent Interpreted UDF: parse error (http://www.cfd-online.com/Forums/fluent-udf/72857-problem-fluent-interpreted-udf-parse-error.html)

knight February 19, 2010 16:42

A Problem of Fluent Interpreted UDF: parse error
 
Hello guys!
I am a newly learner of Fluent, I got some problems with my UDF file when I compiled it in Fluent.
I don't want to bother you, while I really searched everywhere but didn't find a good solution. I hope someone could help me

my fluent path:
C:\Fluent.Inc\fluent\ntbin\ntx86\fluent.exe -r6.2.16

Model exported by GAMBIT path:
E:\dissertation\fluent模型\2010-2-5\A11\a11.msh

Udf file(it is a peroidical velocity inlet)
E:\dissertation\fluent模型\2010-2-5\A11\velocity2.c

run FLUENT, READ CASE--A11.MSH,Done!
Then,DEFINE--UDF---INTERPRETED UDF---velocity2.c
It is reported that:

cpp -IC:\Fluent.Inc\fluent\fluent6.2.16/src
-IC:\Fluent.Inc\fluent\fluent6.2.16/cortex/src
-IC:\Fluent.Inc\fluent\fluent6.2.16/client/src
-IC:\Fluent.Inc\fluent\fluent6.2.16/multiport/src -I.
-DUDFCONFIG_H="<udfconfig.h>"
E:\dissertation\fluen 模型\2010-2-5\A11\velocity2.c
Error: E:\dissertation\fluent模型\2010-2-5\A11\velocity2.c: line 1: parse
error.


It's said that there is one PARSE ERROR in line 1,then I opened this velocity.c in VC++

-----------------------------------------------------------------------
#include "udf.h"
#include "stdio.h"
#include "math.h"
#include "stdlib.h"

DEFINE_PROFILE(inlet_velocity1, thread, i)
{
Domain *domain;
Thread *f_thread ;
face_t f;
float time;

// float inlet_d=0.397e-3;
// float ave_v=1.0;

// x0=-0.528e-3;
// y0=0.00000;
// z0=0.00000;
time=CURRENT_TIME;

begin_f_loop(f, thread)
{
F_PROFILE(f, thread, i) = abs(0.003*sin(2*6.283*time));
}
end_f_loop(f, thread)
}
----------------------------------------------------------------------
When compiling, VC said:
e:\dissertation\fluent模型\2010-2-5\a11\velocity2.c(1) : fatal error C1083:
Cannot open include file: 'udf.h': No such file or directory
error when running cl.exe

I remember there is no need to compile udf in VC. Just compiling it in fluent is Ok, because fluent will find the udf.h in its directory. But it seems my Fluent wouldn't cooperate. It turned the error to my velocity.c :(

Expecting help!
Sincerely thanks

Knight

souravsingh1987 April 19, 2010 21:17

I am facing in the same problem.. can someone please help..

pacheo May 24, 2010 04:04

Quote:

Originally Posted by knight (Post 246641)
Hello guys!
I am a newly learner of Fluent, I got some problems with my UDF file when I compiled it in Fluent.
I don't want to bother you, while I really searched everywhere but didn't find a good solution. I hope someone could help me

my fluent path:
C:\Fluent.Inc\fluent\ntbin\ntx86\fluent.exe -r6.2.16

Model exported by GAMBIT path:
E:\dissertation\fluent模型\2010-2-5\A11\a11.msh

Udf file(it is a peroidical velocity inlet)
E:\dissertation\fluent模型\2010-2-5\A11\velocity2.c

run FLUENT, READ CASE--A11.MSH,Done!
Then,DEFINE--UDF---INTERPRETED UDF---velocity2.c
It is reported that:

cpp -IC:\Fluent.Inc\fluent\fluent6.2.16/src
-IC:\Fluent.Inc\fluent\fluent6.2.16/cortex/src
-IC:\Fluent.Inc\fluent\fluent6.2.16/client/src
-IC:\Fluent.Inc\fluent\fluent6.2.16/multiport/src -I.
-DUDFCONFIG_H="<udfconfig.h>"
E:\dissertation\fluen 模型\2010-2-5\A11\velocity2.c
Error: E:\dissertation\fluent模型\2010-2-5\A11\velocity2.c: line 1: parse
error.


It's said that there is one PARSE ERROR in line 1,then I opened this velocity.c in VC++

-----------------------------------------------------------------------
#include "udf.h"
#include "stdio.h"
#include "math.h"
#include "stdlib.h"

DEFINE_PROFILE(inlet_velocity1, thread, i)
{
Domain *domain;
Thread *f_thread ;
face_t f;
float time;

// float inlet_d=0.397e-3;
// float ave_v=1.0;

// x0=-0.528e-3;
// y0=0.00000;
// z0=0.00000;
time=CURRENT_TIME;

begin_f_loop(f, thread)
{
F_PROFILE(f, thread, i) = abs(0.003*sin(2*6.283*time));
}
end_f_loop(f, thread)
}
----------------------------------------------------------------------
When compiling, VC said:
e:\dissertation\fluent模型\2010-2-5\a11\velocity2.c(1) : fatal error C1083:
Cannot open include file: 'udf.h': No such file or directory
error when running cl.exe

I remember there is no need to compile udf in VC. Just compiling it in fluent is Ok, because fluent will find the udf.h in its directory. But it seems my Fluent wouldn't cooperate. It turned the error to my velocity.c :(

Expecting help!
Sincerely thanks

Knight

u'd better not include chinese characters in your work folder.

try again.

Galileo February 21, 2011 11:42

math.h stdio.h stdlib.h udf.h in UDFs of FLUENT
 
This thread is old, but I faced similar problem and found this thinking the way out would have been discussed.

The way round would be to use this header only
#include "udf.h"

and leave out these headers:
#include "stdio.h"
#include "math.h"
#include "stdlib.h"


udf.h defines most of what is needed.

Hope this helps someone else.

cdf_user April 7, 2011 04:45

make sure you include the full path to the file when you select the file through 'browse'. same goes for udf_library in build during compiling

sirnick March 13, 2012 06:23

Thank you very much Galileo, you save me!!

nnvoro April 18, 2013 13:46

I need to use Bessel functions and complex numbers in my udf to set womersley profile in the inlet, when I leave only #include "udf.h" in the header Fluent can't interpret my udf. How can I cope with this problem?

Galileo April 27, 2013 07:00

Quote:

Originally Posted by nnvoro (Post 421582)
I need to use Bessel functions and complex numbers in my udf to set womersley profile in the inlet, when I leave only #include "udf.h" in the header Fluent can't interpret my udf. How can I cope with this problem?


I am not quite clear with what you want to do, but for you to get help, you need to post more details. For example, you need to say what the error is; are you interpreting or compiling; how complex numbers will work in a BC. Unless you are using one of the parts of a complex number, it will be difficult to code z=a+ib.. You need to be able to express the problem in simple equation or the form the equation will take.

nnvoro April 28, 2013 15:10

Quote:

Originally Posted by Galileo (Post 423490)
I am not quite clear with what you want to do, but for you to get help, you need to post more details. For example, you need to say what the error is; are you interpreting or compiling; how complex numbers will work in a BC. Unless you are using one of the parts of a complex number, it will be difficult to code z=a+ib.. You need to be able to express the problem in simple equation or the form the equation will take.

Engr, I really appreciate that you answered me. The problem was that I was trying to write my boundary conditions in a compact form, for that I used expressions which contained imaginary numbers and Bessel functions. I was taking real part of this expression which is than was used for boundary conditions. Thus I needed imaginary numbers in order to avoid bulky expressions in my udf.
Now, my problem is solved, I did the thing I was trying to avoid, I wrote my udf without using imaginary numbers and Bessel functions.

mumu678 May 1, 2013 06:29

感觉使用udf.h就可以满足需求

armanrazy May 6, 2013 07:17

salam
 
because u used a space before include

siddharth12 December 8, 2013 10:00

error while building udf
 
I am getting error while compiling udf in fluent 13.0.0

error is
module machine type 'x64' conflicts with target machine type 'X86'

please help
please....


All times are GMT -4. The time now is 23:03.