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. mvConvection->fvmDiv

mvConvection->fvmDiv

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

    各位老师晚上好,在看sprayFoam代码的过程中,发现其在YEqn.H中定义了一个mvConvection变量

    tmp<fv::convectionScheme<scalar>> mvConvection
    (
        fv::convectionScheme<scalar>::New
        (
            mesh,
            fields,
            phi,
            mesh.divScheme("div(phi,Yi_h)")
        )
    );
    

    并通过 mvConvection->fvmDiv(phi, Yi)来表示对流项,想问一下他与 fvm::div的区别在哪里呢?以及fv::convectionScheme<scalar>::New中的各个量有什么意义呢?

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

    组分方程一般会有几十个。这样写的话,可以通过div(phi,Yi_h)定义相同的格式。

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

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

    @李东岳 李老师您好
    我参考的组分方程中的扩散项采取了以下的形式:

    // convection
    + ( UseMvConvection ? mvConvection->fvmDiv(phi + phiVc, Yi) : fvm::div(phi + phiVc, Yi, "div(phi,Yi_h)") )
    

    并且cfd-online中也有人指出:
    “When I use separate but same scheme for these two variable ( fvm::div(phi, field) ), I found that the results is different with mvConvection ( mvConvection->fvmDiv(phi, field) ).”
    40318347-7630-4ab1-9a07-3f553e15b8ea-image.png
    所以或许mvConvection->fvmDiv(phi, Yi)和fvm::div有点区别,不知道您有没有研究过?

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

    我看一下

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

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #5
    tmp<fv::convectionScheme<scalar> > mvConvection
    (
        fv::convectionScheme<scalar>::New
        (
            mesh,
            fields,
            phi,
            mesh.divScheme("div(phi,Yi_h)")
        )
    );
    
    {
        reaction->correct();
        dQ = reaction->dQ();
        label inertIndex = -1;
        volScalarField Yt(0.0*Y[0]);
    
        forAll(Y, i)
        {
            if (Y[i].name() != inertSpecie)
            {
                volScalarField& Yi = Y[i];
    
                fvScalarMatrix YiEqn
                (
                    fvm::ddt(rho, Yi)
                  + mvConvection->fvmDiv(phi, Yi)
    

    这个看起来并不会导致区别。有可能cfd-online的用户没做特别仔细的判定吧。

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

    1 条回复 最后回复

  • 登录

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