Articulo de referencia

Método MacCormack

En dinámica de fluidos computacional , el método de MacCormack (/məˈkɔːrmæk ˈmɛθəd/) es un esquema de discretización ampliamente utilizado para la solución numérica de ecuacione...

En dinámica de fluidos computacional , el método de MacCormack (/məˈkɔːrmæk ˈmɛθəd/) es un esquema de discretización ampliamente utilizado para la solución numérica de ecuaciones diferenciales parciales hiperbólicas . Este método de diferencias finitas de segundo orden fue introducido por Robert W. MacCormack en 1969. [ 1 ] El método de MacCormack es elegante y fácil de entender y programar. [ 2 ]

El algoritmo

El método de MacCormack está diseñado para resolver ecuaciones diferenciales parciales hiperbólicas de la forma

t+F()incógnita=0{\displaystyle {\frac {\partial u}{\partial t}}+{\frac {\partial f(u)}{\partial x}}=0}

Para actualizar esta ecuación un paso de tiempoΔt{\displaystyle \Delta t}en una cuadrícula con espaciadoΔincógnita{\displaystyle \Delta x}en la celda de la cuadrículai{\displaystyle i}, el método MacCormack utiliza un "paso predictivo" y un "paso corrector", que se muestran a continuación [ 3 ].

ipag=inorteΔtΔincógnita(Fi+1norteFinorte)inorte+1=12(inorte+ipag)Δt2Δincógnita(FipagFi1pag){\displaystyle {\begin{aligned}&u_{i}^{p}=u_{i}^{n}-{\frac {\Delta t}{\Delta x}}\left(f_{i+1}^{n}-f_{i}^{n}\right)\\&u_{i}^{n+1}={\frac {1}{2}}(u_{i}^{n}+u_{i}^{p})-{\frac {\Delta t}{2\Delta x}}(f_{i}^{p}-f_{i-1}^{p})\end{aligned}}}

Ejemplo lineal

Para ilustrar el algoritmo, consideremos la siguiente ecuación hiperbólica de primer orden.

t+aincógnita=0.{\displaystyle \qquad {\frac {\partial u}{\partial t}}+a{\frac {\partial u}{\partial x}}=0.}

La aplicación del método de MacCormack a la ecuación anterior se realiza en dos pasos: un paso predictivo seguido de un paso corrector .

Paso predictivo: En el paso predictivo, un valor "provisional" de{\displaystyle u}a nivel de tiemponorte+1{\displaystyle n+1}(denotado poripag{\displaystyle u_{i}^{p}}) se estima de la siguiente manera

ipag=inorteaΔtΔincógnita(i+1norteinorte){\displaystyle u_{i}^{p}=u_{i}^{n}-a{\frac {\Delta t}{\Delta x}}\left(u_{i+1}^{n}-u_{i}^{n}\right)}

La ecuación anterior se obtiene reemplazando las derivadas espaciales y temporales en la ecuación hiperbólica de primer orden anterior utilizando diferencias finitas hacia adelante .

Paso corrector: En el paso corrector, el valor predichoipag{\displaystyle u_{i}^{p}}se corrige según la ecuación

inorte+1=inorte+1/2aΔt2Δincógnita(ipagi1pag){\displaystyle u_{i}^{n+1}=u_{i}^{n+1/2}-a{\frac {\Delta t}{2\Delta x}}\left(u_{i}^{p}-u_{i-1}^{p}\right)}

Nótese que el paso corrector utiliza aproximaciones de diferencias finitas hacia atrás para la derivada espacial. El paso de tiempo utilizado en el paso corrector esΔt/2{\displaystyle \Delta t/2}en contraste con elΔt{\displaystyle \Delta t}utilizado en el paso predictivo.

Reemplazar elinorte+1/2{\displaystyle u_{i}^{n+1/2}}término por el promedio temporal

inorte+1/2=inorte+ipag2{\displaystyle u_{i}^{n+1/2}={\frac {u_{i}^{n}+u_{i}^{p}}{2}}}

para obtener el paso corrector como

inorte+1=inorte+ipag2aΔt2Δincógnita(ipagi1pag){\displaystyle u_{i}^{n+1}={\frac {u_{i}^{n}+u_{i}^{p}}{2}}-a{\frac {\Delta t}{2\Delta x}}\left(u_{i}^{p}-u_{i-1}^{p}\right)}

Algunos comentarios

El método de MacCormack es muy adecuado para ecuaciones no lineales ( ecuación de Burgers sin viscosidad , ecuaciones de Euler , etc.). El orden de las diferencias se puede invertir para el paso de tiempo (es decir, hacia adelante/hacia atrás seguido de hacia atrás/hacia adelante). Para ecuaciones no lineales, este procedimiento proporciona los mejores resultados. Para ecuaciones lineales, el esquema de MacCormack es equivalente al método de Lax-Wendroff . [ 4 ]

A diferencia del esquema de diferencias finitas de primer orden con discretización ascendente , el método de MacCormack no introduce errores difusivos en la solución. Sin embargo, se sabe que introduce errores dispersivos ( fenómeno de Gibbs ) en la región donde el gradiente es alto.

Véase también

Referencias

  1. MacCormack, RW, El efecto de la viscosidad en la formación de cráteres por impacto a hipervelocidad , AIAA Paper, 69-354 (1969).
  2. Anderson, JD, Jr. , Dinámica de fluidos computacional: los fundamentos con aplicaciones, McGraw Hill (1994).
  3. Cameron, Maria (2011). "Notas sobre la ecuación de Burger" (PDF) . Universidad de Maryland .
  4. Tannehill, JC, Anderson, DA y Pletcher, RH, Mecánica de fluidos computacional y transferencia de calor, 2.ª ed., Taylor & Francis (1997).