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. OpenFoam张量取值运算

OpenFoam张量取值运算

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

    我的部分代码是这样的

            volTensorField gradU("gradU", fvc::grad(U));
            scalarField parU1 = gradU.xz();
            scalarField parU2 = gradU.zz(); 
    

    我想取速度梯度中的某两个量,可是出现了这样的错误

    TEqn.H:4:35: error: ‘Foam::volTensorField {aka class Foam::GeometricField<Foam::Tensor<double>, Foam::fvPatchField, Foam::volMesh>}’ has no member named ‘xz’
             scalarField parU1 = gradU.xz();
                                       ^
    TEqn.H:5:35: error: ‘Foam::volTensorField {aka class Foam::GeometricField<Foam::Tensor<double>, Foam::fvPatchField, Foam::volMesh>}’ has no member named ‘zz’
             scalarField parU2 = gradU.zz(); 
                                       ^
    

    大神们帮我看看这是为什么呢?该怎么改呢?

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

    xz()只能用于tensor,但是你的gradU是volTensorField,因此只能用于处理gradU[celli].xy()。

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

    小 1 条回复 最后回复
  • 小 离线
    小 离线
    小龙
    在 中回复了 李东岳 最后由 编辑
    #3

    @李东岳 那我该怎么提取速度梯度中的量呢?

    gradU.component(tensor::ZX)
    

    这样对吗?

    1 条回复 最后回复

  • 登录

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