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
6 帖子 3 发布者 8.1k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • A 离线
    A 离线
    Aeronastro
    写于 最后由 李东岳 编辑
    #1

    请问一个问题,张量的双重內积我有个不解的地方。
    OF中一个二阶张量的模|T|=mag(T)=sqrt(T:T),就是张量中的相应位置的元素相乘再相加。
    而我看到书上说|T| = sqrt(2*Tij*Tij),这里多了一个2,这是为什么呢?

    谢谢大家的指点,我哪里理解错了么?

    1 条回复 最后回复
  • C 离线
    C 离线
    CFD中文网
    写于 最后由 编辑
    #2

    那本书?如果从定义来看,就是|T|=sqrt(T:T)=sqrt(TijTij)。

    CFD中国标准用户测试帐号
    目前由徐笑笑登录

    A 1 条回复 最后回复
  • A 离线
    A 离线
    Aeronastro
    在 中回复了 CFD中文网 最后由 李东岳 编辑
    #3

    @cfd-china 在An Introduction to Computational Fluid Dynamics-The Finite Volume Method的103页,有这样的话, S是对称张量,where |S|= sqrt(2*Sij*Sij)。

    还有一个问题,OF中sqr(mag)和magSqr()一样吗?我看到了OF代码中写过sqr(mag),难道这两种写法有区别?

    C 1 条回复 最后回复
  • C 离线
    C 离线
    CFD中文网
    在 中回复了 Aeronastro 最后由 编辑
    #4

    @Aeronastro
    我不觉得是对称张量的问题,问题在于书上把S表达为了0.5(...)的形式。

    我觉得是一样的。magSqr()更常见。A simple test:

    #include "tensor.H"
    
    using namespace Foam;
    
    int main()
    {
        tensor T(1000,2000,3000,4000,5000,6000,7000,8000,9000);
        vector V(1e5,2e5,3e5);
        
        Info<< magSqr(T) - sqr(mag(T))<< endl;
        Info<< magSqr(V) - sqr(mag(V))<< endl;
    
        return 0;
    }
    

    然而,不然。magSqr(T)和sqr(mag(T))相差一可忽略的一点。所以可以认为相同吧。源代码:

    complex/complexI.H-164-// * * * * * * * * * * * * * * * Friend Functions  * * * * * * * * * * * * * //
    complex/complexI.H-165-
    complex/complexI.H-166-
    complex/complexI.H:167:inline scalar magSqr(const complex& c)
    complex/complexI.H-168-{
    complex/complexI.H-169-    return (c.re*c.re + c.im*c.im);
    complex/complexI.H-170-}
    complex/complexI.H-171-
    complex/complexI.H-172-
    --
    complex/complexI.H-176-}
    complex/complexI.H-177-
    complex/complexI.H-178-
    complex/complexI.H-179-inline scalar mag(const complex& c)
    complex/complexI.H-180-{
    complex/complexI.H:181:    return sqrt(magSqr(c));
    complex/complexI.H-182-}
    complex/complexI.H-183-
    
    complex/complexI.H:173:inline complex sqr(const complex& c)
    complex/complexI.H-174-{
    complex/complexI.H-175-    return c * c;
    complex/complexI.H-176-}
    complex/complexI.H-177-
    complex/complexI.H-178-
    
    

    CFD中国标准用户测试帐号
    目前由徐笑笑登录

    A 1 条回复 最后回复
  • A 离线
    A 离线
    Aeronastro
    在 中回复了 CFD中文网 最后由 编辑
    #5

    @cfd-china 好的,谢谢!

    浪 1 条回复 最后回复
  • 浪 离线
    浪 离线
    浪迹天大
    在 中回复了 Aeronastro 最后由 李东岳 编辑
    #6

    @Aeronastro 我觉得是这样的:
    where |S|= sqrt(2Sij Sij),这句话可能来自LES,这只是一个定义,它不是正常意义上的magnitude.
    正常的magnitude就是|S|= sqrt(SijSij)

    OpenFOAM 学习交流:https://openfoam.top

    1 条回复 最后回复

  • 登录

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