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. OpenFOAM
  3. U*sin(t)边界条件

U*sin(t)边界条件

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

    因为你需要知道当前时间步的值,要不然你怎么调用数据库呢?如果你不需要数据里面的信息,可以去掉,比如:operator==(vector(2,0,0));

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

    X 1 条回复 最后回复
  • X 离线
    X 离线
    xiaofenger
    在 中回复了 李东岳 最后由 编辑
    #10

    @李东岳 多谢解释,就是说“time”这个变量是数据库db()里的,关于db()的话是不是就不是Openfoam的范畴了?而是C++的内容?还有就是,这里的name dummy的用法是什么呢?

    1 条回复 最后回复
  • 李东岳李 离线
    李东岳李 离线
    李东岳 管理员
    写于 最后由 编辑
    #11

    是OpenFOAM范畴,name dummy中的name是关键词,必须要给,值可以随便,也可以写name OMG :cheeky:

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

    X chengan.wangC 2 条回复 最后回复
  • X 离线
    X 离线
    xiaofenger
    在 中回复了 李东岳 最后由 编辑
    #12

    @李东岳 您好,我这个地方还有一个问题,在internalField 设置是uniform (0,0,0)的时候用这个代码没有问题,但我把一个已经算出的速度场file代替这个(0,0,0)的时候还用这个codedFixedValue就会出问题,错误提示好像是跟internalField相关,请问您知道这可能是什么原因吗?多谢

    A 1 条回复 最后回复
  • A 离线
    A 离线
    asininno
    在 中回复了 xiaofenger 最后由 编辑
    #13

    @xiaofenger 你把$internalField 直接写成uniform (0 0 0)不就好咯

    1 条回复 最后回复
  • chengan.wangC 离线
    chengan.wangC 离线
    chengan.wang
    写于 最后由 编辑
    #14

    如果我想直接设置速度场(Usin(5),Ucos(5),0),U是一个定值,也必须写成这么复杂的形式吗

    1 条回复 最后回复
  • chengan.wangC 离线
    chengan.wangC 离线
    chengan.wang
    在 中回复了 李东岳 最后由 李东岳 编辑
    #15

    @东岳 版主您好,我想设置入口速度具有一定的入射角度,修改现有的算例,原始版本:

       internalField   uniform (25 0 0);
    
        left
        {
            type            freestream;
            freestreamValue uniform (24.8 3.16 0);
         }
    

    仿照您给的例子改成:

       internalField   uniform (25 0 0);
    
        left
        {
            type            freestream;
    
            name          dummy;
            
            code
            #{
                    const scalar& angle = 10*3.14/180; //rad
                    const scalar& U_ref = 25; //m/s
                    operator==(vector(U_ref*cos(angle),U_ref*sin(angle),0));
            #};
    
            freestreamValue           $internalField;
        }
    

    我设置的角度似乎没有什么影响

    1 条回复 最后回复
  • fireztwF 离线
    fireztwF 离线
    fireztw
    写于 最后由 编辑
    #16

    李老师,请问计算域的速度场可以设置成时间的函数吗?比如经典的两相流算例:气泡在旋涡作用下变形,旋涡强弱和方向随时间变化的

    1 条回复 最后回复
  • fireztwF 离线
    fireztwF 离线
    fireztw
    写于 最后由 编辑
    #17

    @东岳

    1 条回复 最后回复
  • 范准范 离线
    范准范 离线
    范准
    写于 最后由 编辑
    #18

    可以用一个名叫groovyBC的第三方插件,自由定义边界条件

    1 条回复 最后回复
  • 李东岳李 离线
    李东岳李 离线
    李东岳 管理员
    写于 最后由 编辑
    #19

    @chengan-wang
    你的最后面的代码有误,这样改:

    internalField   uniform (25 0 0);
     
        left
        {
            //type            freestream;
            type            codedFixedValue;
     
            name          dummy;
            
            code
            #{
                    const scalar& angle = 10*3.14/180; //rad
                    const scalar& U_ref = 25; //m/s
                    operator==(vector(U_ref*cos(angle),U_ref*sin(angle),0));
            #};
     
            freestreamValue           $internalField;
        }
    

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

    1 条回复 最后回复
  • I 离线
    I 离线
    ir77
    在 中回复了 李东岳 最后由 编辑
    #20

    @李东岳 在 U*sin(t)边界条件 中说:

    我刚开始学OpenFOAM,我没在用户手册里看到怎么样把速度的边界条件设成time dependent的,比如我要wall velocity 是U*sin(t),这个样子的?能麻烦你告诉我一下实现这个的函数吗?

    inlet
        {
            type            codedFixedValue;
            name            dummy;
            code
            #{
    		const scalar& time = this->db().time().value();
    	        operator==(vector(2.0*sin(time),0,0));
           #}; 
            value           $internalField;
        }
    

    请参考

    李老师您好,我看过您在另一个帖子提到的“合理调节上部来流速度使浮升气泡保持在一个相对静止的位置”后,我想复现您说的内容,即:求解域的速度进口的速度大小根据上一个时间步的气泡速度自动调节。目前的思路是:采用function在算例文件夹下写出一个气泡速度Ub,再在0/U中采用include将气泡速度Ub引入边界条件中进行操作。但在实际操作过程中发现,include只会在计算第一步加载,并不会在每一个时间步后加载,导致速度进口大小并未实现自动调节。请问李老师您有没有好的思路可以实现边界条件的实时加载和自动调节哇:xinxin:

    1 条回复 最后回复

  • 登录

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