• No se han encontrado resultados

Sesión 2. Modelos y esquemas numéricos en OpenFOAM

N/A
N/A
Protected

Academic year: 2021

Share "Sesión 2. Modelos y esquemas numéricos en OpenFOAM"

Copied!
77
0
0

Texto completo

(1)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Sesión 2. Modelos y esquemas numéricos en OpenFOAM

E. Martín1, M. Meis1,2y F. Varas1,3

1Univ. de Vigo,2Vicus Desarrollos Tecnológicos y3Univ. Politécnica de Madrid

Simulación en dinámica de fluidos con OpenFOAM Vigo, 26 y 27 de Enero de 2012

(2)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Outline

1 Modelos físicos en OpenFOAM Principales grupos de modelos Otros grupos de modelos

2 Esquemas numéricos en OpenFOAM Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

(3)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Principales grupos de modelos Otros grupos de modelos

Plan

1 Modelos físicos en OpenFOAM Principales grupos de modelos Otros grupos de modelos

2 Esquemas numéricos en OpenFOAM Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

(4)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Principales grupos de modelos Otros grupos de modelos

Modelos físicos en OpenFOAM

Principales grupos de modelos modelos básicos

flujos incompresibles flujos compresibles transferencia de calor flujos multifásicos flujos reactivos

(5)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Principales grupos de modelos Otros grupos de modelos

Modelos físicos en OpenFOAM (cont.)

Otros grupos de modelos transporte de partículas electromagnetismo dinámica molecular mecánica de sólidos otros

Referencias

http://www.openfoam.com/features

(6)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Principales grupos de modelos Otros grupos de modelos

Plan

1 Modelos físicos en OpenFOAM Principales grupos de modelos Otros grupos de modelos

2 Esquemas numéricos en OpenFOAM Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

(7)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Principales grupos de modelos Otros grupos de modelos

Modelos básicos

Modelos básicos en OpenFOAM Flujos potenciales

Ecuación de transporte

ArchivoscalarTransportFoam.C

solve ( fvm::ddt(T) + fvm::div(phi,T) -

(8)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Principales grupos de modelos Otros grupos de modelos

Flujos incompresibles

Modelos incompresibles en OpenFOAM flujos laminares

flujos turbulentos

Reynolds Averaged Navier-Stokes (RANS):

http://www.openfoam.com/features/RAS.php Large Eddy Simulation (LES):

http://www.openfoam.com/features/LES.php

Principales solvers

icoFoam: flujo transitorio laminar

pisoFoam: flujo transitorio laminar/turbulento

(9)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Principales grupos de modelos Otros grupos de modelos

Flujos incompresibles (cont.)

(10)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Principales grupos de modelos Otros grupos de modelos

Flujos compresibles

Modelos compresibles en OpenFOAM

flujos subsónicos laminares/turbulentos (RANS) flujos transónicos/supersónicos

Principales solvers

rhoSimpleFoam: flujo estacionario laminar/turbulento rhoPimpleFoam: flujo transitorio laminar/turbulento sonicFoam: flujo transitorio transónico/supersónico

(11)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Principales grupos de modelos Otros grupos de modelos

Flujos compresibles (cont.)

(12)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Principales grupos de modelos Otros grupos de modelos

Flujos con transferencia de calor

Modelos de flujos con transferencia de calor en OpenFOAM flujos incompresibles (hipótesis de Boussinesq)

flujos compresibles

Principales solvers

buoyantBoussinesqSimpleFoam

flujo estacionario laminar/turbulento incompresible buoyantBoussinesqPimpleFoam

flujo transitorio laminar/turbulento incompresible buoyantSimpleFoam

flujo estacionario laminar/turbulento compresible

(13)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Principales grupos de modelos Otros grupos de modelos

Flujos con transferencia de calor (cont.)

(14)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Principales grupos de modelos Otros grupos de modelos

Flujos multifásicos

Algunos modelos multifásicos en OpenFOAM flujos incompresibles de fluidos inmiscibles flujos compresibles de fluidos inmiscibles flujos bifásicos con fase dispersa

Principales solvers interFoam

flujo laminar/turbul. de dos fluidos incompresibles (VOF) compressibleInterFoam

flujo laminar/turbulento de dos fluidos compresibles (VOF)

(15)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Principales grupos de modelos Otros grupos de modelos

Flujos multifásicos

(16)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Principales grupos de modelos Otros grupos de modelos

Flujos multifásicos

(17)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Principales grupos de modelos Otros grupos de modelos

Flujos reactivos

Modelos reactivos en OpenFOAM flujos reactivos (genéricos) modelos de llamas premezcladas modelos de llamas de difusión combustión de sprays

Algunos solvers

reactingFoam: solver genérico para flujos reactivos fireFoam: solver para llamas de difusión (incl. fuentes lagrangianas, pirólisis, etc.)

(18)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Principales grupos de modelos Otros grupos de modelos

Flujos reactivos

(19)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Principales grupos de modelos Otros grupos de modelos

Plan

1 Modelos físicos en OpenFOAM Principales grupos de modelos Otros grupos de modelos

2 Esquemas numéricos en OpenFOAM Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

(20)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Principales grupos de modelos Otros grupos de modelos

Transporte de partículas

(21)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Principales grupos de modelos Otros grupos de modelos

Otras físicas

(22)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Principales grupos de modelos Otros grupos de modelos

Fuentes de información

OpenCFD

Tutoriales de OpenFOAM Código fuente de OpenFOAM

Comunidad de usuarios

http://openfoamwiki.net

Curso de CFD basado en OpenFOAM en:

http://www.tfd.chalmers.se/˜hani

(23)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Plan

1 Modelos físicos en OpenFOAM Principales grupos de modelos Otros grupos de modelos

2 Esquemas numéricos en OpenFOAM Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

(24)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Esquemas numéricos en OpenFOAM

Discretización numérica

discretización espacial y temporal discretización espacial

tratamiento de términos convectivos discretización temporal

algoritmos globales de resolución SIMPLE

PISO

resolución de sistemas lineales

(25)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Plan

1 Modelos físicos en OpenFOAM Principales grupos de modelos Otros grupos de modelos

2 Esquemas numéricos en OpenFOAM Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

(26)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Formulación de modelos

Ecuación de conservación genérica (forma diferencial)

∂t(ρΦ)

| {z } acumulación

+div(ρ~UΦ)

| {z } convección

div(ρΓΦ∇Φ)~

| {z } difusión

= S(Φ)

| {z } fuente

Formulación integral: balance sobre volumen de control V

d dt

Z

V

ρΦdV + Z

∂V

ρ~UΦ ·d~S− Z

∂V

ρΓΦ∇Φ ·~ d~S= Z

V

S(Φ)dV

(27)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Discretización mediante volúmenes finitos

Formulación de balance sobre celdaΩ

d dt

Z

ρΦdV + Z

Γ

ρ~UΦ ·d~S− Z

Γ

ρΓΦ∇Φ ·~ d~S= Z

S(Φ)dV

(28)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Discretización mediante volúmenes finitos

Aproximación mediante volúmenes finitos

A partir de aproximaciones deΦen P se debe obtener:

aproximación deR

F(Φ)dV aproximación deR

ΓG(Φ) ·~ d~S

(29)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolució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) Z

FdΩ ≃ Z

(FP+ (~∇F)P· (~x − ~xP))dΩ =FPVP

(30)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolució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) Z

Γ

G~ ·d~S≃ Z

Γ

(~Gf + (~∇~G)f(~x − ~xf)) ·dS~ = ~Gf · ~Sf

(31)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Aproximación de términos difusivos

Cálculo de flujo difusivo Z

Γ

ρΓΦ∇Φ ·~ d~S≃ (ρΓΦ)f(~∇Φ)f · ~Sf (~∇Φ)f · ~Sf ≃ |~SfN− ΦP

|~d|

(32)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Aproximación de términos difusivos

Cálculo de flujo difusivo (malla general) Z

Γ

ρΓΦ∇Φ ·~ d~S≃ (ρΓΦ)f(~∇Φ)f · ~Sf

(~∇Φ)f =fx(~∇Φ)P+ (1−fx)(~∇Φ)N con (~∇Φ)P ≃ 1 VP

X

f

ΦfS~f

(33)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Aproximación de términos difusivos

Implementación práctica

Esquema anterior produce stencil grande

(matrices menos huecas y mayor consumo de memoria) En práctica se introducen correcciones

(~∇Φ)f · ~Sf = ~∆ · (~∇Φ)f

| {z }

+ ~k· (~∇Φ)f

| {z }

(34)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Aproximación de términos fuente

Cálculo de términos fuente términos lineales:

Z

S(Φ)dV ≃ (S(Φ))PVP =SpΦPVP términos no lineales (linealización):

Z

S(Φ)dV ≃ (S(Φ))PVPS0PVP+S1PΦPVP

(35)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Aproximación de términos convectivos

Un ejemplo elemental

Problema estacionario unidimensional sin fuentes d

dx(ρUΦ) − d dx(ρΓΦ

dΦ dx ) =0 Φ(0) = Φ0 Φ(L) =0

Forma adimensional (ρ, U yΓΦ constantes) dΦˆ

dxˆ − 1 Pe

d2Φˆ dxˆ2 =0 Φ(0) =ˆ 1 Φ(1) =ˆ 0

(36)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Aproximación de términos convectivos

Un ejemplo elemental

Solución analítica de problema modelo

Φ(x) =ˆ exp(Pe x) −exp(Pe) 1−exp(Pe)

(37)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Aproximación de términos convectivos

Un ejemplo elemental

Formulación de balances sobre celda i–ésima

Z xi+1/2

xi

1/2

dΦˆ dxˆdxˆ−

Z xi+1/2

xi

1/2

1 Pe

d dxˆ(dΦˆ

dxˆ)dxˆ=0

(38)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Aproximación de términos convectivos

Un ejemplo elemental

Tratamiento de términos difusivos

Z xi+1/2

xi1/2

1 Pe

d dxˆ(dΦˆ

dˆx)dxˆ= 1 Pe(dΦˆ

dˆx|xi+1/2dΦˆ

dxˆ|xi

1/2)

≃ 1

(Φˆi+1− ˆΦi

−Φˆi− ˆΦi1

) = 1 Φˆi+1−2Φˆi+ ˆΦi1

(39)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Aproximación de términos convectivos

Un ejemplo elemental

Aproximación de términos convectivos

Z xi+1/2

xi

1/2

dΦˆ

dˆxdxˆ= ˆΦ|xi+1/2− ˆΦ|xi

1/2

≃ Φˆi+1+ ˆΦi

−Φˆi+ ˆΦi1

= Φˆi+1− ˆΦi1

(40)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Aproximación de términos convectivos

Un ejemplo elemental

Balance en primera celda (condición de contorno en x1/2) Contribución de término difusivo

− Z x3/2

x1/2

1 Pe

d dxˆ(dΦˆ

dˆx)dxˆ= 1 Pe(dΦˆ

dxˆ|x3/2dΦˆ dˆx|x1/2)

(41)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Aproximación de términos convectivos

Un ejemplo elemental

Balance en primera celda (condición de contorno en x1/2) Contribución de término convectivo

Z x3/2

x

dΦˆ

dxˆdxˆ= ˆΦ|x3/2− ˆΦ|x1/2 ≃ Φˆ1+ ˆΦ2 2 − ˆΦcc

(42)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Aproximación de términos convectivos

Un ejemplo elemental

(43)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Aproximación de términos convectivos

Un ejemplo elemental

Una aproximación estable de términos convectivos

Z xi+1/2 dΦˆ

dxˆ= ˆΦ|x − ˆΦ|x ≃ ˆΦi− ˆΦ|i1

(44)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Aproximación de términos convectivos

Un ejemplo elemental

(45)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Aproximación de flujos convectivos

Contribución de flujos convectivos

d dt

Z

ρΦdV + Z

Γ

ρ~UΦ ·d~S

| {z }

− Z

Γ

ρΓΦ∇Φ ·~ d~S= Z

S(Φ)dV

(46)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Aproximación de flujos convectivos

Esquemas básicos

aproximación centrada (central differencing) Φf = (Φf)CD =fxΦP+ (1−fxN

aproximación descentrada (upwind differencing) Φf = (Φf)UD = ΦP

(47)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Aproximación de flujos convectivos

Otras aproximaciones de flujos convectivos descentrado de orden superior:

linear upwinding QUICK

esquemas TVD y limitadores de flujo:

van Leer SUPERBEE MINMOD MUSCL

(48)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Control de discretización espacial en OpenFOAM

Tipos de esquemas de discretización espacial

Interpolació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

(49)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Control de discretización espacial

Esquemas de interpolación sobre aristas/cara

(50)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Control de discretización espacial

Términos convectivos: divSchemes

Discretización de términos de formadiv(ρ~UU)~ mediante:

div(phi,U) Gauss InterpScheme dondephicorresponde aφ = ρ~~ U Esquemas (usuales) de interpolación:

(51)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Control de discretización espacial

Términos difusivos: laplacianSchemes

Discretización de términos de formadiv(ν ~∇U)mediante:

laplacian(nu,U) Gauss InterpScheme SnScheme Esquema de interpolación según lista general

Esquemas de aproximación de normales:

Ejemplo:

(52)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Control de discretización espacial

Términos en gradiente: gradSchemes

Más información

OpenFOAM User’s Guide

OpenFOAM Programmer’s Guide

OpenFOAM wiki en: http://openfoamwiki.net

(53)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Integración temporal

Formulación de balance sobre celdaΩ

d dt

Z

ρΦdV + Z

Γ

ρ~UΦ ·d~S− Z

Γ

ρΓΦ∇Φ ·~ d~S= Z

S(Φ)dV

(54)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Integración temporal

Formulación semidiscretizada en espacio

ρPVPP dt +X

f

FΦf −X

f

(ρΓ)f~S· (~∇Φ)f =S0VP+S1VPΦP

Esquemas de discretización temporal Euler implícito

Esquema BDF de orden 2 Crank-Nicolson

(55)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Integración temporal

Método de Euler implícito

ρPVPΦnP− Φ0P

∆t +X

f

FΦnf −X

f

(ρΓ)fS~· (~∇Φ)nf =S0VP+S1VPΦnP

Estabilidad del esquema

incondicionalmente estable

sobreamortiguamiento si CFL mucho mayor que 1

(56)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Integración temporal

Método BDF de orden 2

ρPVP3/2ΦnP −2Φ0P+1/2Φ00P

∆t +X

f

FΦnf −X

f

(ρΓ)f~S· (~∇Φ)nf =S0VP+S1VPΦnP

Método de Crank–Nicolson ρPVPΦnP− ΦnP

∆t + 1 2

X

f

FΦnf −1 2

X

f

(ρΓ)f~S· (~∇Φ)nf

(57)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Integración temporal

Implementación en OpenFOAM

términos implícitos (ensamblado de matriz):

fvm: finiteVolumeMethod

términos explícitos (ensamblado de vector):

fvc: finiteVolumeCalculus

Ecuación del calor enlaplacianFoam Integración con esquema implícito de

∂T

∂t − div(DT∇T~ ) =0

(58)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Plan

1 Modelos físicos en OpenFOAM Principales grupos de modelos Otros grupos de modelos

2 Esquemas numéricos en OpenFOAM Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

(59)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Dificultades en tratamiento de presión

Ecuaciones de Stokes

−µ∆~v + ~∇p=0 div~v =0

Formulación sobre celda (2D)

−X

f

Z

Γ

µ∂u

∂n dS+X

f

Z

Γ

pnx dS =0

−X

f

Z

Γ

µ∂v

∂n dS+X

f

Z

Γ

pny dS =0

(60)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Dificultades en tratamiento de presión

Discretización de ecuación de Stokes

−µ(uE+uW +uN+uS4uP) +h(pEpW) =0

−µ(vE+vW +vN+vS4vP) +h(pNpS) =0 vNvS+uEuW =0

(61)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolució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

(62)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Dificultades en tratamiento de presión

−µ(uE+uW +uN+uS4uP) +h(pEpW) =0

−µ(vE+vW +vN+vS4vP) +h(pNpS) =0

(63)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Dificultades en tratamiento de presión

Alternativas de esquemas numéricos estables uso 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

(64)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Algoritmo SIMPLE

Semi–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ón se calcula una predicción de la velocidad

(65)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolució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

+ div(~un⊗ ~u) − div(ν ~∇~u) + ~∇pn= ~0

(66)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolució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

(67)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Algoritmo SIMPLE

Resolución de Etapa de corrección

Se 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 pse calcula corrección de velocidad~u:

∂~u

+ ~∇p = ~0

(68)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolució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ón El algoritmo itera en (pseudo–) tiempo hasta convergencia:

justifica no considerar términos despreciados

En cálculo de presión se itera para retener correcciones no–ortogonales (evita aumento de banda de matriz) Se emplea relajación para mejorar la convergencia

(69)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Algoritmo PISO

Pressure Implicit with Splitting of Operators

Adaptación de SIMPLE para problemas evolutivos

términos despreciados (en cálculo de predicción~u) no se cancelan en transitorio

términos truncados se incluyen en la corrección es preciso iterar en cálculo de correcciones

Esquema del algoritmo PISO

En 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 t :

(70)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Implementación de PISO en OpenFOAM

Estructura de solvericoFoam

while (runTime.loop()) # bucle temporal fvVectorMatrix UEqn ( fvm::ddt(U)

+fvm::div(phi,U)-fvm::laplacian(nu,U));

solve(UEqn == -fvc::grad(p)); # prediccion

# inicio bucle PISO:

for (int corr=0; corr<nCorr; corr++) adjustPhi(phi, U, p);

# inicio bucle calculo presion:

for (int nonOrth=0; nonOrth<=...

fvScalarMatrix pEqn (

fvm::laplacian(rAU, p)

(71)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Plan

1 Modelos físicos en OpenFOAM Principales grupos de modelos Otros grupos de modelos

2 Esquemas numéricos en OpenFOAM Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

(72)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Métodos (iterativos) de resolución métodos de Krylov:

método de gradiente conjugado método de gradiente biconjugado métodos multimalla:

métodos multimalla geométricos métodos multimalla algebraicos

Referencias

http://www.openfoam.com/features OpenFOAM User Guide (sección 4.5)

(73)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Métodos de Krylov

Métodos disponibles

para matrices simétricas y definidas positivas:

mét. de gradiente conjugado (precondicionado):PCG para matrices generales:

mét. de gradiente biconjugado (precondicionado):PBiCG

Precondicionadores

factorizaciones incompletas: Cholesky (DIC) y LU (DILU) precondicionador diagonal (Jacobi): diagonal

métodos multimalla (geométrico/algebraico):

(74)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Métodos multimalla

Métodos multimalla geométricos/algebraicos

usuario no necesita proporcionar jerarquía de mallas malla grosera construida a partir de directrices en:

nCoarsestCells,agglomerator control de suavizadores mediante:

smoother

nPreSwepng,nPostSwepng,nFinestSwepng control de niveles de multimalla con:

mergeLevels

(75)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Un ejemplo: uso de icoFoam

SolvericoFoam

Transient solver for incompressible, laminar flow of Newtonian fluids

discretización basada en PISO

usado en Lid–driven cavity flow (tutorial en User’s Guide)

Código fuente deicoFoam

Para versión 1.7.1 instalada en/opt:

/opt/openfoam171/applications/solvers/...

incompressible/icoFoam/icoFoam.C

(76)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Un ejemplo: uso de icoFoam

Opciones en archivofvSolution

(77)

Modelos físicos en OpenFOAM Esquemas numéricos en OpenFOAM

Discretización espacial y temporal Algoritmos numéricos de resolución Resolución de sistemas lineales

Un ejemplo: uso de icoFoam

Opciones en archivofvSchemes

Referencias

Documento similar

a) El Problema de M´ınimos Cuadrados Lineal (PMCL) consiste en hallar el vector de coeficientes x de un modelo lineal y = Ax, que minimiza la distancia Eu- clideana entre dicho modelo

Análisis de circuitos lineales en régimen transitorio por métodos numéricos 3.1 Equivalentes Thévenin y Norton de bobinas y condensadores 3.2 Equivalentes Thévenin y Norton de

Desarrollar procesos de matematización en contextos de la realidad cotidiana (numéricos, geométricos, funcionales, estadísticos o probabilísticos) a partir de la

-Los aspectos analíticos, numéricos y gráficos de las ecuaciones diferenciales ordinarias de primer orden y de orden superior, y de los sistemas de ecuaciones lineales , así como de

-Los aspectos analíticos, numéricos y gráficos de las ecuaciones diferenciales ordinarias de primer orden y de orden superior, y de los sistemas de ecuaciones lineales , así como de

-Los aspectos analíticos, numéricos y gráficos de las ecuaciones diferenciales ordinarias de primer orden y de orden superior, y de los sistemas de ecuaciones lineales , así como de

En estas modificaciones se busca aumentar el orden, mejorar la rapidez de convergencia (m´ etodos aceleradores de la convergencia), tratar de eliminar el uso de derivadas, aplicar el

También se presentan métodos numéricos para resolver de manera aproximada problemas de valor inicial y/o de contorno para dichas ecuaciones.. Contexto