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. compressibleInterFoam alphaEqn.H

compressibleInterFoam alphaEqn.H

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

    东岳流体对compressibleInterFoam解析中,对dgdt的规定为
    \begin{equation}
    \alpha_{1}\alpha_{2}(\frac{1}{\rho _{2}}\frac{D\rho _{2}}{Dt}-\frac{1}{\rho _{1}}\frac{D\rho _{1}}{Dt})
    \end{equation}
    http://dyfluid.com/compressibleInterFoam.html
    但是在code中,

             fvScalarMatrix alpha1Eqn
             (
                 (
                     LTS
                   ? fv::localEulerDdtScheme<scalar>(mesh).fvmDdt(alpha1)
                   : fv::EulerDdtScheme<scalar>(mesh).fvmDdt(alpha1)
                 )
               + fv::gaussConvectionScheme<scalar>
                 (
                     mesh,
                     phiCN,
                     upwind<scalar>(mesh, phiCN)
                 ).fvmDiv(phiCN, alpha1)
            // - fvm::Sp(fvc::ddt(dimensionedScalar(dimless, 1), mesh)
            //           + fvc::div(phiCN), alpha1)
              ==
                 Su + fvm::Sp(Sp + divU, alpha1)
             );
    
     forAll(dgdt, celli)
     {
         if (dgdt[celli] > 0.0)
         {
             Sp[celli] -= dgdt[celli]/max(1.0 - alpha1[celli], 1e-4);
             Su[celli] += dgdt[celli]/max(1.0 - alpha1[celli], 1e-4);
         }
         else if (dgdt[celli] < 0.0)
         {
             Sp[celli] += dgdt[celli]/max(alpha1[celli], 1e-4);
         }
     }
    
    volScalarField dgdt(alpha1*fvc::div(phi));
    

    有两个问题想要请教:
    1.dgdt在createFields.H中的定义为什么和解析中的不同,还是说后续有对dgdt进行计算~
    2.注释掉的两行是和等号右边的语句是一个意思吗?在编写的时候是不是哪种表述都可以?
    麻烦有经验的老师进行讲解~感谢~

    李东岳李 1 条回复 最后回复
  • ShaneHEEES 离线
    ShaneHEEES 离线
    ShaneHEEE
    写于 最后由 编辑
    #2
    1. creatField.H中的相当于初始化,后续会通过求解方程更新cell中的值

    2.“==”就相当于“-”,注释掉的两行和等号右边是一个意思

    H 1 条回复 最后回复
  • 李东岳李 离线
    李东岳李 离线
    李东岳 管理员
    在 中回复了 hongjiewang 最后由 编辑
    #3

    @hongjiewang 后续dgdt有计算,我那个没写,工作量太大了。我这面有个英文sci投出去写得很详细,但是一审被居高。也没空翻译成中文:135:

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

    H 1 条回复 最后回复
  • H 离线
    H 离线
    hongjiewang
    在 中回复了 ShaneHEEE 最后由 编辑
    #4

    @shaneheee 嗯嗯好滴 谢谢老师的回复

    1 条回复 最后回复
  • H 离线
    H 离线
    hongjiewang
    在 中回复了 李东岳 最后由 编辑
    #5

    @李东岳 谢谢老师~希望以后有机会能读到老师对这部分的分析

    1 条回复 最后回复

  • 登录

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