cyclicAMI一算就挂。。



  • 大家好。。最近在计算一个水翼的流场。。此前设置的计算域如下图所示,计算起来没问题;但这两天认为计算域的侧面不应是symmetry堆成边界条件,而应该设成周期性会好一些。然后在算例文件中用cyclicAMI设置周期性边界条件后就出问题了,两条边的网格吻合应该没问题,但是一算就挂。。下面贴出boundary文件和Log,大家知道这是什么原因吗?:chitang:
    0_1536809483719_392f9289-cb63-4aa2-bbba-05c587b2e552-image.png

    boundary

    /*--------------------------------*- C++ -*----------------------------------*\
    | =========                 |                                                 |
    | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
    |  \\    /   O peration     | Version:  4.1                                   |
    |   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
    |    \\/     M anipulation  |                                                 |
    \*---------------------------------------------------------------------------*/
    FoamFile
    {
        version     2.0;
        format      ascii;
        class       polyBoundaryMesh;
        location    "constant/polyMesh";
        object      boundary;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    6
    (
        INLET
        {
            type            patch;
            nFaces          7076;
            startFace       8338533;
        }
        OUTLET
        {
            type            patch;
            nFaces          22156;
            startFace       8345609;
        }
        TOPANDDOWN
        {
            type            wall;
            inGroups        1(wall);
            nFaces          36424;
            startFace       8367765;
        }
        WING
        {
            type            wall;
            inGroups        1(wall);
            nFaces          9744;
            startFace       8404189;
        }
        FRONT
        {
            type            cyclicAMI;
            inGroups        1(cyclicAMI);
            nFaces          24139;
            startFace       8413933;
    	matchTolerance	0.001;
    	transform	translational;
    	separationVector (0 0 -0.102);
    	neighbourPatch	BACK;
    	
        }
        BACK
        {
            type            cyclicAMI;
            inGroups        1(cyclicAMI);
            nFaces          24139;
            startFace       8438072;
    	matchTolerance	0.001;
    	transform	translational;
    	separationVector (0 0 0.102);
    	neighbourPatch	FRONT;
        }
    )
    
    // ************************************************************************* //
    

    log

    /*---------------------------------------------------------------------------*\
    | =========                 |                                                 |
    | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
    |  \\    /   O peration     | Version:  4.1                                   |
    |   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
    |    \\/     M anipulation  |                                                 |
    \*---------------------------------------------------------------------------*/
    Build  : 4.1
    Exec   : simpleFoam
    Date   : Sep 13 2018
    Time   : 11:43:26
    Host   : "Lzh_HP_Z420_Workstation"
    PID    : 13508
    Case   : /home/lzh/20180824Waveydro/SST
    nProcs : 1
    sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
    fileModificationChecking : Monitoring run-time modified files using timeStampMaster
    allowSystemOperations : Allowing user-supplied system call operations
    
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    Create time
    
    Create mesh for time = 0
    
    
    SIMPLE: convergence criteria
        field p	 tolerance 1e-06
        field U	 tolerance 1e-06
        field "(k|epsilon|omega|f|v2)"	 tolerance 1e-06
    
    Reading field p
    
    AMI: Creating addressing and weights between 24139 source faces and 24139 target faces
    AMI: Patch source sum(weights) min/max/average = 0, 1, 0.998589
    AMI: Patch target sum(weights) min/max/average = 0, 1, 0.997104
    Reading field U
    
    Reading/calculating face flux field phi
    
    Selecting incompressible transport model Newtonian
    Selecting turbulence model type RAS
    Selecting RAS turbulence model kOmegaSST
    Selecting patchDistMethod meshWave
    bounding k, min: 0 max: 0.0068 average: 0.0068
    bounding omega, min: 0 max: 6.668 average: 6.668
    kOmegaSSTCoeffs
    {
        alphaK1         0.85;
        alphaK2         1;
        alphaOmega1     0.5;
        alphaOmega2     0.856;
        gamma1          0.555556;
        gamma2          0.44;
        beta1           0.075;
        beta2           0.0828;
        betaStar        0.09;
        a1              0.31;
        b1              1;
        c1              10;
        F3              false;
    }
    
    No MRF models present
    
    No finite volume options present
    
    
    Starting time loop
    
    surfaceRegion flowRatePatch:
        total faces  = 22156
        total area   = 0.0306
    
    
    Time = 1
    
    smoothSolver:  Solving for Ux, Initial residual = 0.999998, Final residual = 0.0462183, No Iterations 3
    smoothSolver:  Solving for Uy, Initial residual = 1, Final residual = 0.0664053, No Iterations 3
    smoothSolver:  Solving for Uz, Initial residual = 1, Final residual = 0.0408965, No Iterations 4
    #0  Foam::error::printStack(Foam::Ostream&) at ??:?
    #1  Foam::sigFpe::sigHandler(int) at ??:?
    #2  ? in "/lib/x86_64-linux-gnu/libc.so.6"
    #3  Foam::divide(Foam::Field<double>&, double const&, Foam::UList<double> const&) at ??:?
    #4  ? at ??:?
    #5  Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::operator/<Foam::fvPatchField, Foam::volMesh>(Foam::dimensioned<double> const&, Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > const&) at ??:?
    #6  ? at simpleFoam.C:?
    #7  ? at ??:?
    #8  __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
    #9  ? at ??:?
    


  • Foam::divide(Foam::Field<double>&, double const&, Foam::UList<double> const&) at ??:?表示除以0了,你这个如果网格吻合,可以设置成cyclic



  • @东岳 openfoam显示不是完全吻合,用cyclic会出问题,加大tolerance也不管用,反而tolerance调得越大,显示的不匹配度越高:zoule:



  • 网格用什么做的?数量多少?



  • @东岳icem,数量200多万,不过问题貌似已成功解决:huahua: 谢谢东岳前辈,捣鼓了一下午,正准备在下面分享一下我的经验



  • 问题貌似已成功解决。。捣鼓一下午,先在icem Global Mesh Parameters 里设置periodicity,然后转化到openfoam网格,使用cyclic边界条件,发现单核运行已经可以了;但是并行计算出现了问题,不能计算。于是在decomposeParDict文件中使用preservePatches工具,使对应的两个周期面在执行decomposePar时可以被分在一个域,设置完后,计算畅通无阻:xinlei:



  • 楼主好人,感谢分享,1024



  • @lllwonderliquid 楼主您好!我用pointwise绘制网格导入openfoam,加上setSet操作,也可以计算周期边界,这个操作可能和icem中设置periodicity是等价的。:ok: 不过,不知道楼主有没有考虑过加密壁面的网格进行计算?网格一加密,我调openfoam时,就会出现问题,算不起来。:zoule: :zoule:



  • @Foamer24 你好可以分享下您关于setSet的具体操作吗


Log in to reply