sesión 3. modelos y esquemas numéricos en...
TRANSCRIPT
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Sesión 3. Modelos y esquemas numéricos enOpenFOAM
E. Martín1, M. Meis1,2, F. Varas1, V. Díaz3 y A. Gosset3
1Univ. de Vigo, 2Vicus Desarrollos Tecnológicos y 3Univ. da Coruña
Simulación en dinámica de fluidos con OpenFOAMVigo, 18 al 22 de Julio de 2011
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Outline
1 Modelos físicos en OpenFOAMPrincipales grupos de modelosOtros grupos de modelos
2 Esquemas numéricos en OpenFOAMDiscretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Principales grupos de modelosOtros grupos de modelos
Plan
1 Modelos físicos en OpenFOAMPrincipales grupos de modelosOtros grupos de modelos
2 Esquemas numéricos en OpenFOAMDiscretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Principales grupos de modelosOtros grupos de modelos
Modelos físicos en OpenFOAM
Principales grupos de modelos
modelos básicosflujos incompresiblesflujos compresiblesflujos multifásicosflujos reactivos
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Principales grupos de modelosOtros grupos de modelos
Modelos físicos en OpenFOAM (cont.)
Otros grupos de modelos
transporte de partículastransferencia de calorotras físicas:
electromagnetismo, sólidos, etc
Referenciashttp://www.openfoam.com/features
OpenFOAM User Guide (sección 3.5)
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Principales grupos de modelosOtros grupos de modelos
Plan
1 Modelos físicos en OpenFOAMPrincipales grupos de modelosOtros grupos de modelos
2 Esquemas numéricos en OpenFOAMDiscretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Principales grupos de modelosOtros grupos de modelos
Modelos básicos
Modelos básicos en OpenFOAMFlujos potencialesEcuación de transporte
Archivo scalarTransportFoam.C
solve ( fvm::ddt(T) + fvm::div(phi,T) -fvm::laplacian(DT,T) );
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Principales grupos de modelosOtros grupos de modelos
Flujos incompresibles
Modelos incompresibles en OpenFOAMflujos laminaresflujos turbulentos
Reynolds Averaged Navier-Stokes (RANS):http://www.openfoam.com/features/RAS.phpLarge Eddy Simulation (LES):http://www.openfoam.com/features/LES.php
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Principales grupos de modelosOtros grupos de modelos
Flujos incompresibles (cont.)
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Principales grupos de modelosOtros grupos de modelos
Flujos compresibles
Modelos compresibles en OpenFOAMflujos laminaresflujos turbulentos (RANS)flujos transónicos/supersónicos
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Principales grupos de modelosOtros grupos de modelos
Flujos compresibles (cont.)
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Principales grupos de modelosOtros grupos de modelos
Flujos multifásicos
Modelos multifásicos en OpenFOAMflujos incompresibles de fluidos inmisciblesflujos compresibles de fluidos inmisciblesflujos bifásicos con fase dispersa
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Principales grupos de modelosOtros grupos de modelos
Flujos multifásicos
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Principales grupos de modelosOtros grupos de modelos
Flujos multifásicos
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Principales grupos de modelosOtros grupos de modelos
Flujos reactivos
Modelos reactivos en OpenFOAMflujos reactivos (genéricos)modelos de llamas premezcladasmodelos de llamas de difusióncombustión de sprays
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Principales grupos de modelosOtros grupos de modelos
Flujos reactivos
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Principales grupos de modelosOtros grupos de modelos
Plan
1 Modelos físicos en OpenFOAMPrincipales grupos de modelosOtros grupos de modelos
2 Esquemas numéricos en OpenFOAMDiscretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Principales grupos de modelosOtros grupos de modelos
Transporte de partículas
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Principales grupos de modelosOtros grupos de modelos
Transferencia de calor
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Principales grupos de modelosOtros grupos de modelos
Otras físicas
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Principales grupos de modelosOtros grupos de modelos
Fuentes de información
OpenCFDTutoriales de OpenFOAMCódigo fuente de OpenFOAM
Comunidad de usuarioshttp://openfoamwiki.net
Curso de CFD basado en OpenFOAM en:http://www.tfd.chalmers.se/˜hani
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Plan
1 Modelos físicos en OpenFOAMPrincipales grupos de modelosOtros grupos de modelos
2 Esquemas numéricos en OpenFOAMDiscretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Esquemas numéricos en OpenFOAM
Discretización numéricadiscretización espacial y temporal
discretización espacialtratamiento de términos convectivosdiscretización temporal
algoritmos globales de resoluciónSIMPLEPISO
resolución de sistemas lineales
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Plan
1 Modelos físicos en OpenFOAMPrincipales grupos de modelosOtros grupos de modelos
2 Esquemas numéricos en OpenFOAMDiscretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Formulación de modelos
Ecuación de conservación genérica (forma diferencial)
∂
∂t(ρΦ)︸ ︷︷ ︸
acumulación
+ div(ρ~UΦ)︸ ︷︷ ︸convección
−div(ρΓΦ~∇Φ)︸ ︷︷ ︸
difusión
= S(Φ)︸ ︷︷ ︸fuente
Formulación integral: balance sobre volumen de control V
ddt
∫VρΦdV +
∫∂Vρ~UΦ · d~S −
∫∂VρΓΦ
~∇Φ · d~S =
∫V
S(Φ)dV
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Discretización mediante volúmenes finitos
Formulación de balance sobre celda Ω
ddt
∫ΩρΦdV +
∫Γρ~UΦ · d~S −
∫ΓρΓΦ
~∇Φ · d~S =
∫Ω
S(Φ)dV
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Discretización mediante volúmenes finitos
Aproximación mediante volúmenes finitosA partir de aproximaciones de Φ en P se debe obtener:
aproximación de∫
Ω F (Φ)dV
aproximación de∫
Γ~G(Φ) · d~S
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Integración sobre celdas
Aproximación de integral sobre celda Ω
F (~x) = FP + (~∇F )P · (~x − ~xP) + O(||~x − ~xP ||2)∫Ω
FdΩ '∫
Ω(FP + (~∇F )P · (~x − ~xP))dΩ = FPVP
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Integración sobre caras
Aproximación de integral sobre cara Γ
~G(~x) = ~Gf + (~∇~G)f (~x − ~xf ) + O(||~x − ~xf ||2)∫Γ
~G · d~S '∫
Γ(~Gf + (~∇~G)f (~x − ~xf )) · d~S = ~Gf · ~Sf
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Aproximación de términos difusivos
Cálculo de flujo difusivo∫ΓρΓΦ
~∇Φ · d~S ' (ρΓΦ)f (~∇Φ)f · ~Sf
(~∇Φ)f · ~Sf ' |~Sf |ΦN − ΦP
|~d |
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Aproximación de términos difusivos
Cálculo de flujo difusivo (malla general)∫ΓρΓΦ
~∇Φ · d~S ' (ρΓΦ)f (~∇Φ)f · ~Sf
(~∇Φ)f = fx (~∇Φ)P + (1− fx )(~∇Φ)N con (~∇Φ)P '1
VP
∑f
Φf~Sf
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Aproximación de términos fuente
Cálculo de términos fuentetérminos lineales:∫
ΩS(Φ)dV ' (S(Φ))PVP = SpΦPVP
términos no lineales (linealización):∫Ω
S(Φ)dV ' (S(Φ))PVP ' S0PVP + S1PΦPVP
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Aproximación de términos convectivosUn ejemplo elemental
Problema estacionario unidimensional sin fuentesddx
(ρUΦ)− ddx
(ρΓΦdΦ
dx) = 0
Φ(0) = Φ0 Φ(L) = 0
Forma adimensional (ρ, U y ΓΦ constantes)
dΦ
dx− 1
Ped2Φ
dx2 = 0
Φ(0) = 1 Φ(1) = 0
donde Pe = LUΓΦ
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Aproximación de términos convectivosUn ejemplo elemental
Solución analítica de problema modelo
Φ(x) =exp(Pe x)− exp(Pe)
1− exp(Pe)
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Aproximación de términos convectivosUn ejemplo elemental
Formulación de balances sobre celda i–ésima∫ xi+1/2
xi−1/2
dΦ
dxdx −
∫ xi+1/2
xi−1/2
1Pe
ddx
(dΦ
dx)dx = 0
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Aproximación de términos convectivosUn ejemplo elemental
Tratamiento de términos difusivos
−∫ xi+1/2
xi−1/2
1Pe
ddx
(dΦ
dx)dx =
1Pe
(dΦ
dx|xi+1/2 −
dΦ
dx|xi−1/2)
' 1Pe
(Φi+1 − Φi
∆x− Φi − Φi−1
∆x) =
1Pe
Φi+1 − 2Φi + Φi−1
∆x
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Aproximación de términos convectivosUn ejemplo elemental
Aproximación de términos convectivos∫ xi+1/2
xi−1/2
dΦ
dxdx = Φ|xi+1/2 − Φ|xi−1/2
' Φi+1 + Φi
2− Φi + Φi−1
2=
Φi+1 − Φi−1
2
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Aproximación de términos convectivosUn ejemplo elemental
Balance en primera celda (condición de contorno en x1/2)
Contribución de término difusivo
−∫ x3/2
x1/2
1Pe
ddx
(dΦ
dx)dx =
1Pe
(dΦ
dx|x3/2 −
dΦ
dx|x1/2)
' 1Pe
(Φ2 − Φ1
∆x− Φ1 − Φcc
12∆x
)
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Aproximación de términos convectivosUn ejemplo elemental
Balance en primera celda (condición de contorno en x1/2)
Contribución de término convectivo∫ x3/2
x1/2
dΦ
dxdx = Φ|x3/2 − Φ|x1/2 '
Φ1 + Φ2
2− Φcc
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Aproximación de términos convectivosUn ejemplo elemental
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Aproximación de términos convectivosUn ejemplo elemental
Una aproximación estable de términos convectivos∫ xi+1/2
xi−1/2
dΦ
dxdx = Φ|xi+1/2 − Φ|xi−1/2 ' Φi − Φ|i−1
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Aproximación de términos convectivosUn ejemplo elemental
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Aproximación de flujos convectivos
Contribución de flujos convectivos
ddt
∫ΩρΦdV +
∫Γρ~UΦ · d~S︸ ︷︷ ︸−
∫ΓρΓΦ
~∇Φ · d~S =
∫Ω
S(Φ)dV
∫Γρ~UΦ · d~S ' (ρ~U)f Φf · ~Sf
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Aproximación de flujos convectivos
Esquemas básicosaproximación centrada (central differencing)
Φf = (Φf )CD = fx ΦP + (1− fx )ΦN
aproximación descentrada (upwind differencing)Φf = (Φf )UD = ΦP
aproximación mixta (blended differencing)Φf = (1− γ)(Φ)UD + γ(Φ)CD
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Aproximación de flujos convectivos
Otras aproximaciones de flujos convectivosdescentrado de orden superior:
linear upwindingQUICK
esquemas TVD y limitadores de flujo:van LeerSUPERBEEMINMODMUSCL
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Control de discretización espacial en OpenFOAM
Tipos de esquemas de discretización espacialInterpolación general (obtiene valores sobre aristas/caras)interpolationSchemes
Discretización de términos convectivos:divSchemes
Discretización de términos difusivos:laplacianSchemes
Discretización de términos en gradiente:gradSchemes
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Control de discretización espacial
Esquemas de interpolación sobre aristas/cara
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Control de discretización espacial
Términos convectivos: divSchemes
Discretización de términos de forma div(ρ~U~U) mediante:div(phi,U) Gauss InterpScheme
donde phi corresponde a ~φ = ρ~UEsquemas (usuales) de interpolación:
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Control de discretización espacial
Términos difusivos: laplacianSchemes
Discretización de términos de forma div(ν ~∇U) mediante:laplacian(nu,U) Gauss InterpScheme SnScheme
Esquema de interpolación según lista generalEsquemas de aproximación de normales:
Ejemplo:laplacian(nu,U) Gauss linear corrected
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Control de discretización espacial
Términos en gradiente: gradSchemes
Más informaciónOpenFOAM User’s GuideOpenFOAM Programmer’s GuideOpenFOAM wiki en: http://openfoamwiki.net
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Integración temporal
Formulación de balance sobre celda Ω
ddt
∫ΩρΦdV +
∫Γρ~UΦ · d~S −
∫ΓρΓΦ
~∇Φ · d~S =
∫Ω
S(Φ)dV
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Integración temporal
Formulación semidiscretizada en espacio
ρPVPdΦP
dt+∑
f
FΦf −∑
f
(ρΓ)f~S · (~∇Φ)f = S0VP + S1VPΦP
Esquemas de discretización temporalEuler implícitoEsquema BDF de orden 2Crank-Nicolson
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Integración temporal
Método de Euler implícito
ρPVPΦn
P − Φ0P
∆t+∑
f
FΦnf −
∑f
(ρΓ)f~S · (~∇Φ)n
f = S0VP +S1VPΦnP
Estabilidad del esquemaincondicionalmente establesobreamortiguamiento si CFL mucho mayor que 1
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Integración temporal
Método BDF de orden 2
ρPVP3/2Φn
P − 2Φ0P + 1/2Φ00
P∆t
+∑
f
FΦnf −
∑f
(ρΓ)f~S · (~∇Φ)n
f = S0VP + S1VPΦnP
Método de Crank–Nicolson
ρPVPΦn
P − ΦnP
∆t+
12
∑f
FΦnf −
12
∑f
(ρΓ)f~S · (~∇Φ)n
f
+12
∑f
FΦnf −
12
∑f
(ρΓ)f~S·(~∇Φ)n
f = S0VP+12
S1VPΦnP+
12
S1VPΦ0P
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Plan
1 Modelos físicos en OpenFOAMPrincipales grupos de modelosOtros grupos de modelos
2 Esquemas numéricos en OpenFOAMDiscretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Dificultades en tratamiento de presión
Ecuaciones de Stokes
−µ∆~v + ~∇p = 0
div~v = 0
Formulación sobre celda (2D)
−∑
f
∫Γµ∂u∂n
dS +∑
f
∫Γ
pnx dS = 0
−∑
f
∫Γµ∂v∂n
dS +∑
f
∫Γ
pny dS = 0
∑f
∫Γ
~v · ~n dS = 0
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Dificultades en tratamiento de presión
Discretización de ecuación de Stokes
−µ(uE + uW + uN + uS − 4uP) + h(pE − pW ) = 0
−µ(vE + vW + vN + vS − 4vP) + h(pN − pS) = 0
vN − vS + uE − uW = 0
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Dificultades en tratamiento de presión
Ecuaciones de Stokes
−µ∆~v + ~∇p = 0
div~v = 0
Observación
Con balance nulo de fuerzas de viscosidad (µ∆~v = 0):p debe ser constante
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Dificultades en tratamiento de presión
−µ(uE + uW + uN + uS − 4uP) + h(pE − pW ) = 0
−µ(vE + vW + vN + vS − 4vP) + h(pN − pS) = 0
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Dificultades en tratamiento de presión
Alternativas de esquemas numéricos establesuso de mallas decaladas (staggered grids):
- presión y velocidad no se aproximan en los mismos puntos- ejemplo: MAC (Marker–and–Cell)
métodos de proyección (o segregados):- las ecuaciones se resuelven en varios pasos- se separa conservación de momentos e incompresibilidad- ejemplo: PISO y SIMPLE
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Algoritmo SIMPLESemi–Implicit Method for Pressure–Linked Equations
Ecuaciones de Navier–Stokes incompresibles
∂~u∂t
+ div(~u ⊗ ~u)− div(ν ~∇~u) + ~∇p = ~0
div~u = 0
Idea del algoritmo SIMPLE (para problema estacionario)
se itera en tiempo (linealizando en tiempo anterior)en capa paso de tiempo:
se descomponen los campos en predicción y correcciónse calcula una predicción de la velocidad(ec. de conservación de momentos con presión dada)se calculan las correcciones en presión y velocidad(ec. de conservación de momentos e incompresibilidad)
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Algoritmo SIMPLE
Descomposición de campos (predicción + corrección)
~u = ~u∗ + ~u′ p = pn + p∗
Ecuación de conservación de momentos
Despreciando términos cuadráticos y viscosos en ~u′:∂~u∗
∂t+∂~u′
∂t+ div(~un ⊗ ~u∗)− div(ν ~∇~u∗) + ~∇pn + ~∇p∗ = ~0
Segregación de cálculos
∂~u∗
∂t+ div(~un ⊗ ~u∗)− div(ν ~∇~u∗) + ~∇pn = ~0
∂~u′
∂t+ ~∇p∗ = ~0
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Algoritmo SIMPLE
Etapa de predicción
Se calcula ~u∗ solución de
∂~u∗
∂t+ div(~un ⊗ ~u∗)− div(ν ~∇~u∗) + ~∇pn = ~0
Etapa de corrección
Se calculan ~u′ y p′ solución de
∂~u′
∂t+ ~∇p′ = ~0
div(~u∗ + ~u′) = 0
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Algoritmo SIMPLE
Resolución de Etapa de correcciónSe deduce un problema de Poisson para la presión(divergencia en ec. de conservación de momentos):
−∆p′ = − ∂
∂t(div~u∗)
con condiciones de contorno artificiales sobre p′
Con presión p′ se calcula corrección de velocidad ~u′:
∂~u′
∂t+ ~∇p′ = ~0
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Algoritmo SIMPLE
Implementación del algoritmo SIMPLE
La etapa de predicción puede convertirse en explícita:se retiene sólo diagonal del operador de discretizaciónEl algoritmo itera en (pseudo–) tiempo hasta convergencia:justifica no considerar términos despreciadosEn cálculo de presión se itera para retener correccionesno–ortogonales (evita aumento de banda de matriz)Se emplea relajación para mejorar la convergencia
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Algoritmo PISOPressure Implicit with Splitting of Operators
Adaptación de SIMPLE para problemas evolutivos
términos despreciados (en cálculo de predicción ~u∗) no secancelan en transitoriotérminos truncados se incluyen en la correcciónes preciso iterar en cálculo de correcciones
Esquema del algoritmo PISOEn cada paso de tiempo se resuelve:
Cálculo de predicción ~u∗ en tn+1
Bucle de cálculo de corrección (~u′,p′) en tn+1:cálculo de p′k+1 a partir de ~u∗ y ~u′kcorrección de velocidad ~u′k+1 a partir de p′k+1
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Plan
1 Modelos físicos en OpenFOAMPrincipales grupos de modelosOtros grupos de modelos
2 Esquemas numéricos en OpenFOAMDiscretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Métodos (iterativos) de resoluciónmétodos de Krylov:
método de gradiente conjugadométodo de gradiente biconjugado
métodos multimalla:métodos multimalla geométricosmétodos multimalla algebraicos
Referenciashttp://www.openfoam.com/features
OpenFOAM User Guide (sección 4.5)
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Métodos de Krylov
Métodos disponiblespara matrices simétricas y definidas positivas:
mét. de gradiente conjugado (precondicionado): PCGpara matrices generales:
mét. de gradiente biconjugado (precondicionado): PBiCG
Precondicionadoresfactorizaciones incompletas: Cholesky (DIC) y LU (DILU)precondicionador diagonal (Jacobi): diagonalmétodos multimalla (geométrico/algebraico): GAMG
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Métodos multimalla
Métodos multimalla geométricos/algebraicos
usuario no necesita proporcionar jerarquía de mallasmalla grosera construida a partir de directrices en:nCoarsestCells, agglomeratorcontrol de suavizadores mediante:smoother
nPreSweeps, nPostSweeps, nFinestSweepscontrol de niveles de multimalla con:mergeLevels
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Un ejemplo: uso de icoFoam
Solver icoFoamTransient solver for incompressible, laminar flow ofNewtonian fluidsdiscretización basada en PISOusado en Lid–driven cavity flow (tutorial en User’s Guide)
Código fuente de icoFoam
Para versión 1.7.1 instalada en /opt:/opt/openfoam171/applications/solvers/...
incompressible/icoFoam/icoFoam.C
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Un ejemplo: uso de icoFoam
Opciones en archivo fvSolution
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM
Modelos físicos en OpenFOAMEsquemas numéricos en OpenFOAM
Discretización espacial y temporalAlgoritmos numéricos de resoluciónResolución de sistemas lineales
Un ejemplo: uso de icoFoam
Opciones en archivo fvSchemes
E. Martín, M. Meis, F. Varas, V. Díaz y A. Gosset Sesión 3. Modelos y esquemas numéricos en OpenFOAM