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. 量纲问题:加入的fvm::susp部分总差个密度量纲?求大佬指点,我已黔驴技穷了

量纲问题:加入的fvm::susp部分总差个密度量纲?求大佬指点,我已黔驴技穷了

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

    错误如下:

    --> FOAM FATAL ERROR: 
    incompatible dimensions for operation 
        [omega[0 0 -2 0 0 0 0] ] - [omega[1 -3 -2 0 0 0 0] ]
    
    

    我定义量部分:

     const volVectorField& B = 
    (
        this->mesh_.objectRegistry::template
        lookupObject<volVectorField>("B")
    );
        const volScalarField& sigmaMag = 
    (
        this->mesh_.objectRegistry::template
        lookupObject<volScalarField>("sigmaMag")
    );
        volScalarField Ux = U.component(0);
        volScalarField Uy = U.component(1);
        volScalarField Uz = U.component(2);
        volScalarField Bx = B.component(0);
        volScalarField By = B.component(1);
        volScalarField Bz = B.component(2);
        
        volScalarField Scmag 
        (
           ((sigmaMag/rho)*(2.0*Ux*Uy*Bx*By) + (2.0*Ux*Uz*Bx*Bz) + (2.0*Uy*Uz*Bx*By) - (Uy*Uy + Uz*Uz)*Bx*Bx - (Ux*Ux + Uz*Uz)*By*By - (Uy*Uy + Ux*Ux)*Bz*Bz)
        );
    

    加入一个fvm::susp部分:

     tmp<fvScalarMatrix> omegaEqn
            (
                fvm::ddt(alpha, rho, omega_)
              + fvm::div(alphaRhoPhi, omega_)
              - fvm::laplacian(alpha*rho*DomegaEff(F1), omega_)
             ==
                alpha()*rho()*gamma
               *min
                (
                    GbyNu, //G 
                    (c1_/a1_)*betaStar_*omega_()
                   *max(a1_*omega_(), b1_*F23()*sqrt(S2()))
                )
              - fvm::SuSp((2.0/3.0)*alpha()*rho()*gamma*divU, omega_)
               //加入部分如下:
              - fvm::SuSp(0.1*alpha()*rho()*Scmag()/k_(), omega_) 
              - fvm::Sp(alpha()*rho()*beta*omega_(), omega_)
              - fvm::SuSp
                (
                    alpha()*rho()*(F1() - scalar(1))*CDkOmega()/omega_(),
                    omega_
                )
              + Qsas(S2(), gamma, beta)
              + omegaSource()
              + fvOptions(alpha, rho, omega_)
            );
    
    

    量纲显示差一个密度,可我计算的Scmag量 [0,2,-3,0,0,0,0] 密度没差,:mihu: 莫非是方程默认除了一个rho的单位?

    1 条回复 最后回复
  • 李东岳李 离线
    李东岳李 离线
    李东岳 管理员
    写于 最后由 编辑
    #2
    - fvm::SuSp((2.0/3.0)*alpha()*rho()*gamma*divU, omega_)
    
              - fvm::SuSp(0.1*alpha()*rho()*Scmag()/k_(), omega_) 
    

    这两行手算梁刚没问题?

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

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

    @李东岳

    fvm::SuSp(0.1*alpha()*rho()*Scmag()/k_(), omega_)
    

    自己添加这一部分算下来确实如错误所示 [1,-3,-2,0,0,0,0]

    fvm::SuSp((2.0/3.0)*alpha()*rho()*gamma*divU, omega_)
    

    不理解的是这一部分 alpha gamma 无量纲,rho [1,-3,0,0,0,0,0] , divU [0,0,-1,0,0,0,0 ] , omega [0,0,-1,0,0,0,0] ,
    按道理来说应该也是 [1,-3,-2,0,0,0,0],可错误显示其为 [0 0 -2 0 0 0 0],

    然后omegaSource定义的量纲:

    kOmegaSST<TurbulenceModel, BasicTurbulenceModel>::omegaSource() const
    {
        return tmp<fvScalarMatrix>
        (
            new fvScalarMatrix
            (
                omega_,
                dimVolume*this->rho_.dimensions()*omega_.dimensions()/dimTime
            )
        );
    }
    

    从这看是[ 1,0,-2,0,0,0,0] ???

    1 条回复 最后回复
  • C 离线
    C 离线
    Chen_hao
    写于 最后由 编辑
    #4

    @chen_hao
    自回复,如果论文中源项公式没错的话,按部就班导入进来就会有量纲问题,
    解决办法:不要纠结,计算好源项量纲直接除一个带量纲的标量1即可。:zoule:
    希望可以给大家节省时间。

        dimensionedScalar I1                                                   
        (
        	"I1",
        	dimDensity, 
        	1
        );
    
    李东岳李 1 条回复 最后回复
  • 李东岳李 离线
    李东岳李 离线
    李东岳 管理员
    在 中回复了 Chen_hao 最后由 编辑
    #5

    @chen_hao 信息很多,一直没时间细看,惭愧惭愧... :135: :135:

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

    C 1 条回复 最后回复
  • C 离线
    C 离线
    Chen_hao
    在 中回复了 李东岳 最后由 编辑
    #6

    @李东岳 :xinxin:
    谢谢老师,已经帮我很多了,记录下来,也可以帮助其他人

    1 条回复 最后回复
  • vbcwlV 离线
    vbcwlV 离线
    vbcwl
    写于 最后由 编辑
    #7

    openFoam可以无量纲的,应该在etc/controlDict这个文件里里吧dimensionset 1改为0

    LBE

    1 条回复 最后回复

  • 登录

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