Upload
dangcong
View
404
Download
13
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