• 最新
  • 版块
  • 热门
  • 东岳流体
皮肤
  • 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中文网

请问如何在计算域内添加间断场?

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

    比如我想定义一个volscalarfield,在x属于0-x0的时候,这个变量为0,在x0以后的区域,这个变量为100请问该如何实现呢?

    我看了参考文献,以前有人这么做过:

     volScalarField thetaField
        (
        "thetaField",
        max(theta1*(mesh.C().component(vector::X) - x0 /(x1-x0), theta0)
        );
    

    这里theta0为0,前面的值

    {theta1*(mesh.C().component(vector::X) - x0 /(x1-x0)}
    

    在x0前面是负值,在x0后面是正值,因此这样可以实现分段的定义,可是如果两个值都是大于等于零的该如何实现呢?
    或者of里面哪个场是分段定义的,可否告知,多谢。

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

    比如我想定义一个volscalarfield,在x属于0-x0的时候,这个变量为0,在x0以后的区域,这个变量为100请问该如何实现呢?

    试试这个:

    volScalarField thetaField("thetaField", pos(x-x0)*100);
    

    CFD高性能服务器 http://dyfluid.com/servers.html
    论坛随机不定时开放注册

    C 1 条回复 最后回复
  • C 离线
    C 离线
    CFDngu
    replied to 李东岳 on 最后由 编辑
    #3

    @李东岳 多谢东岳老师,我去尝试一下

    1 条回复 最后回复

CFD中文网2016-2023 | 京ICP备15017992号-2

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 热门
  • 东岳流体
  • 登录

  • 登录或注册以进行搜索。