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中文网

K

kdfluxit

@kdfluxit
关于
帖子
10
主题
2
群组
0
粉丝
0
关注
1

帖子

最新

  • 质量源项添加问题,参数rho无效
    K kdfluxit
    2020年3月13日 02:12

    @dzw05
    不好意思, 刚仔细看了一遍看到了, 谢谢!


  • 质量源项添加问题,参数rho无效
    K kdfluxit
    2020年3月12日 04:21

    最近也在做添加质量源项的事情, 搜索到了该帖子, 看到
    张RP Oct 10, 2019, 8:31 PM , 似乎作者rhoPimpleFoam里面采用scalarSemiImplicitySource添加源项获得了合理的结果.
    根据
    《dzw05 OPENFOAM教授 Oct 10, 2019, 3:32 PM》的回复, 因为pimpleFoam是不可压缩求解器, 所以没有rho.
    所以不能用

    massSource
    {
    type scalarSemiImplicitSource;
    timeStart 0.2;
    ...
    injectionRateSuSp
    {
    rho ();
    H2O ();
    }
    }
    

    我不太理解为什么 rhoPimpleFoam里面可以使用这种添加的方法. 因为我查看rhoPimpleFoam里面没有类似于

         fvScalarMatrix rhoEqn
         (
             fvm::ddt(rho)
           + fvc::div(phi)
           ==
             parcels.Srho(rho)
           + surfaceFilm.Srho()
           + fvOptions(rho)
         );
     
         rhoEqn.solve();
    

    显式地求解continuity equation.

    而是采用压力柏松方程, 所以, 我不确定在rhoPimpleFoam里, 采用scalarSemiImplicitySource给rho添加源项是否合理?

    希望有人看到能指教一下, 谢谢


  • 多孔介质多组分,交界面处真实物理场不连续
    K kdfluxit
    2020年1月11日 06:27

    @l-j刘侃
    还想再请教一下, 您再前面的回复中提到的“实际上真实情况介面浓度更接近不连续”, 请问您有相关文献?
    从我的直觉上, 这一点实在很难解释, 想要稍微了解一下, 谢谢


  • 多孔介质多组分,交界面处真实物理场不连续
    K kdfluxit
    2020年1月11日 02:28

    @l-j刘侃
    非常感谢您的解答. 我现在感觉有一些初步的认识了


  • 多孔介质多组分,交界面处真实物理场不连续
    K kdfluxit
    2020年1月10日 06:15

    @l-j刘侃
    谢谢你的关注. 感谢你的资料, 我会认真了解一下.

    我目前关注的燃料电池的气体扩散层, 其厚度大概在200微米左右, 一般入口气体的速度与气体扩散层表面平行;
    但是仍然有一定的对流; 而且在这个很薄的区域内, 很可能这些对流对物质的输运比扩散更强. 对于目前的研究而言, 即使是 10−3 m/s这个量级的速度都是值得注意的.
    因此, 我比较关注速度的计算, 尤其是气流从通道进入气体扩散层那个界面的速度.

    另外
    , 我参看过ANSYS FLUENT 18.2手册中 7.1.1.Species Transport Equations, 这里面说到, 如果计算瞬态, 就在瞬态的项上乘以一个孔隙度 ϵ , 方程就变成了
    ∂ϵρYi∂=
    右边的项与没有孔隙度时没有区别. 我项问一下, 我这样理解对吗?

    另外2
    同样在手册中 6.2.3.8. Modeling Porous Media Based on Physical Velocity
    里面谈到, 如果开启物理速度后标量方程的计算就是

    ∂∂t(ϵρϕ)+∇⋅(ϵρv→ϕ)=∇⋅(ϵρΓ∇ϕ)+ϵSϕ

    这样看起来计算的就是物理速度了. 是否会对计算的准确性有一定帮助呢?

    ---- 这里我想请教一下, 虽然FLUENT计算的结果不对, 但是受压力驱动进入气体扩散层的趋势是否合理呢?
    或者FLUENT的这种计算方案, 哪些变量的趋势是比较合理的?


  • 多孔介质多组分,交界面处真实物理场不连续
    K kdfluxit
    2020年1月9日 03:51

    @东岳
    谢谢您的关注;
    **表象物理量:**以组分摩尔浓度为例 在多孔介质中, 如果有一个控制体的体积是V, 控制体中孔隙的体积是Vpore, 这个控制体中某个的摩尔数为n, 表象浓度(superficial)为nV, 这个浓度在将固体不分考虑进入了体积, 因此不是真实物理的浓度, 孔中的浓度为nVpore;
    由于上述方程中的ρ,是表象的量(质量除以控制体体积V), 因此在交界面处, 也是表象ρ连续. 因为求解的是连续方程, 交界面两侧的ρ是连续的, 但是将交界面两侧的表象量ρ换算成物理量, 就应该用表象量除以孔隙度, 即:
    ρϵzone.1,ρϵzone.2.
    这就会导致, 在交界面处, 表象的量ρ连续, 但是真实物理量ρϵ不连续


    回复: 多孔介质多组分
    谢谢您的关注;
    表象物理量以组分质量浓度ρ为例 在多孔介质中, 如果有一个控制体的体积是V, 控制体中孔隙的体积是Vpore, 这个控制体中某个组分的质量为m, 表象浓度(superficial)为ρ=mV, 这个浓度在将固体部分考虑进入了体积, 因此不是真实物理的浓度, 孔中的浓度为ρp=mVpore;由于上述方程中的\rho是表象的量(质量m除以控制体体积V),因此在交界面处,也是表象质量浓度连续.因为求解的是连续方程,交界面两侧的是连续的,但是将交界面两侧的表象量ρ=mV换算成物理量ρp=mV,就应该用表象量除以孔隙度,即:ρp=ρϵ,ϵ=VporeV这就会导致,在交界面处,表象的量ρ连续,但是真实物理量ρpore不连续


  • 多孔介质多组分,交界面处真实物理场不连续
    K kdfluxit
    2020年1月8日 15:03

    @kdfluxit
    不好意思, 问题编辑的不合适, 重新编辑一下问题
    FLUENT 中计算组分输运的公式为

    (1)∂ρYi∂t+∇⋅(ρv→Yi)=∇⋅(ρDi∇Yi))+Si

    如果有三个连续的计算区域(区域之间边界条件为interior), 有两个区域为孔隙度不同的多孔介质.
    如图所示
    IMG_0282.JPG

    Zone.1为非多孔介质;
    Zone.2为孔隙度(ϵ2)为0.5的多孔介质;
    Zone.3为孔隙度(ϵ3)为0.1的多孔介质;

    有两个关注的交界面, Interface.1(Zone.1和Zone.2)和Interface.2(Zone.2和Zone.3)
    我同时打开多孔介质模型和组分输运模型.
    请问
    1.计算的组分浓度场(ci)是表象浓度场(superficial)吗?
    2.如果表象浓度场在交界面处是连续的, 那么两个区域在交界面处, 将表象浓度场(ci)除以孔隙度(ϵ2和ϵ3)得到的真实浓度场在交界面处就是不连续的, 这似乎不太合理.
    请问有人遇到过类似问题吗?


  • 多孔介质多组分,交界面处真实物理场不连续
    K kdfluxit
    2020年1月8日 14:48

    FLUENT 中计算组分输运的公式为
    (2)∂ρYi∂t+∇⋅(ρv→Yi)=∇⋅(ρDi∇Yi))+Si

    如果有三个连续的计算区域(区域之间边界条件为interior), 有两个区域为孔隙度不同的多孔介质.
    我同时打开多孔介质模型和组分输运模型.
    计算的组分浓度场(ci)是表象浓度场(superficial)吗?
    如果表象浓度场在交界面处是连续的, 那么将表象浓度场(ci)除以孔隙度得到的真实浓度场在交界面处就是不连续的, 这似乎不太合理.
    请问有人遇到过类似问题吗?


  • 在不同的block中设置不同的物性参数
    K kdfluxit
    2019年7月24日 04:02

    自问自答一波:
    我现在感觉好像是检查constant/porosityProperties 文件里面的字典. 只要里面存在字典 cellZone(键) 对应的 name_(值)的block就被当作是多孔介质, 然后通过

    cellZoneID = mesh.cellZone().indices(name_)
    

    这个函数来确认该区域的ID
    上述内容是在
    porosityModel.H porosityModel.C中感觉到的.但是没有找到实质的证据.


  • 在不同的block中设置不同的物性参数
    K kdfluxit
    2019年7月23日 15:22

    我最终的目的是希望在不同的区域设置不同的扩散系数. 为了实现这个, 我觉得首先要识别区域, 因此想要参考已有的求解器中如何识别区域的. 在porousSimpleFoam的算例中有几个angledDuct的例子, 这几个例子里面在blockMeshDict 里面设置了三个区域: 分别命名为“inlet”, “porosity”, “outlet”. 我猜测porousSimpleFoam是通过名称来识别区域, 并确定是否添加多孔介质源项的. 因此, 我又查看了porousSimpleFoam求解器源代码里面: createPorousZones.H, 这里面有一句

    IOporosityModelList pZones(mesh);
    

    我又查看了IOporosityModelList的构造函数

    Foam::porosityModelList::porosityModelList
     (
         const fvMesh& mesh,
         const dictionary& dict
     )
     :
         PtrList<porosityModel>(),
         mesh_(mesh)
     {
         reset(dict);
         active(true);
     }
    

    里面用到了 reset()和active()两个函数来构造
    这两个函数的代码如下

     bool Foam::porosityModelList::active(const bool warn) const
     {
         bool anyOk = false;
         forAll(*this, i)
         {
             anyOk = anyOk || this->operator[](i).active();
         }
      
         if (warn && this->size() && !anyOk)
         {
             Info<< "No porosity models active" << endl;
         }
      
         return anyOk;
     }
      
      
     void Foam::porosityModelList::reset(const dictionary& dict)
     {
         label count = 0;
         for (const entry& dEntry : dict)
         {
             if (dEntry.isDict())
             {
                 ++count;
             }
         }
      
         this->resize(count);
      
         count = 0;
         for (const entry& dEntry : dict)
         {
             if (dEntry.isDict())
             {
                 const word& name = dEntry.keyword();
                 const dictionary& modelDict = dEntry.dict();
      
                 this->set
                 (
                     count++,
                     porosityModel::New(name, mesh_, modelDict)
                 );
             }
         }
     }
    

    但是我还是没有看出来是如何识别多孔区域的. 求大神给解释一下

  • 登录

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