Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

  1. CFD中文网
  2. Fluent
  3. 使用DEFINE_ON_DEMAND编译完成之后出现一些问题

使用DEFINE_ON_DEMAND编译完成之后出现一些问题

已定时 已固定 已锁定 已移动 Fluent
5 帖子 3 发布者 3.2k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • C 离线
    C 离线
    csfine
    写于 最后由 李东岳 编辑
    #1

    我使用DEDINE_ON_DEMAND,目的是为了输出网格点坐标,在fluent完成了build,也完成了load。但是在excute on demand 里面发现 什么也没有,到目前不知道是为啥。
    代码如下:

    #include "udf.h"
    
    
    struct Point
    {
        double x ;
        double y ;
    #if RP_3D
        double z ;
    #endif    
    } ;
    
    DEFINE_ON_DEMAND(Read_point)
    {
        FILE * fp ;
        Thread * t ;
        Domain * domain ;
        cell_t c  ;
        Node * node ;
        int n  ;
    
        struct Point point ;
    
        domain = Get_Domain(1) ;
    
        fp = fopen ("data.txt" , "a+") ;
        fprintf(fp,  "x         y");
    
    #if RP_3D
        fprintf(fp  , "     z") ;
    #endif
        fprintf(fp , "\n");
    
        Thread_loop_c(t , domain)
        {
            begin_c_loop(c , t)
            {
                c_node_loop(c , t , n)
                {
                    node = C_NODE(c, t, n);
                    point.x = NODE_X(node);
                    point.y = NODE_Y(node);
    
                    #if RP_3D
    				point.z = NODE_Z(node);
    			    #endif
    
                    fprintf(fp , "%g    %g" , point.x , point.y) ;
    
                    #if RP_3D
    				fprintf(fp , "      %g" , point.z) ;
    			    #endif
                }
            }
            end_c_loop(c ,t) 
        }
    
        fclose (fp) ;
    }
    

    c3d5474c-f237-4bc5-bfb1-105f4d067e21-image.png

    1 条回复 最后回复
  • C 离线
    C 离线
    csfine
    写于 最后由 编辑
    #2

    继续更新,后面发生了很奇怪的事情,我试着重新编译,但是报错了,报错提示如下:看他的意时缺少了一个分号,但是我觉得这不合理,我仔细检查了语法,没有错误。

    image.png

    之后我重新尝试把代码复制到另外一个文件夹:但是却报了一个新的错误,不知道咋办了。有大佬给点建议吗,这可能是什么原因呢?我试着编译一些其他的代码,编译能成功。

    image.png

    C 1 条回复 最后回复
  • C 离线
    C 离线
    coolhhh 神
    在 中回复了 csfine 最后由 编辑
    #3

    @csfine thread_loop_c的首字母要小写,下面这个可以跑

    #include "udf.h"
    #include <stdio.h>
    
    DEFINE_ON_DEMAND(Read_point)
    {
        FILE *fp;
        Thread *t;
        Domain *domain;
        cell_t c;
        Node *node;
        int n;
    
        domain = Get_Domain(1) ;
    
        fp = fopen("data.txt", "a+");
    
        fprintf(fp,  "x         y");
        #if RP_3D
            fprintf(fp , " z") ;
        #endif
        fprintf(fp, "\n");
    
        thread_loop_c(t, domain)
        {
            begin_c_loop(c, t)
            {
                c_node_loop(c, t, n)
                {
                    node = C_NODE(c, t, n);
    
                    double x = NODE_X(node);
                    double y = NODE_Y(node);
                    #if RP_3D
                        double z = NODE_Z(node);
                        fprintf(fp, "%g    %g    %g\n", x, y, z);
                    #else
                        fprintf(fp, "%g    %g\n", x, y);
                    #endif
                }
            }
            end_c_loop(c, t);
        }
        fclose(fp);
    }
    
    李东岳李 C 2 条回复 最后回复
  • 李东岳李 离线
    李东岳李 离线
    李东岳 管理员
    在 中回复了 coolhhh 最后由 编辑
    #4

    @coolhhh 大佬全能型选手啊,这个都明白

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    1 条回复 最后回复
  • C 离线
    C 离线
    csfine
    在 中回复了 coolhhh 最后由 编辑
    #5

    @coolhhh 感谢您的回复 ,确实是这个样,没发现那个字母大写了。

    1 条回复 最后回复

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]