CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新
    1. 主页
    2. 四季之中的隐星
    四
    • 资料
    • 关注 0
    • 粉丝 0
    • 主题 5
    • 帖子 19
    • 群组 0

    四季之中的隐星

    @四季之中的隐星

    6
    资料浏览
    19
    帖子
    0
    粉丝
    0
    关注
    注册时间 最后登录

    四季之中的隐星 取消关注 关注

    四季之中的隐星 发布的最新帖子

    • RE: 如何使用lookupObject寻找SRC库内的场变量

      @upc_ngh 有一个更简单的方法,我最近发现的,你索引的时候不要用

      ···lookupObject···
      

      用

      ···lookupObjectRef···
      

      用这个函数查找的结果可以直接修改并传值回去

      发布在 OpenFOAM
      四
      四季之中的隐星
    • RE: 求助:如何在边界a上索引边界b的值,且可以并行(包含多种边界值获取方式)

      @李东岳 谢谢李老师的回复,这个问题我最后发现是一个很简单的错误导致的。因为decompsePar没有把边界场进行拆分:136: ,导致各个处理器文件夹下的场定义缺失所以发生了错误

      发布在 OpenFOAM
      四
      四季之中的隐星
    • 求助:如何在边界a上索引边界b的值,且可以并行(包含多种边界值获取方式)

      为了实现一些特殊需求,所以需要两个边界相互交互。但是修改后的边界条件仅在串行条件下可以运行。

      下述代码为例:

      //~in patch
      label patchi = this->patch().boundaryMesh().findPatchID(patchName_);
      const volScalarField& paraGet = this->db().objectRegistry::lookupObject<volScalarField>("paraA");//这一步可以正常运行
      const scalarField& para = paraGet.boundaryField()[patchi];//这一步OK
      Info << para << endl;//这一步在并行条件下会报错,也就是引用的对象在使用的时候会报错
      

      在此基础上,我修改了代码,发现如果不是引用,直接取值,也会报错,因此可以断定是取边界值的函数在并行条件下有问题。

      报错代码

      //~in patch
      label patchi = this->patch().boundaryMesh().findPatchID(patchName_);
      const volScalarField& paraGet = this->db().objectRegistry::lookupObject<volScalarField>("paraA");//这一步可以正常运行
      const scalarField para = paraGet.boundaryField()[patchi];////这一步在并行条件下会报错
      

      最后,也尝试过从网格转移获取边界值,但是并行时也会在取值时报错。

      //~in patch
      label patchi = this->patch().boundaryMesh().findPatchID(patchName_);
      const volScalarField& paraGet = this->db().objectRegistry::lookupObject<volScalarField>("paraA");//这一步可以正常运行
      const fvMesh& mesh = patch().boundaryMesh().mesh();//正常运行
      const fvPatchField<scalar>& para = mesh.boundary()[patchi].lookupPatchField<volScalarField, scalar>("paraA");//这一步可以正常运行
      Info << para << endl;//这一步在并行条件下会报错,也就是引用的对象在使用的时候会报错
      

      所以想向各位老师和同僚请教下怎么处理这种问题

      发布在 OpenFOAM
      四
      四季之中的隐星
    • RE: OpenFOAM中,默认的多组分方程全部有误?

      @wangfei9088 好的,谢谢:146: 那看来要用OpenFOAM做一些对流扩散问题的研究还有很多需要修正的地方

      发布在 OpenFOAM
      四
      四季之中的隐星
    • OpenFOAM中,默认的多组分方程全部有误?

      一般而言,组分方程中的拉普拉斯项,其广义扩散系数为D,即一种流体在另外一种流体中的扩散系数。然而,在OpenFOAM中的组分方程中,没有一个使用的是D,均使用的是alpha(热扩散系数)和mu(粘度,或者叫动量扩散系数)。

      源代码中:
      在chtMultiRegionFoam的组分方程中

                  fvScalarMatrix YiEqn
                  (
                      fvm::ddt(rho, Yi)
                    + mvConvection->fvmDiv(phi, Yi)
                    - fvm::laplacian(turbulence.muEff(), Yi)//注意,这里调用了粘度
                   ==
                      reaction.R(Yi)
                    + fvOptions(rho, Yi)
                  );
      

      在fireFoam的组分方程中

      fvScalarMatrix YiEqn
                  (
                      fvm::ddt(rho, Yi)
                    + mvConvection->fvmDiv(phi, Yi)
                    - fvm::laplacian(turbulence->alphaEff(), Yi)//注意,此处为热扩散系数
                    ==
                      parcels.SYi(i, Yi)
                    + surfaceFilm.Srho(i)
                    + combustion->R(Yi)
                    + fvOptions(rho, Yi)
                  );
      

      那么,为什么好像从来没有人提到或者询问这个问题(甚至可以说是很根本的问题),还是说我对代码的理解有误。望各位老师和同僚赐教

      发布在 OpenFOAM
      四
      四季之中的隐星
    • RE: 如何使用lookupObject寻找SRC库内的场变量

      @upc_ngh 好的,非常感谢:146:

      发布在 OpenFOAM
      四
      四季之中的隐星
    • RE: 如何使用lookupObject寻找SRC库内的场变量

      @upc_ngh 从const转换到非const是怎么做的:140: ,我现在只能通过mesh.lookupObject<volScalarField>获得场值。

      发布在 OpenFOAM
      四
      四季之中的隐星
    • RE: 如何使用lookupObject寻找SRC库内的场变量

      @upc_ngh 您好,我刚好最近也遇到这个问题,想要把src文件夹下的值传递到application中,请问您具体是怎么实现和解决的呢,望赐教,感激不尽:xinxin:

      发布在 OpenFOAM
      四
      四季之中的隐星
    • RE: 有老师在多组分的条件下使用过质量源项吗

      @bestucan 好的,谢谢老师,我试试

      发布在 OpenFOAM
      四
      四季之中的隐星
    • RE: 有老师在多组分的条件下使用过质量源项吗

      @bestucan 谢谢老师的回复,我这里关于第③点的说法可能不太准确。我只输入rho时(也就是Air源项为0),此时Air的质量是增加的,且水蒸气的总体质量也在变小,但是总体的质量分数是守恒为1的:xiezuoye: 所以还是比较奇怪吧,他这里怎么处理的代码我还没找到,好难挖,OpenFOAM这种嵌套:136:

      发布在 OpenFOAM
      四
      四季之中的隐星