31
OpenFOAMにおけ る混相計算 2013/1/19 阪学学院基礎学研究科 岡野研 M1 本 卓也

OpenFOAMにおけ る混相計算ofbkansai.sakura.ne.jp/data/OpenFOAM...OpenFOAMにおけるVOF法の 実装 InterFoam ! !VOF法のみ! InterDymFoam !VOF法+AMR InterMixingFoam !VOF法(3つの流体の混合)

Embed Size (px)

Citation preview

  • OpenFOAM

    2013/1/19

    M1

  • )(-) (-) (-)

    ,,2012,C03-4 ,,2011,C04-3

  • (Interface Tracking) (Interface Capturing) ()

    (MPS, SPH) VOF Level-Set Phase Field BFC() ALE(Arbitrary Lagrangian-Eulerian)

  • OpenFOAM

    (MPS, SPH) VOF Level-Set Phase Field (Front tracking) BFC() ALE(Arbitrary Lagrangian-Eulerian)

    VOFinterFoam

  • VOF(Volume of Fluid) Navier-Stokes

    sk

    gPt

    nF

    Fvvvv

    =

    +++=+

    2

    0= v

    VOF VOF

    VOF

    VOF

    k:

    :: liquid phase :: interface :: gas phase

    1=

    0=10

  • OpenFOAMVOF

    InterFoam VOF InterDymFoam VOFAMR InterMixingFoam VOF(3)

    OpenFOAMAMRVOF

    AMR(AdapUve Mesh Refinement)

  • VOF(InterFoam)

    Dam Break (Tutorial)

    VOF

  • VOFAMR(InterDymFoam)

    Dam Break (Tutorial)

    ()

  • VOF

    VOF VOFAMR CLSVOF VOF/PLIC VOF(THINC/WLIC) CIP WENO

    PLIC (Piesewise Linear Interface CalculaUon) SLIC (Simple Line Interface CalculaUon) WLIC (Weighted Line Interface CalculaUon)

    CLSVOFOpenFOAM

    VOF

  • InterFoam

    Navier-Stokes

    sk

    gPt

    nF

    Fvvvv

    =

    +++=+

    2

    :: liquid phase :: interface :: gas phase

    1=

    0=10

  • InterFoam

    Navier-Stokes

    sk

    gPt

    nF

    Fvvvv

    =

    +++=+

    2

    :: liquid phase :: interface :: gas phase

    1=

    0=10 nu() ) );}

    ( ) 0=+

    vt

  • InterFoam

    Navier-Stokes

    sk

    gPt

    nF

    Fvvvv

    =

    +++=+

    2

    :: liquid phase :: interface :: gas phase

    1=

    0=10

  • InterFoam

    Navier-Stokes

    sk

    gPt

    nF

    Fvvvv

    =

    +++=+

    2

    :: liquid phase :: interface :: gas phase

    1=

    0=10

  • InterFoam

    Navier-Stokes

    sk

    gPt

    nF

    Fvvvv

    =

    +++=+

    2

    :: liquid phase :: interface :: gas phase

    1=

    0=10

  • InterFoam

    Navier-Stokes

    :: liquid phase :: interface :: gas phase

    1=

    0=10

  • InterFoam

    Navier-Stokes

    :: liquid phase :: interface :: gas phase

    1=

    0=10

  • InterFoam

    Navier-Stokes

    :: liquid phase :: interface :: gas phase

    1=

    0=10

  • InterFoamVer. 1.6.x

    ( ) ( )( ) 01 =++

    rtvv

    ()

    ( ) ( )( ) 01 =++ dVdVdVdtd

    V rVVvv

    dVdsVs = aan

    ( ) dSdSdVdtd

    SSV ++ nvnv r 1

  • InterFoamVer. 1.6.x

    ( ) dSdSdVdtd

    SSV ++ nvnv r 1

    ( )( ) ff S nvr1( ) ff Snvf Sf

    Sf

    vn

    OpenFOAM

  • InterFoamVer. 1.6.x

    alphaEqn.H 5~8 surfaceScalarField phic = mag(phi/mesh.magSf());phic = min(interface.cAlpha()*phic, max(phic));surfaceScalarField phir = phic*interface.nHaq();

    fc S

    =

    ))max(,min( ccc C =

    fcr n=

    =

    fffr ss

    Cn max,min

    ( )( ) ff S nvr1r??

  • InterFoamVer. 1.6.x

    alphaEqn.H 5~8 surfaceScalarField phic = mag(phi/mesh.magSf());phic = min(interface.cAlpha()*phic, max(phic));surfaceScalarField phir = phic*interface.nHaq();

    find, grep(src)

    src/transportModels/interfaceProperUes/interfaceProperUes.C

    cAlpha, nHaq_, K_

  • InterFoamVer. 1.6.x

    // Face unit interface normal flux nHaq_ = nHaqv & Sf;

    // Simple expression for curvature K_ = -fvc::div(nHaq_);

    transportProperUesDict_(dict), cAlpha_ ( readScalar ( alpha1.mesh().soluUonDict().subDict("PISO").lookup("cAlpha") ) ),

    src/transportModels/interfaceProperUes/interfaceProperUes.C

    ffvf Snn =CSF (Brackbill (1992)) (ConUnuum Surface Force)

    F = knfnk = nk =

    n

    C

    131

    117

    146

  • InterFoamVer. 1.6.x

    // Face unit interface normal surfaceVectorField nHaqv = gradAlphaf/(mag(gradAlphaf) + deltaN_);

    src/transportModels/interfaceProperUes/interfaceProperUes.C

    113( )

    ( ) Nff

    fvn

    +

    =

    deltaN_ ( "deltaN", 1e-8/pow(average(alpha1.mesh().V()), 1.0/3.0) ),

    156

    3/1

    8

    )/(0.1

    =

    Ni

    N NVe

  • InterFoamVer. 1.6.x

    alphaEqn.H 5~8 surfaceScalarField phic = mag(phi/mesh.magSf());phic = min(interface.cAlpha()*phic, max(phic));surfaceScalarField phir = phic*interface.nHaq();

    =

    fffr ss

    Cn max,min

    ( )( ) ff S nvr1??

  • InterFoamVer. 1.6.x

    alphaEqn.H 9~ for (int aCorr=0; aCorr

  • InterFoamVer. 1.6.x

    =

    fffr ss

    Cn max,min )1( += r

    ( ) dSdSdVdtd

    SSV ++ nvnv r 1

    fS= v

  • InterFoam

    t = t + t

    PISO

    YES

    NO

    END

    InterFoam.C

  • CLSVOF

    CLSVOF(Conjugate Level-Set and Volume Of Fluid)

    Navier-Stokes

    sk

    gPt

    nF

    Fvvvv

    =

    +++=+

    2

    k; n=k

    Level-Set

  • CLSVOF

    t = t + t

    PISO

    YES

    NO

    END

    CSF

  • OpenFOAM

    OpenFOAM