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. 如何将dimensionedScalar 转化为volScalarField?

如何将dimensionedScalar 转化为volScalarField?

已定时 已固定 已锁定 已移动 OpenFOAM
8 帖子 3 发布者 8.2k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • M 离线
    M 离线
    Mr.Ye
    写于2017年8月30日 13:33 最后由 李东岳 编辑 2017年8月31日 08:58
    #1

    各位大神我的程序里有这么一个语句
    sens=(U&V)*mesh.V(),但是mesh.V()似乎是dimensionedscalar 类型,sens是volScalarField类型的,编译时会报错,求各位大神支支招。

    M 1 条回复 最后回复 2017年8月31日 07:49
  • 李 离线
    李 离线
    李东岳 管理员
    写于2017年8月31日 00:59 最后由 编辑
    #2

    你的错误不是这个,mesh.V()是scalarField,把你的log贴一下看看

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

    M 1 条回复 最后回复 2017年8月31日 08:31
  • M 离线
    M 离线
    mohui
    在 2017年8月31日 07:49 中回复了 Mr.Ye 最后由 编辑
    #3

    @Mr.Ye 对啊,我也想问,如何将dimensionedScalar 转为volScalarField?另外,我想问下,这个可以转吗?

    1 条回复 最后回复
  • M 离线
    M 离线
    Mr.Ye
    在 2017年8月31日 08:31 中回复了 李东岳 最后由 编辑
    #4

    @李东岳 是下面这段代码

    0_1504167805675_捕获.JPG

    0_1504168206335_捕获2.JPG

    没有mesh.V()的时候可以正常编译和计算
    加上之后会出现下面的情况
    0_1504168263206_捕获3.JPG

    谢谢东岳老师

    1 条回复 最后回复
  • 李 离线
    李 离线
    李东岳 管理员
    写于2017年8月31日 22:48 最后由 编辑
    #5

    转换可以这么写:
    比如你有个dimensionedScalar nu
    你在声明volScalarField的时候:

    volScalarField nuVol
    (
    IOobject
    (
    )
    mesh//替换为nu
    );

    @Mr-Ye
    mesh.V()是scalarField,fvc::是volScalarField,因此类型不匹配。
    你的变量需要乘网格体积?我建议你采用forAll循环的方式计算。

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

    M 2 条回复 最后回复 2017年9月1日 01:09
  • M 离线
    M 离线
    Mr.Ye
    在 2017年9月1日 01:09 中回复了 李东岳 最后由 编辑
    #6

    @李东岳 谢谢大神,我是需要计算出每一点的sens,我试试forAll循环

    1 条回复 最后回复
  • M 离线
    M 离线
    Mr.Ye
    在 2017年9月1日 14:10 中回复了 李东岳 最后由 编辑
    #7

    @李东岳 可以用forAll 实现变量跟网格体积相乘,mesh.V是不是没有量纲?
    sens= (Ua & U);

    forAll(sens, celli)
    {
    	sens[celli]=sens[celli]*mesh.V()[celli];
    }
    
    1 条回复 最后回复
  • 李 离线
    李 离线
    李东岳 管理员
    写于2017年9月7日 00:01 最后由 编辑
    #8

    mesh.V()的单位是m³

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

    1 条回复 最后回复
2017年8月30日 13:33

5/8

2017年8月31日 22:48

未读 3
2017年9月7日 00:01
  • 登录

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