Navigation

    CFD中文网

    CFD中文网

    • Login
    • Search
    • 最新

    UDF编译出错,不知道是程序的问题还是环境变量的问题

    Fluent
    8
    25
    7988
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      noodles last edited by 李东岳

      程序如下所示,是照着用户手册抄过来的,编译的时候出错了,不明白什么原因

      #include"udf.h"
      
      
      #define YMIN 0.0    //CONSTANTS//
      #define  YMAX 0.4064
      #define UMEAN 1.0
      #define B 1.0/7.0
      #define DELOVRH 0.5
      #define VISC 1.7894e-05
      #define CMU 0.09
      #define VKC 0.41
      
      //profile for x-velocity//
      
      DEFINE_PROFILE(x_velocity,t,i)
      {
      	real y, del, h, x[ND_ND], ufree; //variable declarations//
      	face_t f;
      	h = YMAX - YMIN;
      	del = DELOVRH * h;
      	ufree = UMEAN * (B + 1.0);
      	begin_f_loop(f,t)
      	{
      		F_CENTROID(x,f,t);
      		y = x[1];
      		if (y <= del)
      			F_PROFILE(f,t,i) = ufree*pow(y/del,B);
      		else
      			F_PROFILE(f,t,i) = ufree*pow((h-y)/del,B);
      	}
      	end_f_loop(f,t)
      }
      //profile for kinetic energy//
      DEFINE_PROFILE(k_profile,t,i)
      {
      	real y, del, h, x[ND_ND], ufree;
      	real ff, utau, knw, kinf;
      	face_t,f;
      	h = YMAX - YMIN;
      	del = DELOVRH * h;
      	ufree = UMEAN * (B + 1.0);
      	ff = 0.045 / pow(ufree * del/VISC, 0.25);
      	utau = sqrt(ff * pow(ufree, 2.0));
      	befin_f_loop(f,t)
      	{
      		F_CENTROID(x,f,t);
      		y = x[1];
      		if (y <= del)
      			F_PROFILE(f,t,i) = knw + y/del * (kinf - knw);
      		else
      			F_PROFILE(f,t,i) = knw + (h-y)/del * (kinf - knw);
      	}
      	end_f_loop(f,t)
      
      }
      

      0_1538530969758_d9b74c1a-d7ab-4d89-bfc4-26d3f4df6cb3-image.png

      我未曾珍惜的,我不再拥有。

      1 Reply Last reply Reply Quote
      • 两月三年
        两月三年 last edited by

        这是加载出错吧,我感觉是你编译udf的fluent版本和你现在使用的不是同一个版本,重新编译试一下

        那都是很好很好的,可是我偏不喜欢。

        N 1 Reply Last reply Reply Quote
        • N
          noodles @两月三年 last edited by

          @两月三年 我是安装了两个版本的fluent,但是只拿这一个在编译UDF

          我未曾珍惜的,我不再拥有。

          1 Reply Last reply Reply Quote
          • 两月三年
            两月三年 last edited by

            用那个编译,就用那个加载,版本不一样,编译玩他不认识的,你这个直接解释就行了,模型不复杂的话,直接解释吧,

            那都是很好很好的,可是我偏不喜欢。

            N 3 Replies Last reply Reply Quote
            • N
              noodles @两月三年 last edited by

              @两月三年 好的 谢谢您 我之前没试过解释 我试试

              我未曾珍惜的,我不再拥有。

              1 Reply Last reply Reply Quote
              • N
                noodles @两月三年 last edited by

                @两月三年 解释了一下 发现程序有问题 谢谢您

                我未曾珍惜的,我不再拥有。

                1 Reply Last reply Reply Quote
                • N
                  noodles @两月三年 last edited by

                  @两月三年 但是编译还是不成功

                  我未曾珍惜的,我不再拥有。

                  1 Reply Last reply Reply Quote
                  • 李东岳
                    李东岳 管理员 last edited by

                    替代文字

                    你确认E://CFD/udfxuexi/UDF pr...路径下有这个libudf.dll文件?

                    线上CFD课程 7月1日报名截止 http://dyfluid.com/class.html
                    CFD高性能服务器 http://dyfluid.com/servers.html

                    N 1 Reply Last reply Reply Quote
                    • N
                      noodles @李东岳 last edited by

                      @东岳 确实没有这个文件

                      我未曾珍惜的,我不再拥有。

                      1 Reply Last reply Reply Quote
                      • Astremon
                        Astremon last edited by

                        建议从VS命令行启动FLUENT.

                        N 1 Reply Last reply Reply Quote
                        • N
                          noodles @Astremon last edited by

                          @astremon 您好 谢谢提醒 这个怎么操作呢 以前没有听说过

                          我未曾珍惜的,我不再拥有。

                          Astremon 1 Reply Last reply Reply Quote
                          • Astremon
                            Astremon @noodles last edited by

                            @noodles 就是打开VS的命令行窗口,把fluent快捷方式中的属性中的目标地址复制过去就行。

                            N 1 Reply Last reply Reply Quote
                            • N
                              noodles @Astremon last edited by

                              @astremon 在 UDF编译出错,不知道是程序的问题还是环境变量的问题 中说:

                              VS的命令行窗口

                              谢谢解答,暂时还不会,我去研究研究

                              我未曾珍惜的,我不再拥有。

                              I 1 Reply Last reply Reply Quote
                              • I
                                ibelief @noodles last edited by 李东岳

                                @noodles 解决方案:
                                具体过程可以参考这个文章

                                https://mp.weixin.qq.com/s?__biz=MjM5MDkyMjA1Nw==&mid=2650141512&idx=1&sn=acc8ccc02b8eccf47d2d44f24856501e&scene=21#wechat_redirect

                                • 从Microsoft 官网下载 软件开发补丁: NET Framework 2.0 Software Development Kit (SDK) (x64)

                                • 安装补丁

                                • 从开始快捷键中 以管理员身份运行 SDK 命令行,SDK Command Prompt

                                • 命令行中 切换至fluent 启动项位置,运行fluent

                                • 切换fluent工作目录至case 目录,运行。

                                • udf 成功运行

                                因此推断 在编译过程中有点问题,可能还是VS与 fluent 之间配合不好。 在编译完成之后udf即可正常运行。

                                努力收敛

                                N 1 Reply Last reply Reply Quote
                                • N
                                  noodles @ibelief last edited by

                                  @ibelief 谢谢 公众号早已关注 只是未见你更新哪:mihu: :mihu: :mihu:

                                  我未曾珍惜的,我不再拥有。

                                  I 1 Reply Last reply Reply Quote
                                  • I
                                    ibelief @noodles last edited by

                                    @noodles 写不出来好的东西,也就没有更新了

                                    努力收敛

                                    N 1 Reply Last reply Reply Quote
                                    • N
                                      noodles @ibelief last edited by

                                      @ibelief 最新更新的那篇也是太过于精简啊:huahua:

                                      我未曾珍惜的,我不再拥有。

                                      I 1 Reply Last reply Reply Quote
                                      • zousiyu
                                        zousiyu last edited by

                                        这个问题太常见了
                                        从vs命令行启动程序,然后用下面命令启动fluent
                                        cd "C:\Program Files\ANSYS Inc\v162\fluent\ntbin\win64"
                                        fluent

                                        1 Reply Last reply Reply Quote
                                        • I
                                          ibelief @noodles last edited by

                                          @noodles 更新了一个资源索引

                                          努力收敛

                                          N 1 Reply Last reply Reply Quote
                                          • N
                                            noodles @ibelief last edited by

                                            @ibelief 看到啦

                                            我未曾珍惜的,我不再拥有。

                                            1 Reply Last reply Reply Quote
                                            • L
                                              l.j刘侃 last edited by

                                              这是一个环境变量的问题
                                              如果你在国内几个fluent的大群 我都上传了设置这个的方法
                                              这个其实也很简单 udf.bat写的是搜索VC 下的vcvarsall.bat的位置 然后通过vcvarsall.bat来寻找MS C complier的include lib libpath path的位置
                                              最后添加环境变量就能解决问题
                                              这是实现原理
                                              那么如果你的默认路径已经在环境变量里设置了 之后你又安装了新版本不在这个老位置
                                              那么你即便使用VS的启动命令可能还是不行
                                              其实也简单 你联系我 10分钟解决问题

                                              N 1 Reply Last reply Reply Quote
                                              • N
                                                noodles @l.j刘侃 last edited by

                                                @l-j刘侃 谢谢您,请问您方便加我qq吗,957363528

                                                我未曾珍惜的,我不再拥有。

                                                L 1 Reply Last reply Reply Quote
                                                • L
                                                  lei_y16 @noodles last edited by

                                                  @noodles 你好,请问你解决了么,我也遇到了这个问题,能指导下么?谢谢!

                                                  I 1 Reply Last reply Reply Quote
                                                  • I
                                                    ibelief @lei_y16 last edited by

                                                    @lei_y16 上面有一些解决方法, 你可以试试,本质上就是环境变量的问题。

                                                    努力收敛

                                                    L 1 Reply Last reply Reply Quote
                                                    • L
                                                      lei_y16 @ibelief last edited by

                                                      @ibelief 好的,谢谢!

                                                      1 Reply Last reply Reply Quote
                                                      • First post
                                                        Last post

                                                      CFD中文网 | 东岳流体 | 京ICP备15017992号-2
                                                      论坛登录问题反馈可联系 li.dy@dyfluid.com