|
[Sponsors] |
A Problem of Fluent Interpreted UDF: parse error |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
February 19, 2010, 16:42 |
A Problem of Fluent Interpreted UDF: parse error
|
#1 |
New Member
PengYun
Join Date: Feb 2010
Posts: 1
Rep Power: 0 |
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 |
|
April 19, 2010, 21:17 |
|
#2 |
New Member
sourav singh
Join Date: Apr 2010
Posts: 1
Rep Power: 0 |
I am facing in the same problem.. can someone please help..
|
|
May 24, 2010, 04:04 |
|
#3 | |
New Member
Pacheo
Join Date: Apr 2009
Posts: 7
Rep Power: 17 |
Quote:
try again. |
||
February 21, 2011, 11:42 |
math.h stdio.h stdlib.h udf.h in UDFs of FLUENT
|
#4 |
Member
Engr Adeniyi
Join Date: Jan 2011
Posts: 32
Rep Power: 16 |
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. |
|
April 7, 2011, 04:45 |
|
#5 |
Member
Join Date: Mar 2011
Posts: 50
Rep Power: 15 |
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
|
|
March 13, 2012, 05:23 |
|
#6 |
New Member
Nicola
Join Date: Feb 2012
Posts: 5
Rep Power: 14 |
Thank you very much Galileo, you save me!!
|
|
April 18, 2013, 13:46 |
|
#7 |
New Member
Join Date: Apr 2013
Posts: 17
Rep Power: 13 |
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?
|
|
April 27, 2013, 07:00 |
|
#8 | |
Member
Engr Adeniyi
Join Date: Jan 2011
Posts: 32
Rep Power: 16 |
Quote:
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. |
||
April 28, 2013, 15:10 |
|
#9 | |
New Member
Join Date: Apr 2013
Posts: 17
Rep Power: 13 |
Quote:
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. |
||
May 1, 2013, 06:29 |
|
#10 |
New Member
Wu Zhuo
Join Date: Apr 2013
Posts: 3
Rep Power: 13 |
感觉使用udf.h就可以满足需求
|
|
May 6, 2013, 07:17 |
salam
|
#11 |
New Member
tehran
Join Date: May 2013
Posts: 4
Rep Power: 13 |
because u used a space before include
|
|
December 8, 2013, 10:00 |
error while building udf
|
#12 |
New Member
siddharth mittal
Join Date: Dec 2013
Posts: 3
Rep Power: 13 |
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.... |
|
March 5, 2016, 02:26 |
Parse error
|
#13 |
New Member
kalaivani
Join Date: Feb 2016
Posts: 2
Rep Power: 0 |
Sir,
Sir, I tried to work out an example in LNA in ANSYS tool . I got the result.But if i replace it by a HEMT model i get the parse error as Cant interpret this device.Please provide me a solution so that it would be helpful for me to arrive at good solutions. |
|
January 16, 2018, 02:37 |
"error:E:fluent/volume.c;line 28 parse error." The udf are as follows:
|
#14 | |
Member
wan zhihua
Join Date: Dec 2017
Posts: 67
Rep Power: 9 |
Quote:
Hi,nnvoro,I meet the same problem,can you help me?this is my problems. when I interpret the udf to the fluent,it gives errors "error:E:fluent/volume.c;line 28 parse error." The udf are as follows: /************************************************** ********************* udfexample.c UDF for specifying volume profile boundary condition ************************************************** **********************/ #include "udf.h" DEFINE_PROFILE(inlet_volume, thread, position) { real x[ND_ND]; /* this will hold the position vector */ real y, h; face_t f; h = -0.0009; /* inlet height in m */ begin_f_loop(f,thread) { F_CENTROID(x, f, thread); y = x[1]; if (y<h) { F_PROFILE(f, thread, position) =1; } else { F_PROFILE(f, thread, position) =0; } end_f_loop(f, thread) } |
||
January 16, 2018, 05:47 |
|
#15 |
Senior Member
Join Date: Sep 2017
Posts: 246
Rep Power: 12 |
Dear Zhihuawan,
You start the face loop with "begin_f_loop(f,thread) {", so you need to end it with "} end_f_loop(f,thread)" -- note the closing "}", which is currently missing. I would highly recommend that everyone trying to write UDFs (or other code) uses a text editor that indents automatically, and that shows matching pairs of opening brackets/braces/parentheses/etc. If you don't have time to learn vim or emacs, try Notepad++ and look for auto-indent. Also, this thread is about interpreted UDFs. I would highly recommend using compiled UDFs unless your sys-admins make it completely impossible. Interpreted UDFs are very restricted (and probably slow, though I have never tested this). Best regards, Ed |
|
January 17, 2018, 21:31 |
[QUOTE=obscureed;678284]Dear Zhihuawan, You start the face loop with "begin_f_loop(f
|
#16 | |
Member
wan zhihua
Join Date: Dec 2017
Posts: 67
Rep Power: 9 |
Quote:
Thank you very much .I solve my problem by your idea. but I have some questions: (1)I want to send you the udf files, but I do not know how. (2)I also want to compile it ,but it failed ,should I change the udf to be a compiled udf.How can do it ? (3)Can you tell me what should learn if I want to master the udf prgramming. Thank you very much. |
||
January 17, 2018, 21:56 |
This is the pictures about my udf and error tips.
|
#17 | |
Member
wan zhihua
Join Date: Dec 2017
Posts: 67
Rep Power: 9 |
Quote:
IMG_5436.jpg IMG_5437.jpg |
||
January 18, 2018, 03:16 |
|
#18 | |
Senior Member
Join Date: Nov 2013
Posts: 1,965
Rep Power: 27 |
Quote:
You should see a warning about line 12 or 13. The code that you used is slightly different from the code that you posted on this forum. |
||
January 18, 2018, 07:24 |
[QUOTE=pakk;678527]Please show the error that you get when you try to compile the udf
|
#19 |
Member
wan zhihua
Join Date: Dec 2017
Posts: 67
Rep Power: 9 |
I do not know how to comiled the udf ,can you tell me how to do it?Yes ,I plus a "}" before the "end_f_loop(f,thread)",therefore ,it can works.
|
|
January 18, 2018, 08:47 |
|
#20 |
Senior Member
Join Date: Nov 2013
Posts: 1,965
Rep Power: 27 |
You were able to find the "load" button. On the same screen, there is the "build" button. You should click the "build" button before you click the "load" button.
|
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
parse error while interpreting udf | Kristin | Fluent UDF and Scheme Programming | 3 | March 15, 2012 07:43 |
UDF: DEFINE_CG_MOTION for vertical jump motion of an electrode! | alban | Fluent UDF and Scheme Programming | 2 | June 8, 2010 19:54 |
Version 15 on Mac OS X | gschaider | OpenFOAM Installation | 113 | December 2, 2009 11:23 |
Compiling problems with hello worldC | fw407 | OpenFOAM Installation | 21 | January 6, 2008 18:38 |
DecomposePar links against liblamso0 with OpenMPI | jens_klostermann | OpenFOAM Bugs | 11 | June 28, 2007 18:51 |