Sliding Mesh 不能进行并行计算



  • 各位朋友好!

    我想问一个关于DyM 求解器并行计算的问题。
    我现在使用一个DyM求解器进行叶轮机械的Sliding Mesh 仿真。
    可是我不管用什么方法进行分块,都没有办法让这个算例并行计算,导致需要很长的时间才能让算例收敛。
    请问各位是否遇见过这种情况,又是怎样解决的呢?
    谢谢!
    Janry



  • @qjh888 Welcome!

    单核计算收敛么?贴log文件?:sunglasses:
    个人经验还没遇到过单核可行并行不可行的情况。



  • 非常感谢您的回复。
    Log如下:

    uqjqi@uqjqi:~/Desktop/work/18_09_2016_Stage$ mpirun -np 2 transonicMRFDyMFoam -parallel
    /*---------------------------------------------------------------------------*\
    | =========                 |                                                 |
    | \\      /  F ield         | foam-extend: Open Source CFD                    |
    |  \\    /   O peration     | Version:  3.0                                   |
    |   \\  /    A nd           | Web:         http://www.extend-project.de       |
    |    \\/     M anipulation  |                                                 |
    \*---------------------------------------------------------------------------*/
    Build    : 3.0-7a7445ead09d
    Exec     : transonicMRFDyMFoam -parallel
    Date     : Sep 18 2016
    Time     : 15:39:52
    Host     : uqjqi
    PID      : 16913
    CtrlDict : /home/uqjqi/foam/foam-extend-3.0/etc/controlDict
    Case     : /home/uqjqi/Desktop/work/18_09_2016_Stage
    nProcs   : 2
    Slaves : 
    1
    (
    uqjqi.16914
    )
    
    Pstream initialized with:
        floatTransfer     : 0
        nProcsSimpleSum   : 0
        commsType         : blocking
    SigFpe   : Enabling floating point exception trapping (FOAM_SIGFPE).
    
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    Create time
    
    Create dynamic mesh for time = 5.839112e-07
    
    Selecting dynamicFvMesh turboFvMesh
    Initializing the GGI interpolator between master/shadow patches: OF_symmetry_00/OF_symmetry_03
    Initializing the GGI interpolator between master/shadow patches: OF_symmetry_10/OF_symmetry_11
    Turbomachine Mixer mesh:
        origin: (0 0 0)
        axis  : (0 0 1)
    Reading thermophysical properties
    
    Selecting thermodynamics package hPsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>>
    Allocating field rho
    
    Reading field U
    
    Reading/calculating face flux field phi
    
    Creating MRF model
    
    Creating turbulence model
    
    Selecting turbulence model type RASModel
    Selecting RAS turbulence model SpalartAllmaras
    SpalartAllmarasCoeffs
    {
        alphaNut        1.5;
        Cb1             0.1355;
        Cb2             0.622;
        Cw2             0.3;
        Cw3             2;
        Cv1             7.1;
        Cv2             5;
        sigmaNut        0.66666;
        kappa           0.41;
        Prt             1;
    }
    
    Create Riemann solver
    
    Allocating field rhoU
    
    Allocating field rhoE
    
    Allocating physDeltaT list for RK and Dual-Time Stepping
    
    
    Starting time loop
    
    [uqjqi:16913] *** Process received signal ***
    [uqjqi:16913] Signal: Floating point exception (8)
    [uqjqi:16913] Signal code:  (-6)
    [uqjqi:16913] Failing at address: 0x3e800004211
    [uqjqi:16913] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x354a0) [0x7f2fddcd84a0]
    [uqjqi:16913] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38) [0x7f2fddcd8418]
    [uqjqi:16913] [ 2] /lib/x86_64-linux-gnu/libc.so.6(+0x354a0) [0x7f2fddcd84a0]
    [uqjqi:16913] [ 3] /home/uqjqi/foam/foam-extend-3.0/lib/linux64GccDPOpt/libfoam.so(_ZN4Foam6divideERNS_5FieldIdEERKNS_5UListIdEES6_+0xe6) [0x7f2fdf297896]
    [uqjqi:16913] [ 4] /home/uqjqi/foam/foam-extend-3.0/lib/linux64GccDPOpt/libcompressibleRASModels.so(_ZN4Foam6divideINS_12fvPatchFieldENS_7volMeshEEEvRNS_14GeometricFieldIdT_T0_EERKS6_S9_+0xb7) [0x7f2fe2a32947]
    [uqjqi:16913] [ 5] /home/uqjqi/foam/uqjqi-3.0/lib/linux64GccDPOpt/libDensityBasedSolvers.so(+0x8e357) [0x7f2fdfd69357]
    [uqjqi:16913] [ 6] /home/uqjqi/foam/uqjqi-3.0/lib/linux64GccDPOpt/libDensityBasedSolvers.so(_ZN4Foam13localTimeStep6updateEdNS_6SwitchE+0x67d) [0x7f2fdfd6a62d]
    [uqjqi:16913] [ 7] transonicMRFDyMFoam() [0x429720]
    [uqjqi:16913] [ 8] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7f2fddcc3830]
    [uqjqi:16913] [ 9] transonicMRFDyMFoam() [0x42ec69]
    [uqjqi:16913] *** End of error message ***
    --------------------------------------------------------------------------
    mpirun noticed that process rank 0 with PID 16913 on node uqjqi exited on signal 8 (Floating point exception).
    --------------------------------------------------------------------------
    


  • 并没有尝试过extend版本的OpenFOAM。不过从log来看,还没有计算就已经跳出了。transonicMRFDyMFoam的功能在rhoPimpleDyMFoam里面应该也可以实现?



  • @李东岳

    感谢东岳大神回复。

    transonicMRFDyMFoam我用它来计算一个叶轮的Stage,如果用rhoPimpleDymFoam的话,第二个solver是否支持MRF呢?如果不支持MRF我怕用DyM的时候,不用设定转子内流体本身的转动。
    不知道在这种情况下rhoPimpleDyMFoam是否适用?

    如果在超算上运行,log 如下:

    /*---------------------------------------------------------------------------*\
    | =========                 |                                                 |
    | \\      /  F ield         | foam-extend: Open Source CFD                    |
    |  \\    /   O peration     | Version:  3.0                                   |
    |   \\  /    A nd           | Web:         http://www.extend-project.de       |
    |    \\/     M anipulation  |                                                 |
    \*---------------------------------------------------------------------------*/
    Build    : 3.0-7a7445ead09d
    Exec     : transonicMRFDyMFoam -parallel
    Date     : Sep 19 2016
    Time     : 10:03:26
    Host     : goliath.labs.eait.uq.edu.au
    PID      : 140425
    CtrlDict : /home/Staff/uqjqi/foam/foam-extend-3.0/etc/controlDict
    Case     : /home/Staff/uqjqi/work/18_09_2016_Stage
    nProcs   : 2
    Slaves : 
    1
    (
    goliath.labs.eait.uq.edu.au.140426
    )
    
    Pstream initialized with:
        floatTransfer     : 0
        nProcsSimpleSum   : 0
        commsType         : blocking
    SigFpe   : Enabling floating point exception trapping (FOAM_SIGFPE).
    
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    Create time
    
    Create dynamic mesh for time = 7.386619e-06
    
    Selecting dynamicFvMesh turboFvMesh
    Initializing the GGI interpolator between master/shadow patches: OF_symmetry_00/OF_symmetry_03
    Initializing the GGI interpolator between master/shadow patches: OF_symmetry_10/OF_symmetry_11
    Turbomachine Mixer mesh:
        origin: (0 0 0)
        axis  : (0 0 1)
    Reading thermophysical properties
    
    Selecting thermodynamics package hPsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>>
    Allocating field rho
    
    Reading field U
    
    Reading/calculating face flux field phi
    
    Creating MRF model
    
    Creating turbulence model
    
    Selecting turbulence model type RASModel
    Selecting RAS turbulence model SpalartAllmaras
    SpalartAllmarasCoeffs
    {
        alphaNut        1.5;
        Cb1             0.1355;
        Cb2             0.622;
        Cw2             0.3;
        Cw3             2;
        Cv1             7.1;
        Cv2             5;
        sigmaNut        0.66666;
        kappa           0.41;
        Prt             1;
    }
    
    Create Riemann solver
    
    Allocating field rhoU
    
    Allocating field rhoE
    
    Allocating physDeltaT list for RK and Dual-Time Stepping
    
    
    Starting time loop
    
    Moving Cell Zone Name: cellRegion1 rpm: -150600
    Moving Cell Zone Name: cellRegion0 rpm: 0
    
     Time = 7.386896e-06
    [0] 
    [0] 
    [0] --> FOAM FATAL IO ERROR: 
    [0] error in IOstream "IOstream" for operation operator>>(Istream&, List<T>&) : reading first token
    [0] 
    [0] file: IOstream at line 0.
    [0] 
    [0]     From function IOstream::fatalCheck(const char*) const
    [0]     in file db/IOstreams/IOstreams/IOstream.C at line 108.
    [0] 
    FOAM parallel run exiting
    

    曾经我的电脑也可以做出这个错误,后来就不知道怎么也做不出这个错误来了。
    电脑安装的是Ubuntu 16.04系统。

    非常感谢!
    Janry



  • 不知道是否可以进行有偿征集答案?
    这个问题困扰我很久了,不知道哪为朋友可以帮我解决,如果能够解决,必将感谢~
    暂定RMB500?

    如果不合适的话,请管理员将此贴删除。
    再次感谢!
    Janry



  • 你是打算将华谊网格并行化?
    extend的求解器不能并行还是并行出错?
    论坛好像用extend的不多。
    并且为什么华谊网格要叠加MRF?这个好像讨论很多次了。

    如果根本不能并行,很难处理。最简单的方法是用官方版本。官方版本也有华谊网格,或MRF



  • @cfd-china 
    感谢回复。 滑移网格使用后确实MRF不被激活,但是还是用MRFZones这个文件定义非旋转面,比如转子上面的wall。

    用extend版本是为了用专门针对于turbomachinery 的求解器。

    谢谢~

    Janry



  • @cfd-china

    打算使用滑移网格进行并行计算。



  • @qjh888 看官方版pimpleDyMFoam是否能满足你的需求。里面附带了一个螺旋桨的动网格酸梨。propeller

    :big_mouth: :big_mouth:



  • @cfd-china

    嗯,谢谢推荐,之前看过这个求解器,不太确定是否可以定义一个cellRegion某一个wall不动。
    如果可以的话,那么简直完美。

    Janry



  • 请问, rhoPimpleDyMFoam 是否可以设定一个特定的Wall在计算上是不动的么?
    这样可以用来模拟实际的转子转动时,与顶盖(不动)之间的摩擦损失。

    谢谢!
    Janry


  • 版主

    同时用滑移网格和MRF,确实怪怪的:confused:



  • @qjh888 可以。tutorial里面就是外壁不动、内测推进器在旋转,这个很好设置。



  • @李东岳

    好的!
    我试下。不知道这个solver算跨音速问题是否适用?

    谢谢
    Janry



  • @qjh888
    可以,不过是压力求解器,rhoCentralFoam是密度级求解器。:sunglasses:



  • @cfd-china
    非常感谢!
    看来我得转到OpenFOAM来了。
    我现在知道对应cyclicGgi 有 cyclicAMI,那么是否有对应overlapGgi的AMI呢?
    我的算例是一个转子流道加一个定子流道,在转动完一定的角度后就完全分离了,不知道AMI是否可以实现这个功能?

    非常感谢!

    Janry



  • @qjh888 您好,不知道您能解释一下ggi和ami吗?或是他俩个的区别?百度了很久没有发现太好的介绍



  • @ahujeffery
    没有什么区别,ggifoam-extend的名字,AMIOpenFOAM的名字。



  • @李东岳 谢谢大神的解答:happy:


登录后回复
 

与 CFD中文网 的连接断开,我们正在尝试重连,请耐心等待