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

T

tiankai

@tiankai
关于
帖子
17
主题
3
群组
0
粉丝
0
关注
0

帖子

最新

  • 计算二维流动,导出的应力却含有tau_xz这一项,请问这是合理的吗?
    T tiankai

    8d6754dc-5ea1-41d3-aae2-d97234d3d8a9-图片.png


  • 使用OpenFoam9后处理fieldAverage出现错误
    T tiankai

    @wangfei9088 多谢指教,已解决


  • 使用OpenFoam9后处理fieldAverage出现错误
    T tiankai

    使用OpenFoam9进行数值模拟。我现在想要对求出来的速度长计算时间的均值。发现有个后处理命令可以使用 postProcess -func fieldAverage -field U。但是终端运行后,仅仅是在每个算例文件夹下生成了一个uniform文件夹,文件夹里有一个fieldAverageProperties.gz,内容如下:

    FoamFile
    {
        format      ascii;
        class       dictionary;
        location    "0/uniform";
        object      fieldAverageProperties;
    }
    

    不知道是为什么?

    我又清除了算例,在controDict字典下输入

    functions
    {
        fieldAverage1
        {
            type            fieldAverage;
            functionObjectLibs ("libfieldFunctionObjects.so");
            enabled         true;
            writeControl    timeStep;
            writeInterval    1;
    
            fields
            {
                U
                {
                    mean       on;      
                    prime2Mean off;    
                    base       time;     
                }
            }
        }
    }
    

    运行后,报错了。报错内容如下,

    --> FOAM FATAL IO ERROR: 
    Attempt to return dictionary entry as a primitive
    
    file: /home/tk/OpenFOAM/run/XXY/INLET-1.2e-8-Wi-7.5/system/controlDict/functions/fieldAverage1/fields from line 68 to line 70.
    
        From function virtual Foam::ITstream& Foam::dictionaryEntry::stream() const
        in file db/dictionary/dictionaryEntry/dictionaryEntry.C at line 83.
    

    提示下面几行有错

                U
                {
                    mean       on;      
                    prime2Mean off;    
                    base       time;     
                }
    

    但是我不知道为什么?请求各位前辈指点。


  • 关于Open Foam9的RheoTool流变工具包模拟毫米量级的几何模型不收敛问题
    T tiankai

    已解决,是因为FENE-P模型的数值格式不稳定导致的。我之前将槽道宽为1m算例的入口速度设置为1000m/s能够收敛是我将壁面条件设置为了slip滑移,所以可以收敛。当改为无滑移边界时,就发现不收敛了。本质上就是该数值格式可能在高雷诺数下是不稳定的。


  • OpenFOAM libtorch tutorial step by step
    T tiankai

    @李东岳 多谢李老师,已经解决。之前出错是因为错把net.H文件也添加到了main文件中,类Class NN 重复定义了。


  • 关于Open Foam9的RheoTool流变工具包模拟毫米量级的几何模型不收敛问题
    T tiankai

    @李东岳 李老师,这是对上面的内容重新梳理,谢谢您啦

    我使用rheoTool工具包,模拟了几何长度为36mm,宽度为4mm,在通道的两侧有4mm×4mm方腔的二维流动;模型为FENE-P非牛顿模型。我设置入口流量为3.62e-7m/s(或入口速度0.008m/s),使用了自适应时间步长,最大Co数设置为1。运行后发现不收敛。求解器为rheoFoam瞬态求解器。

    针对不收敛的情况进行了尝试
    1、在fvschemes文件中,时间使用了Euler,fvsolution中算法是SIMPLE。这里需要说明的是在rheoTool工具包中,SIMPLE是瞬态的。因为在rheoTool中,所有的算例的fvsolution文件中,均有SIMPLE字段。因为在算例文件中,大量的入口条件是和时间相关的,这种流动问题显然不可能是稳态流动。(我在将SIMPLE修改为PISO报错了,提示不存在SIMPLE字段)

    下面是用户手册的一段关于fvsolution的说明
    手册中说,SIMPLE确实是稳态的算法,但是rheoFoam默认是瞬态求解器,只要在ddtSchemes中设置为空便是稳态求解器。另外手册中是推荐使用瞬态算法的,因为这样会使矩阵尽可能的对角占优,数值格式更稳定一点。
    21bff237-40ca-4dc0-bcea-aa2132ff31f9-image.png

    d58869fd-7b51-47be-b389-5f8b1bc3a481-image.png

    844537aa-9271-46a1-91e3-2070c0c84256-image.png

    2、另外我将松弛因子改小也不能保证收敛。

    3、在用户指导最后一页看到这样一句话,说是ηp>ηs是,尽可能将耦合设置为 none,按照他说的设置了,仍然不起作用。
    71b464fd-3daf-4213-b9a2-629eaac8e4d3-image.png

    4、当我将模型改为Oldroyd-B时,发现算例可以收敛,所以肯定是数值格式的问题。

    5、所以我又运行了FENE-P的算例文件:模拟了一个宽度为1m的槽道流,入口速度指定为1m/s。运行之后发现可以收敛。于是我将入口速度改为100m/s,1000m/s,运行之后就发现不收敛了。通过查看fvSchemes发现,对流项的导数设置为空,于是我修改对流项的格式为div(phi,U) GaussDefCmpw cubista; ,运行之后便收敛了。(这里忽略对流项发散,添加对流项收敛,有点意思?)

    最后,我将槽道的宽度设置为1mm,入口速度设为1000mm/s(也就是将通道尺度缩小1000倍,入口速度缩小1000倍),同样不忽略对流项,运行之后,发现不收敛。下图是对流项几种可供下选择的数值格式。在对流项几种格式都进行了尝试后,还是不收敛。难道是对流项的数值格式有bug?
    1133f606-52ce-42fd-a0d1-5d19ba1ccdff-image.png

    总结:通过一系列的尝试,终于找到了原因。发现就是FENE-P的数值格式不稳定导致的,大概率是对流项的原因。也就是说FENE-P在毫米尺度上对流项会导致数值不稳定,从而发散。但是我看到一篇关于FENE-P模型的文章(10.1103/PhysRevFluids.6.033304),论文中使用的也是mm量级的几何模型,却可以达到收敛。请求大佬帮忙解决,或者感兴趣的同行一块交流:tiankai0721@163.com.

    下面是我的各个文件的设置情况

    0文件夹设置如下

    \*---------------------------------------------------------------------------*/
    FoamFile
    {
        format      ascii;
        class       volVectorField;
        location    "0";
        object      U;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    dimensions      [0 1 -1 0 0 0 0];
    
    internalField   uniform (0 0 0);
    
    boundaryField
    {
        INLET
        { type                   flowRateInletVelocity;
          volumetricFlowRate     3.36e-7; 
          value uniform     (0 0 0); //猜测初始速度
        }
        
        OUTLET
        {
            type            zeroGradient;
        }
        LOWERWALL
        {
            type            fixedValue;
            value           uniform (0 0 0);
        }
        UPPERWALL
        {
            type            fixedValue;
            value           uniform (0 0 0);
        }
        frontAndBack
        {
            type            empty;
        }
    }
    // ************************************************************************* //
    
    \*---------------------------------------------------------------------------*/
    FoamFile
    {
        format      ascii;
        class       volSymmTensorField;
        object      tau;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    dimensions      [1 -1 -2 0 0 0 0];
    
    internalField   uniform (0 0 0 0 0 0);
    
    boundaryField
    {
        INLET
        {
            type            fixedValue;
            value           uniform (0 0 0 0 0 0);
        }
        
        OUTLET
        {
            type            zeroGradient;
        }
     
        LOWERWALL
        {
            type            linearExtrapolation;
            value           uniform (0 0 0 0 0 0);
        }
        
        UPPERWALL
        {
            type            linearExtrapolation;
            value           uniform (0 0 0 0 0 0);
        }
    
        frontAndBack
        {
            type             empty;
        }
    }
    
    // ************************************************************************* //
    
    FoamFile
    {
        format      ascii;
        class       volScalarField;
        object      p;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    dimensions      [0 2 -2 0 0 0 0];
    
    internalField   uniform 0;
    
    boundaryField
    {
        INLET
        {
            type            zeroGradient;
        }
        
        OUTLET
        {
              type            fixedValue;
              value           uniform 0;
        }
     
        LOWERWALL
        {
             type            zeroGradient;
         
        }
        UPPERWALL
        {
             type            zeroGradient;
         
        }
        
        frontAndBack
        {
            type             empty;
        }
    }
    
    物性参数设置如下
    
    FoamFile
    {
        format      ascii;
        class       dictionary;
        object      constitutiveProperties;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    
    parameters
    {                
                    type             FENE-P;
    
                    rho              rho [1 -3 0 0 0 0 0] 1.;
                    etaS             etaS [1 -1 -1 0 0 0 0] .01;
                    etaP             etaP [1 -1 -1 0 0 0 0] .99;             
                    lambda           lambda [0 0 1 0 0 0 0] 0.5;
                    L2               L2 [0 0 0 0 0 0 0] 100;
                    solveInTau       false;                
    
                    stabilization    coupling;                    
    }
    
    passiveScalarProperties
    {
                    solvePassiveScalar   no;
                    D                    D [ 0 2 -1 0 0 0 0 ] 1e-9; 
    }
    
    // ************************************************************************* //
    
    
    fvSchemes文件如下
    
    \*---------------------------------------------------------------------------*/
    FoamFile
    {
        format      ascii;
        class       dictionary;
        object      fvSchemes;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    ddtSchemes
    {
        default         Euler;
    }
    
    gradSchemes
    {
        default         Gauss linear;
        grad(p)         Gauss linear;
        grad(U)         Gauss linear;
        linExtrapGrad       Gauss linear;      
        
    
    }
    
    divSchemes
    {
        default                  none;
        div(tau)                 Gauss linear; 
        div(grad(U))             Gauss linear;
        div(phi,U)               GaussDefCmpw cubista; 
        div(phi,1|f)             GaussDefCmpw cubista; //FENE-P本构方程中的f 
        div(phi,A)               GaussDefCmpw cubista; //A
        div(phi,theta)           GaussDefCmpw cubista;
        div(phi,tau)             GaussDefCmpw cubista;
        div(phi,C)               GaussDefCmpw cubista; //
    }
    
    laplacianSchemes
    {
        default                       none;
        laplacian(eta,U)              Gauss linear orthogonal;
        laplacian(p|(ap-H1))          Gauss linear orthogonal;
         
    }
    
    interpolationSchemes
    {
        default           linear;
          
    }
    
    snGradSchemes
    {
        default         orthogonal;
    }
    
    fluxRequired
    {
        default         no;
        p;
    }
    
    // ************************************************************************* //
    
    
    
    fvSolution 如下
    
    \*---------------------------------------------------------------------------*/
    FoamFile
    {
        format      ascii;
        class       dictionary;
        object      fvSolution;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    solvers
    {
        p
        {
            solver           PCG;
            preconditioner   DIC;
            tolerance        1e-10;
            relTol           0;
            minIter          0;
            maxIter          800;
            
        }
    
        U
        {
    
            solver           PBiCG;
            preconditioner
            {
                preconditioner DILU;
            }
    
            tolerance         1e-8;
            relTol            0;
            minIter           1;
            maxIter           1000;
        }
    
        "(theta|tau|C|A)"
        {
    
            solver           PBiCG;
            preconditioner
            {
                preconditioner DILU;
            }
    
            tolerance         1e-12;
            relTol            0;
            minIter           0;
            maxIter           1000;
        }
     
    }
     
    
    SIMPLE
    {
        nInIter          1;
        nNonOrthogonalCorrectors 0;
        pRefCell        0;
        pRefValue       0;
    
        residualControl
        {
            
        }
    }
    
    relaxationFactors
    {
         fields
          {     
            p 0.9;
          }
    
         equations
          { 
            U 0.5;
            tau 0.5;
            theta 0.5;
          }
    }
    
    // ************************************************************************* //
    ControlDict文件如下
    FoamFile
    {
        format      ascii;
        class       dictionary;
        object      controlDict;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    application     rheoFoam;
    
    startFrom       latestTime;
    
    startTime       0;
    
    stopAt          endTime;
    
    endTime         1;
    
    deltaT          1e-4;
    
    writeControl    runTime;
    
    writeInterval    0.0001;
    
    purgeWrite      0;
    
    writeFormat     ascii;
    
    writePrecision  12;
    
    writeCompression compressed;
    
    timeFormat      general;
    
    timePrecision   10;
    
    graphFormat     raw;
    
    runTimeModifiable yes;
    
    adjustTimeStep on;
    
    maxCo          0.8;
    
    maxDeltaT      0.001;

  • 关于Open Foam9的RheoTool流变工具包模拟毫米量级的几何模型不收敛问题
    T tiankai

    尝试了粘弹性的包括Oldroyd-B,发现是收敛的


  • 关于Open Foam9的RheoTool流变工具包模拟毫米量级的几何模型不收敛问题
    T tiankai

    @李东岳 好嘞,谢谢李老师,我这两天,弄一下排版


  • 关于Open Foam9的RheoTool流变工具包模拟毫米量级的几何模型不收敛问题
    T tiankai

    @tiankai @李东岳
    补充一下:和李老师讲的一样,初步判断是对流项的数值格式不稳定导致的。

    打开FENE-P的算例文件夹中,模拟了一个宽度为1m的槽道流,入口速度指定为1m/s。并且在该算例中,忽略掉了对流项

    divSchemes
    {
        default                  none;
        div(tau)                 Gauss linear; 
        div(grad(U))             Gauss linear;
        div(phi,U)               GaussDefCmpw none;     
        div(phi,theta)           GaussDefCmpw cubista;
        div(phi,1|f)             GaussDefCmpw cubista;
        div(phi,A)               GaussDefCmpw cubista;
        div(phi,tau)             GaussDefCmpw cubista;
        div(phi,C)               GaussDefCmpw cubista;
    }
    

    执行之后,发现是收敛的。

    随后我将入口速度改为了100m/s,1000m/s,执行之后不收敛。
    然后修改对流项格式 div(phi,U) GaussDefCmpw cubista; 运行之后收敛。不加对流项不收敛,添加上对流项反而收敛,有点意思?

    最后,我将槽道的宽度设置为1mm,入口速度设为1000mm/s(也就是将通道尺度缩小1000倍,入口速度缩小1000倍),同样不忽略对流项,运行之后,发现不收敛。在对流项几种格式都进行了尝试后,还是不收敛。难道是对流项的数值格式有bug?
    a5840669-d849-4195-b3b3-0c36bfa850eb-image.png
    希望同感兴趣的同行一块讨论:tiankai0721@163.com


  • OpenFOAM libtorch tutorial step by step
    T tiankai

    @李东岳 在 OpenFOAM外挂libtorch 中说:

    我已经成功编译了libtorch库

    @tiankai 我这个路子不需要编译libtorch。 你看楼上总结那个也不需要编译。我这面没有编译。就跟OpenFOAM安装一样。OpenFOAM可以直接下载装(apt install那种),也可以编译安装。你不要编译,你按照我1楼的方法用现成的,跟openfoam捆绑起来能跑起来。回头再研究编译libtorch

    不好意思李老师,是我没有表述清楚,我是将libtorch解压了,用wmake了torchFoam,添加了路径。输入torchFoam,输出了上文中一样的信息,这表明libtorch库挂载成功了。

    所以我想要运行PiNNFoam的代码,需要创建一个制作make文件夹,然后将PiNNFoam(一维对流方程),net.h,net.H添加到PiNNFoam的文件夹下,然后使用wmake文件夹PiNNFoam,最后调用PiNNFoam即可吧。现在使用wmake执行PiNNFoam报错了图中内容


  • OpenFOAM libtorch tutorial step by step
    T tiankai

    @xiezhuoyu 多谢回复,我查看了g++版本,确实是14,而且我已经成功编译了libtorch库,但是在编译一维对流方程时报错了
    ad3bc093-a9bb-4060-bec1-0a6bf18cd42f-4452fe45f775a7560bc0bed9d877fa0.png
    提示指针变量有错误


  • OpenFOAM libtorch tutorial step by step
    T tiankai

    @xiezhuoyu 我是小白,想要请教一下,怎么才能运行呢:135:


  • 关于Open Foam9的RheoTool流变工具包模拟毫米量级的几何模型不收敛问题
    T tiankai

    @李东岳 在 关于Open Foam9的RheoTool流变工具包模拟毫米量级的几何模型不收敛问题 中说:

    你看一下你的求解器源代码是瞬态算法还是稳态算法。从你的fvSolution以及fvScheme来看,两者混到一起了。

    我查阅了一下,在rheoTool算例文件96015200-4fd3-4929-baf1-2e3ca1b8e7f9-image.png
    中入口速度是和时间有关的
    a49e85be-6ef0-4ba1-aa86-80288f19cddc-image.png
    这应该是一个瞬态的算例,但是在fvSolution中,也有SImple

    SIMPLE
    {
        nInIter          1;
        nNonOrthogonalCorrectors 0;
        pRefCell        0;
        pRefValue       0;
    
        residualControl
        {
            
        }
    }
    
    relaxationFactors
    {
         fields
          {     
            p 1;
          }
    
         equations
          { 
            U 1;
            tau 1;
            theta 1;
          }
    }
    

    此外我将Simple改为PISO,运行的时候会报错,提示fvsolution文件中无SIMPLE。我查了一下用户文档,发现关于fvSolution有这样一段描述
    3afcce8d-9501-4a23-914e-61bcbea02099-image.png
    46bcdd6f-0757-4b95-b4c5-a3c301c2207e-image.png
    这又表明当SIMPLE存在时,确实是稳态的情况,尽管rheoFoam是瞬态求解器。现在我搞不清楚到底该怎么设置。从所有的算例文件夹下,无论是瞬态还是稳态都是有SIMPLE这个字段的。
    另外,在用户指导最后一页看到这样一句话
    09b126b0-6fd6-4ba9-8512-b2ce5d6e50c2-image.png
    说是ηp>ηs是,尽可能将耦合设置为 none,按照他说的设置了,仍然不起作用。
    总之,试了很多方法仍然不收敛,期待大佬帮忙解决


  • 关于Open Foam9的RheoTool流变工具包模拟毫米量级的几何模型不收敛问题
    T tiankai

    这是rheoFoam的说明

    3de7c461-6e4a-4944-be8b-ac74b5ae05a2-image.png


  • 关于Open Foam9的RheoTool流变工具包模拟毫米量级的几何模型不收敛问题
    T tiankai

    @李东岳 在 关于Open Foam9的RheoTool流变工具包模拟毫米量级的几何模型不收敛问题 中说:

    粘弹性流体那面我没有亲自算过,看过的一写论文表示那面的tau方程收敛性确实是非常差的。我看你用的是FENE-P,能换个粘痰的模型试试么

    之前都换过,粘弹性的包括Oldroyd-B,还有Carreau-Yasuda都试过,都不收敛,感觉好像是我的问题


  • 关于Open Foam9的RheoTool流变工具包模拟毫米量级的几何模型不收敛问题
    T tiankai

    补充网格信息
    784145fa-fce7-40b4-bc92-a11e3ac1f97c-94b0dda5ba067c81be963a19eb563c8.png


  • 关于Open Foam9的RheoTool流变工具包模拟毫米量级的几何模型不收敛问题
    T tiankai

    我在使用RheoTool流变工具包,模拟一个二维方腔流动时,发现入口速度或流量稍微大一点,会导致不收敛。几何长度为36mm,宽度为4mm,矩形空腔边长为4mm。生成的网格均为正方形网格。0文件夹的U设置如下
    ba7090d3-d863-48e5-92ce-8b8db7d36dec-image.png
    模型的物性参数设置如下
    9c68fcfe-517f-4d58-85e1-32c5ef4ee66f-image.png
    fvSchemes设置如下
    80956ea6-cb35-4bf0-91dc-ccba688da96a-image.png
    fvSolution设置如下:xiexie:
    da82c7e2-c20d-498c-a9ed-aa10b4476727-image.png
    ControDict文件设置如下
    3d729434-bf77-46d2-8e99-4abb6d0a9b4c-image.png
    入口速度给定0.04m/s,或者流量1.68e-7m^3/s,是合理的,实验中这样的速度是可以实现的,论文中,也是可以查到的,但是我设置的参数,就是不收敛,不知道为什么?有没有大佬指教指教,谢谢::xiexie:

  • 登录

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