{"id":538,"date":"2026-07-22T08:18:03","date_gmt":"2026-07-22T08:18:03","guid":{"rendered":"https:\/\/matforge.org\/?p=538","raw":"https:\/\/matforge.org\/?p=538"},"modified":"2026-07-22T08:18:03","modified_gmt":"2026-07-22T08:18:03","slug":"advection-dominated-problems-supg-stabilization","status":"publish","type":"post","link":"https:\/\/matforge.org\/es\/advection-dominated-problems-supg-stabilization\/","title":{"rendered":"Problemas dominados por la advecci\u00f3n: esquemas contra el viento y estabilizaci\u00f3n de SUPG","raw":"Problemas dominados por la advecci\u00f3n: esquemas contra el viento y estabilizaci\u00f3n de SUPG"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\"> 14<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span><article>\n<p>Las ecuaciones diferenciales parciales dominadas por la advecci\u00f3n son dif\u00edciles porque la informaci\u00f3n se mueve principalmente a lo largo de una direcci\u00f3n de flujo, mientras que la difusi\u00f3n f\u00edsica proporciona un poco de suavizado. Un m\u00e9todo num\u00e9rico que funciona bien para un problema dominado por la difusi\u00f3n puede producir oscilaciones, manchas excesivas o valores no f\u00edsicos cuando la advecci\u00f3n se vuelve m\u00e1s fuerte.<\/p>\n<p>La respuesta correcta no es simplemente seleccionar el esquema m\u00e1s difusivo disponible. La difusi\u00f3n num\u00e9rica excesiva puede ocultar frentes afilados, debilitar los picos de concentraci\u00f3n y alterar las tasas de transporte. Una discretizaci\u00f3n \u00fatil debe equilibrar la estabilidad, la delimitaci\u00f3n, la conservaci\u00f3n y la resoluci\u00f3n.<\/p>\n<p>El n\u00famero de peclet de celda ayuda a describir este equilibrio. La diferenciaci\u00f3n central puede funcionar cuando la malla resuelve la difusi\u00f3n f\u00edsica. El primer orden contra el viento proporciona robustez pero mancha la soluci\u00f3n. Los esquemas limitados de orden superior reducen la mancha al controlar las oscilaciones. En los m\u00e9todos de elementos finitos, SUPG agrega una estabilizaci\u00f3n constante principalmente a lo largo de l\u00edneas de corriente.<\/p>\n<h2>La ecuaci\u00f3n de advecci\u00f3n-difusi\u00f3n<\/h2>\n<p>Un modelo de transporte escalar com\u00fan es:<\/p>\n<pre><code>\u2202\u03c6\/\u2202t + \u2207 \u00b7 (v\u03c6) = \u2207 \u00b7 (\u03b1\u2207\u03c6) + S<\/code><\/pre>\n<p>Para un campo de velocidad incompresible, esto se escribe a menudo como:<\/p>\n<pre><code>\u2202\u03c6\/\u2202t + v \u00b7 \u2207\u03c6 = \u03b1\u2207\u00b2\u03c6 + S<\/code><\/pre>\n<p>aqu\u00ed:<\/p>\n<ul>\n<li><code>\u03c6<\/code> es el escalar transportado, como la temperatura o la concentraci\u00f3n.<\/li>\n<li><code>v<\/code> es el campo de velocidad.<\/li>\n<li><code>\u03b1<\/code> es la difusividad f\u00edsica.<\/li>\n<li><code>S<\/code> es una fuente o sumidero.<\/li>\n<\/ul>\n<p>La difusi\u00f3n difunde informaci\u00f3n en todas las direcciones y suaviza los gradientes. La advecci\u00f3n transporta informaci\u00f3n principalmente a lo largo de las caracter\u00edsticas determinadas por el campo de velocidad. Cuando la difusi\u00f3n es d\u00e9bil, el m\u00e9todo num\u00e9rico debe respetar este transporte direccional.<\/p>\n<h2>El n\u00famero de peclet celular<\/h2>\n<p>El n\u00famero de peclet celular compara la advecci\u00f3n y la difusi\u00f3n a la escala de una celda de malla. Una convenci\u00f3n ampliamente utilizada es:<\/p>\n<pre><code>Pe\u2095 = |v|h \/ \u03b1<\/code><\/pre>\n<p>Para una ecuaci\u00f3n de difusi\u00f3n y convecci\u00f3n constante unidimensional en una cuadr\u00edcula uniforme, los coeficientes de volumen finitos centrales cl\u00e1sicos siguen siendo no negativos cuando:<\/p>\n<pre><code>|Pe\u2095| \u2264 2<\/code><\/pre>\n<p>Algunas referencias definen el n\u00famero de peclet de celda con un factor adicional de dos:<\/p>\n<pre><code>Pe* = |v|h \/ (2\u03b1)<\/code><\/pre>\n<p>Seg\u00fan esa convenci\u00f3n, la condici\u00f3n equivalente es:<\/p>\n<pre><code>|Pe*| \u2264 1<\/code><\/pre>\n<p>Por lo tanto, la Convenci\u00f3n debe establecerse antes de citar un umbral. Escribir <code>|v|h\/(2\u03b1)<\/code> y compararlo con 2 mezclar\u00eda dos definiciones diferentes.<\/p>\n<p>Para una malla de volumen finito multidimensional, un valor facial local m\u00e1s \u00fatil es:<\/p>\n<pre><code>Pe_f =\n    |v_f \u00b7 n_f| d_PA\n    \/ \u03b1_f<\/code><\/pre>\n<p>El valor depende de la velocidad normal a trav\u00e9s de una cara, la distancia entre los centros celulares vecinos y la difusividad local. Puede variar en todo el dominio cuando las propiedades de malla, velocidad o material no son uniformes.<\/p>\n<h2>Lo que realmente significa el criterio de Peclet<\/h2>\n<p>El umbral citado a menudo cerca de dos se aplica a una discretizaci\u00f3n de difusi\u00f3n de convecci\u00f3n unidimensional constante particular. Es un criterio de acotaci\u00f3n para los coeficientes algebraicos producidos por la diferenciaci\u00f3n central.<\/p>\n<p>No significa que cada esquema central para cada problema transitorio se vuelva inmediatamente inestable en el mismo n\u00famero. Las discretizaciones espaciales y temporales deben analizarse juntas.<\/p>\n<p>A menudo se confunden dos problemas diferentes:<\/p>\n<ol>\n<li>En una ecuaci\u00f3n de volumen finito de convecci\u00f3n-difusi\u00f3n constante, la diferenciaci\u00f3n central puede perder la positividad del coeficiente cuando el n\u00famero de peclet celular es demasiado grande. La soluci\u00f3n puede entonces desarrollar sobreimpulsos y subdivisiones.<\/li>\n<li>Para la advecci\u00f3n transitoria pura, hacia adelante Euler en el tiempo combinado con el espacio centrado, conocido como FTC, es inestable para cualquier n\u00famero de Courant distinto de cero.<\/li>\n<\/ol>\n<p>Ambos problemas pueden producir oscilaciones, pero sus causas matem\u00e1ticas no son id\u00e9nticas.<\/p>\n<h2>Por qu\u00e9 la diferenciaci\u00f3n central puede oscilar<\/h2>\n<p>La diferenciaci\u00f3n central estima un valor nominal sim\u00e9tricamente:<\/p>\n<pre><code>\u03c6_f \u2248 (\u03c6_P + \u03c6_A) \/ 2<\/code><\/pre>\n<p>En una cuadr\u00edcula uniforme, esto produce una aproximaci\u00f3n de segundo orden para soluciones suaves. Tambi\u00e9n introduce muy poca disipaci\u00f3n num\u00e9rica.<\/p>\n<p>Esa baja disipaci\u00f3n es \u00fatil cuando la soluci\u00f3n f\u00edsica es suave y bien resuelta. Se convierte en un problema cerca de capas empinadas o cuando la difusi\u00f3n f\u00edsica es demasiado d\u00e9bil para controlar los modos de escala de cuadr\u00edcula.<\/p>\n<p>En la ecuaci\u00f3n de volumen finito unidimensional constante, el aumento del n\u00famero de peclet de celda reduce un coeficiente vecino. Una vez que ese coeficiente cambia de signo, se puede perder el principio m\u00e1ximo discreto. La soluci\u00f3n puede exceder los valores de los l\u00edmites o volverse negativa incluso cuando la soluci\u00f3n f\u00edsica permanece limitada.<\/p>\n<p>Para la advecci\u00f3n pura transitoria, una derivada espacial centrada es principalmente dispersiva. Su idoneidad depende del integrador de tiempo. Emparejarlo con Forward Euler produce un m\u00e9todo inestable, mientras que otros integradores de tiempo pueden controlar el crecimiento pero a\u00fan as\u00ed introducir errores de fase u oscilaciones cerca de gradientes no resueltos.<\/p>\n<h2>Diferenciaci\u00f3n contra el viento de primer orden<\/h2>\n<p>La diferenciaci\u00f3n contra el viento utiliza la informaci\u00f3n de la direcci\u00f3n en la que se origina el flujo. Para una velocidad unidimensional positiva:<\/p>\n<pre><code>(\u2202\u03c6\/\u2202x)\u1d62\n\u2248 (\u03c6\u1d62 - \u03c6\u1d62\u208b\u2081) \/ h<\/code><\/pre>\n<p>Para una velocidad negativa, utiliza el valor de la derecha:<\/p>\n<pre><code>(\u2202\u03c6\/\u2202x)\u1d62\n\u2248 (\u03c6\u1d62\u208a\u2081 - \u03c6\u1d62) \/ h<\/code><\/pre>\n<p>Esta plantilla consciente de la direcci\u00f3n suprime muchas de las oscilaciones producidas por una aproximaci\u00f3n centrada. Para la difusi\u00f3n de convecci\u00f3n lineal constante, tambi\u00e9n produce coeficientes vecinos positivos en un rango mucho m\u00e1s amplio de n\u00fameros de peclet celular.<\/p>\n<p>La discretizaci\u00f3n espacial contra el viento no debe describirse como incondicionalmente estable sin calificaci\u00f3n. Si se combina con un integrador de tiempo expl\u00edcito, el m\u00e9todo completo a\u00fan tiene una restricci\u00f3n de Courant.<\/p>\n<h2>contra el viento como diferenciaci\u00f3n central m\u00e1s difusi\u00f3n<\/h2>\n<p>Para una velocidad constante positiva, la derivada contra el viento de primer orden se puede escribir exactamente como:<\/p>\n<pre><code>(\u03c6\u1d62 - \u03c6\u1d62\u208b\u2081) \/ h\n=\n(\u03c6\u1d62\u208a\u2081 - \u03c6\u1d62\u208b\u2081) \/ (2h)\n-\n(\u03c6\u1d62\u208a\u2081 - 2\u03c6\u1d62 + \u03c6\u1d62\u208b\u2081) \/ (2h)<\/code><\/pre>\n<p>La expresi\u00f3n de la segunda diferencia se aproxima a <code>h\u03c6\u2093\u2093<\/code>. La sustituci\u00f3n del operador de contraataque en la ecuaci\u00f3n de advecci\u00f3n da la ecuaci\u00f3n modificada:<\/p>\n<pre><code>\u2202\u03c6\/\u2202t + v\u2202\u03c6\/\u2202x\n=\n(|v|h \/ 2) \u2202\u00b2\u03c6\/\u2202x\u00b2\n+ higher-order terms<\/code><\/pre>\n<p>El principal coeficiente de difusi\u00f3n num\u00e9rica de la semidiscretizaci\u00f3n espacial es, por lo tanto:<\/p>\n<pre><code>\u03b1_num = |v|h \/ 2<\/code><\/pre>\n<p>Esto explica tanto la estabilidad como la mancha asociada con el viento de primer orden. Agrega un t\u00e9rmino de truncamiento similar a la difusi\u00f3n que suprime las ondas cortas y los gradientes agudos.<\/p>\n<p>La f\u00f3rmula describe el error principal del operador espacial. Una vez que se agrega una discretizaci\u00f3n de tiempo, la ecuaci\u00f3n modificada completa puede contener t\u00e9rminos adicionales que dependen del n\u00famero de Courant y del tama\u00f1o del paso de tiempo.<\/p>\n<h2>Reducci\u00f3n de la difusi\u00f3n num\u00e9rica<\/h2>\n<p>Debido a que las escalas de difusi\u00f3n en contra del viento con espaciamiento de malla, la refinaci\u00f3n de la malla reduce la mancha. Reduciendo solo el paso de tiempo no elimina el error espacial principal.<\/p>\n<p>Otras opciones incluyen:<\/p>\n<ul>\n<li>Uso de una reconstrucci\u00f3n de segundo orden<\/li>\n<li>Aplicar un limitador de flujo<\/li>\n<li>Uso r\u00e1pido en mallas estructuradas adecuadas<\/li>\n<li>Aplicaci\u00f3n de los m\u00e9todos TVD o WNO<\/li>\n<li>Uso de SUPG en una formulaci\u00f3n de elementos finitos<\/li>\n<li>Alinear y refinar la malla cerca de capas importantes<\/li>\n<\/ul>\n<p>Aumentar la difusividad f\u00edsica no es una soluci\u00f3n num\u00e9rica. Cambia el modelo y solo debe hacerse cuando el problema f\u00edsico requiere un coeficiente diferente.<\/p>\n<h2>Difusi\u00f3n y dispersi\u00f3n num\u00e9rica<\/h2>\n<p>La difusi\u00f3n num\u00e9rica reduce la amplitud de las ondas resueltas. Difunde discontinuidades y suaviza picos estrechos.<\/p>\n<p>La dispersi\u00f3n num\u00e9rica cambia la velocidad de propagaci\u00f3n de diferentes longitudes de onda. Puede producir oscilaciones de avance o de final incluso cuando la amplitud total no est\u00e1 fuertemente amortiguada.<\/p>\n<p>El contraviento de primer orden es principalmente disipativo. Muchos esquemas centrados y de orden superior son menos disipativos pero m\u00e1s dispersivos. Un buen m\u00e9todo de transporte debe controlar ambos efectos.<\/p>\n<p>El equilibrio correcto depende de la aplicaci\u00f3n. Una peque\u00f1a cantidad limitada de disipaci\u00f3n puede ser aceptable en un c\u00e1lculo de ingenier\u00eda s\u00f3lido. En la propagaci\u00f3n de las ondas, la amortiguaci\u00f3n excesiva puede destruir la cantidad que se est\u00e1 midiendo. En el transporte reactivo, los bajos oscilatorios pueden crear concentraciones negativas y romper el modelo de reacci\u00f3n.<\/p>\n<h2>Esquemas lineales de orden superior<\/h2>\n<table class=\"custom-table\">\n<tbody>\n<tr>\n<th>Esquema<\/th>\n<th>orden nominal<\/th>\n<th>Fuerza principal<\/th>\n<th>riesgo principal<\/th>\n<\/tr>\n<tr>\n<td>diferencia central<\/td>\n<td>Segundo orden en rejillas uniformes suaves<\/td>\n<td>Baja difusi\u00f3n num\u00e9rica<\/td>\n<td>P\u00e9rdida de delimitaci\u00f3n o oscilaciones dispersivas<\/td>\n<\/tr>\n<tr>\n<td>contra el viento<\/td>\n<td>primer orden<\/td>\n<td>Robusto y consciente de la direcci\u00f3n<\/td>\n<td>Fuerte difusi\u00f3n num\u00e9rica<\/td>\n<\/tr>\n<tr>\n<td>Lineal contra el viento<\/td>\n<td>Segundo orden en rejillas lisas<\/td>\n<td>Menos difusi\u00f3n que contra el viento de primer orden<\/td>\n<td>No se limita autom\u00e1ticamente cerca de gradientes n\u00edtidos<\/td>\n<\/tr>\n<tr>\n<td>R\u00e1pido<\/td>\n<td>Interpolaci\u00f3n de cara de tercer orden en una cuadr\u00edcula uniforme<\/td>\n<td>Buena precisi\u00f3n para una convecci\u00f3n suave<\/td>\n<td>Puede sobrepasar y perder el orden cerca de los l\u00edmites o las cuadr\u00edculas irregulares<\/td>\n<\/tr>\n<tr>\n<td>LAX-Wendroff<\/td>\n<td>Segundo orden en espacio y tiempo para la advecci\u00f3n lineal<\/td>\n<td>Baja disipaci\u00f3n para ondas resueltas<\/td>\n<td>Oscilaciones dispersivas cerca de discontinuidades<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>El orden nominal se aplica en regiones suaves bajo los supuestos utilizados para derivar el esquema. Los l\u00edmites, los limitadores, la no ortogonalidad de la malla, las discontinuidades y los coeficientes variables pueden reducir la tasa de convergencia observada.<\/p>\n<h2>Limitadores de flujo y esquemas de TVD<\/h2>\n<p>Un limitador de flujo combina un fundente robusto de bajo orden con una correcci\u00f3n de orden superior menos difusiva. En regiones suaves, el limitador permite la aproximaci\u00f3n de orden superior. Cerca de gradientes afilados, reduce la correcci\u00f3n para evitar nuevos m\u00e1ximos o m\u00ednimos.<\/p>\n<p>Se puede escribir un valor de rostro combinado simplificado como:<\/p>\n<pre><code>\u03c6_f =\n\u03c6_f(upwind)\n+\n\u03c8(r) [\n    \u03c6_f(high-order)\n    - \u03c6_f(upwind)\n]<\/code><\/pre>\n<p>La funci\u00f3n de limitador <code>\u03c8(r)<\/code> depende de los gradientes vecinos. Los ejemplos comunes incluyen Minmod, Van Leer, SuperBee y Limitadores centrales monotonizados.<\/p>\n<p>Los m\u00e9todos de disminuci\u00f3n de la variaci\u00f3n total est\u00e1n dise\u00f1ados para evitar aumentar la variaci\u00f3n total de una soluci\u00f3n unidimensional. Ofrecen un compromiso \u00fatil entre la robustez del primer orden de primer orden y la resoluci\u00f3n de un esquema de orden superior.<\/p>\n<p>Cerca de una discontinuidad real, un limitador no lineal normalmente reduce el orden local. Esto es de esperar: mantener la monotonicidad y el alto orden lineal en una discontinuidad son objetivos en conflicto.<\/p>\n<h2>M\u00e9todos<\/h2>\n<p>Los m\u00e9todos esencialmente no oscilatorios ponderados utilizan varias plantillas candidatas. Los indicadores de suavidad asignan un peso m\u00e1s bajo a las plantillas que cruzan una discontinuidad.<\/p>\n<p>Los m\u00e9todos WENO pueden proporcionar una precisi\u00f3n de alto orden en regiones suaves al tiempo que evitan las oscilaciones m\u00e1s fuertes de un esquema lineal de orden superior fijo. Son ampliamente utilizados para el flujo compresible, las leyes de conservaci\u00f3n y los problemas con los choques en movimiento.<\/p>\n<p>Sus desventajas incluyen un mayor costo computacional, dependencias de datos m\u00e1s amplias, tratamiento de l\u00edmites m\u00e1s complejo y varias opciones de implementaci\u00f3n que afectan la disipaci\u00f3n.<\/p>\n<h2>Estabilizaci\u00f3n de supg<\/h2>\n<p>La estabilizaci\u00f3n aerodin\u00e1mica hacia arriba del viento\/petrov-galerkin es principalmente una t\u00e9cnica de elementos finitos. Modifica el espacio de prueba para que la forma d\u00e9bil reciba una contribuci\u00f3n basada en residuos alineada con el flujo.<\/p>\n<p>Para un operador con fuerte residuo:<\/p>\n<pre><code>R(\u03c6) =\n\u2202\u03c6\/\u2202t\n+ v \u00b7 \u2207\u03c6\n- \u2207 \u00b7 (\u03b1\u2207\u03c6)\n- S<\/code><\/pre>\n<p>Un t\u00e9rmino de estabilizaci\u00f3n t\u00edpico es:<\/p>\n<pre><code>\u03a3_K \u222b_K\n    \u03c4_K\n    (v \u00b7 \u2207w)\n    R(\u03c6_h)\nd\u03a9<\/code><\/pre>\n<p>Debido a que el residuo fuerte aparece en la formulaci\u00f3n, el t\u00e9rmino es consistente: la soluci\u00f3n exacta tambi\u00e9n satisface la ecuaci\u00f3n estabilizada.<\/p>\n<p>El factor <code>v \u00b7 \u2207w<\/code> enfatiza la direcci\u00f3n aerodin\u00e1mica. Esto reduce las oscilaciones sin introducir la misma cantidad de manchas de viento cruzado que la simple difusi\u00f3n artificial isotr\u00f3pica.<\/p>\n<h2>Elegir el par\u00e1metro SUPG<\/h2>\n<p>El par\u00e1metro de estabilizaci\u00f3n no es universalmente igual a <code>h\/(2|v|)<\/code>. Esa expresi\u00f3n es el l\u00edmite alto de peclet de varias f\u00f3rmulas de advecci\u00f3n constante.<\/p>\n<p>Para un problema de advecci\u00f3n-difusi\u00f3n constante unidimensional, una forma com\u00fan es:<\/p>\n<pre><code>\u03c4 =\nh \/ (2|v|)\n[\n    coth(Pe*) - 1\/Pe*\n]\n\nPe* = |v|h \/ (2\u03b1)<\/code><\/pre>\n<p>Cuando la advecci\u00f3n domina fuertemente:<\/p>\n<pre><code>\u03c4 \u2192 h \/ (2|v|)<\/code><\/pre>\n<p>Cuando la difusi\u00f3n domina, la expresi\u00f3n se acerca a un l\u00edmite escalado por difusi\u00f3n en lugar de agregar una estabilizaci\u00f3n excesiva.<\/p>\n<p>Las implementaciones transitorias y multidimensionales pueden combinar escalas de tiempo, advecci\u00f3n y difusi\u00f3n:<\/p>\n<pre><code>\u03c4 \u2248\n[\n    (c_t \/ \u0394t)\u00b2\n    + (c_v |v| \/ h)\u00b2\n    + (c_d \u03b1 \/ h\u00b2)\u00b2\n]\u207b\u00b9\u141f\u00b2<\/code><\/pre>\n<p>Las constantes y la definici\u00f3n de longitud del elemento dependen de la formulaci\u00f3n. La expresi\u00f3n apropiada debe provenir del m\u00e9todo de elementos finitos y la implementaci\u00f3n del software que se est\u00e1 utilizando.<\/p>\n<p>La <a href=\"https:\/\/mooseframework.inl.gov\/source\/kernels\/LevelSetAdvectionSUPG.html\" rel=\"nofollow\" target=\"_blank\">Documentaci\u00f3n de Moose LevelSetAdvectionsUpG<\/a> muestra c\u00f3mo se incluye SUPG como parte de una ecuaci\u00f3n establecida de nivel estabilizada completa.<\/p>\n<h2>SUPG no es difusi\u00f3n artificial isotr\u00f3pica<\/h2>\n<p>Agregar un coeficiente escalar m\u00e1s grande a un t\u00e9rmino de difusi\u00f3n ordinario no es una implementaci\u00f3n completa de SUPG. Un coeficiente de difusi\u00f3n escalar act\u00faa en cada direcci\u00f3n espacial.<\/p>\n<p>SUPG modifica la forma d\u00e9bil utilizando la derivada direccional de la funci\u00f3n de prueba y el residuo fuerte. Por lo tanto, puede agregar estabilizaci\u00f3n aerodin\u00e1mica mientras se conserva una mayor resoluci\u00f3n de viento cruzado.<\/p>\n<p>Las oscilaciones de viento cruzado a\u00fan pueden ocurrir en capas multidimensionales dif\u00edciles. A veces se utilizan t\u00e9rminos adicionales de captura de discontinuidad o captura de golpes con SUPG, pero estos deben dise\u00f1arse y validarse por separado.<\/p>\n<h2>Advecci\u00f3n-difusi\u00f3n en Fipy<\/h2>\n<p>Fipy proporciona varios t\u00e9rminos de convecci\u00f3n de volumen finito, que incluyen:<\/p>\n<ul>\n<li><code>CentralDifferenceConvectionTerm<\/code><\/li>\n<li><code>ExponentialConvectionTerm<\/code><\/li>\n<li><code>HybridConvectionTerm<\/code><\/li>\n<li><code>PowerLawConvectionTerm<\/code><\/li>\n<li><code>UpwindConvectionTerm<\/code><\/li>\n<li><code>ExplicitUpwindConvectionTerm<\/code><\/li>\n<li><code>VanLeerConvectionTerm<\/code><\/li>\n<\/ul>\n<p>El coeficiente de un t\u00e9rmino de convecci\u00f3n debe representar una velocidad o flujo vectorial. En dos dimensiones, se puede suministrar un vector constante en la forma <code>((v_x,), (v_y,))<\/code>.<\/p>\n<h2>Un ejemplo de lucha contra el viento<\/h2>\n<p>El siguiente ejemplo transporta una regi\u00f3n escalar circular a trav\u00e9s de un dominio bidimensional y agrega una peque\u00f1a cantidad de difusi\u00f3n f\u00edsica:<\/p>\n<pre><code class=\"language-python\">from fipy import (\n    Grid2D,\n    CellVariable,\n    TransientTerm,\n    DiffusionTerm,\n    UpwindConvectionTerm\n)\nfrom fipy.tools import numerix\n\n# Domain\nlength_x = 2.0\nlength_y = 1.0\n\nnx = 200\nny = 100\n\ndx = length_x \/ nx\ndy = length_y \/ ny\n\nmesh = Grid2D(\n    nx=nx,\n    ny=ny,\n    dx=dx,\n    dy=dy\n)\n\n# Transported scalar\nphi = CellVariable(\n    name=\"concentration\",\n    mesh=mesh,\n    value=0.0,\n    hasOld=True\n)\n\nx, y = mesh.cellCenters\n\ninitial_region = (\n    (x - 0.4) ** 2\n    + (y - 0.5) ** 2\n    &lt; 0.1 ** 2\n)\n\nphi.setValue(\n    1.0,\n    where=initial_region\n)\n\n# Constant velocity vector\nvelocity_x = 1.0\nvelocity_y = 0.0\n\nvelocity = (\n    (velocity_x,),\n    (velocity_y,)\n)\n\ndiffusivity = 1e-3\n\nequation = (\n    TransientTerm(var=phi)\n    + UpwindConvectionTerm(\n        coeff=velocity,\n        var=phi\n    )\n    == DiffusionTerm(\n        coeff=diffusivity,\n        var=phi\n    )\n)\n\n# Inflow value on the left boundary\nphi.constrain(\n    0.0,\n    where=mesh.facesLeft\n)\n\n# Moderate time step for temporal accuracy\ndt = 0.25 * dx \/ abs(velocity_x)\nnumber_of_steps = 200\n\nfor step in range(number_of_steps):\n    phi.updateOld()\n    equation.solve(\n        var=phi,\n        dt=dt\n    )<\/code><\/pre>\n<p><code>UpwindConvectionTerm<\/code> utiliza una discretizaci\u00f3n impl\u00edcita de convecci\u00f3n de primer orden de primer orden. Por lo tanto, el paso de tiempo elegido no se presenta como un estricto l\u00edmite CFL expl\u00edcito. Se mantiene moderado para resolver el transporte con precisi\u00f3n.<\/p>\n<p>Para la convecci\u00f3n integrada expl\u00edcitamente, el esquema completo debe satisfacer la restricci\u00f3n de estabilidad asociada con los m\u00e9todos espaciales y temporales elegidos.<\/p>\n<h2>Uso del esquema de ley de potencia de Fipy<\/h2>\n<p>Para la convecci\u00f3n-difusi\u00f3n constante, los ejemplos oficiales de Fipy usan <code>PowerLawConvectionTerm<\/code>:<\/p>\n<pre><code class=\"language-python\">from fipy import (\n    CellVariable,\n    Grid1D,\n    DiffusionTerm,\n    PowerLawConvectionTerm\n)\n\nlength = 10.0\ncell_count = 1000\n\nmesh = Grid1D(\n    nx=cell_count,\n    dx=length \/ cell_count\n)\n\nconcentration = CellVariable(\n    name=\"concentration\",\n    mesh=mesh,\n    value=0.0\n)\n\nconcentration.constrain(\n    0.0,\n    where=mesh.facesLeft\n)\n\nconcentration.constrain(\n    1.0,\n    where=mesh.facesRight\n)\n\ndiffusivity = 1.0\nvelocity = (10.0,)\n\nequation = (\n    DiffusionTerm(\n        coeff=diffusivity\n    )\n    + PowerLawConvectionTerm(\n        coeff=velocity\n    )\n)\n\nequation.solve(\n    var=concentration\n)<\/code><\/pre>\n<p>Documentos fipy <code>PowerLawConvectionTerm<\/code> y <code>ExponentialConvectionTerm<\/code> como adecuados para una amplia gama de casos de convecci\u00f3n-difusi\u00f3n, con la aproximaci\u00f3n de ley de potencia que ofrece una opci\u00f3n pr\u00e1ctica m\u00e1s eficiente.<\/p>\n<h2>Comprobaci\u00f3n del n\u00famero de peclet<\/h2>\n<p>Para el ejemplo bidimensional uniforme, los n\u00fameros de peclet de celda direccional se pueden calcular como:<\/p>\n<pre><code class=\"language-python\">peclet_x = (\n    abs(velocity_x)\n    * dx\n    \/ diffusivity\n)\n\npeclet_y = (\n    abs(velocity_y)\n    * dy\n    \/ diffusivity\n)\n\nprint(\"Pe_x =\", peclet_x)\nprint(\"Pe_y =\", peclet_y)<\/code><\/pre>\n<p>Para las mallas no uniformes y las velocidades variables, calcule un n\u00famero de peclet de la cara local utilizando la velocidad de la cara normal y la distancia de la c\u00e9lula local. Un solo valor global puede ocultar regiones de pecle alto.<\/p>\n<h2>Los errores espaciales y temporales deben estar separados<\/h2>\n<p>La mancha en un c\u00e1lculo de advecci\u00f3n puede provenir del flujo espacial, el integrador de tiempo o ambos.<\/p>\n<p>Euler hacia atr\u00e1s, por ejemplo, es disipativo para los modos de decaimiento y oscilatorio. La manivela-Nicolson se comporta de manera diferente y no humedece fuertemente todos los modos r\u00edgidos. Los m\u00e9todos expl\u00edcitos de Runge-Kutta tienen sus propias curvas de disipaci\u00f3n y dispersi\u00f3n.<\/p>\n<p>Por lo tanto, es inexacto afirmar que cada m\u00e9todo impl\u00edcito siempre introduce la misma cantidad de difusi\u00f3n. La amortiguaci\u00f3n num\u00e9rica depende del m\u00e9todo.<\/p>\n<p>Un an\u00e1lisis \u00fatil var\u00eda la malla mientras se mantiene peque\u00f1o el error temporal, luego var\u00eda el paso de tiempo en una malla fina fija. Esto ayuda a separar la difusi\u00f3n num\u00e9rica espacial del error temporal.<\/p>\n<p>La gu\u00eda relacionada <a href=\"https:\/\/matforge.org\/time-integration-methods-for-pde-solvers-explicit-vs-implicit-schemes\/\">m\u00e9todos de integraci\u00f3n de tiempo para solucionadores de PDE: expl\u00edcito vs impl\u00edcito Schemes<\/a> analiza esta distinci\u00f3n con m\u00e1s detalle.<\/p>\n<h2>Elegir una estrategia de estabilizaci\u00f3n<\/h2>\n<table class=\"custom-table\">\n<tbody>\n<tr>\n<th>Situaci\u00f3n<\/th>\n<th>Posible punto de partida<\/th>\n<th>Consideraci\u00f3n principal<\/th>\n<\/tr>\n<tr>\n<td>N\u00famero de peclet de c\u00e9lulas bajas y soluci\u00f3n suave<\/td>\n<td>Diferenciaci\u00f3n central<\/td>\n<td>Baja difusi\u00f3n y precisi\u00f3n de segundo orden<\/td>\n<\/tr>\n<tr>\n<td>N\u00famero de peclet alto con prioridad de robustez<\/td>\n<td>contra el viento<\/td>\n<td>Acotado pero potencialmente sobredifusivo<\/td>\n<\/tr>\n<tr>\n<td>Soluci\u00f3n suave que requiere mayor precisi\u00f3n<\/td>\n<td>Lineal contra el viento o r\u00e1pido<\/td>\n<td>Comprobar el l\u00edmite y el tratamiento de los l\u00edmites<\/td>\n<\/tr>\n<tr>\n<td>Frente afilado que requiere monotonicidad<\/td>\n<td>M\u00e9todo limitado por flujo de TVD<\/td>\n<td>Limitador no lineal reduce las oscilaciones<\/td>\n<\/tr>\n<tr>\n<td>Ley de Conservaci\u00f3n Dominada por Choques<\/td>\n<td>M\u00e9todo Godunov, WENO o DG<\/td>\n<td>Requiere flujos num\u00e9ricos apropiados para la ecuaci\u00f3n<\/td>\n<\/tr>\n<tr>\n<td>Advecci\u00f3n-difusi\u00f3n de elementos finitos<\/td>\n<td>sorbo<\/td>\n<td>Estabilizaci\u00f3n residual aerodin\u00e1mica constante<\/td>\n<\/tr>\n<tr>\n<td>Capas de viento cruzado complejas<\/td>\n<td>Supg con captura de choque adicional o refinamiento local<\/td>\n<td>Supg solo puede no controlar todas las oscilaciones del viento cruzado<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Condiciones de contorno en problemas de advecci\u00f3n<\/h2>\n<p>La advecci\u00f3n transporta informaci\u00f3n al dominio a trav\u00e9s de los l\u00edmites de entrada. Los valores de los l\u00edmites deben prescribirse normalmente donde:<\/p>\n<pre><code>v \u00b7 n &lt; 0<\/code><\/pre>\n<p>En un l\u00edmite de flujo de salida, la prescripci\u00f3n de un valor escalar innecesario puede constricci\u00f3n del problema o crear una capa l\u00edmite falsa.<\/p>\n<p>La difusi\u00f3n cambia los requisitos de los l\u00edmites porque introduce un operador espacial de segundo orden. Por lo tanto, un modelo de advecci\u00f3n-difusi\u00f3n completo puede necesitar una condici\u00f3n de valor o flujo derivada del problema f\u00edsico.<\/p>\n<p>Las condiciones de los l\u00edmites deben verificarse junto con la direcci\u00f3n del flujo. Un esquema puede parecer inestable cuando el problema real es un tratamiento incorrecto de entrada o salida.<\/p>\n<h2>Alineaci\u00f3n de malla y difusi\u00f3n de viento cruzado<\/h2>\n<p>La difusi\u00f3n num\u00e9rica est\u00e1 influenciada por la orientaci\u00f3n de la malla. En una cuadr\u00edcula cartesiana, el transporte alineado con un eje de coordenadas suele representarse m\u00e1s limpiamente que el transporte diagonal.<\/p>\n<p>Cuando el flujo cruza la rejilla oblicuamente, los esquemas contra el viento multidimensionales de primer orden pueden introducir una mancha sustancial de viento cruzado. El refinamiento, las mallas anisotr\u00f3picas, la reconstrucci\u00f3n de m\u00ednimos cuadrados, la limitaci\u00f3n multidimensional o la estabilizaci\u00f3n de elementos finitos basados en residuos pueden mejorar el resultado.<\/p>\n<p>Un tama\u00f1o de celda peque\u00f1o por s\u00ed solo no garantiza una buena precisi\u00f3n si las c\u00e9lulas est\u00e1n muy sesgadas o est\u00e1n mal alineadas con capas importantes.<\/p>\n<h2>Pruebas de verificaci\u00f3n<\/h2>\n<p>Se debe probar una nueva implementaci\u00f3n de advecci\u00f3n en problemas con el comportamiento conocido.<\/p>\n<h3>Traducci\u00f3n de un perfil suave<\/h3>\n<p>Use l\u00edmites peri\u00f3dicos y transporte una onda gaussiana o sinusoidal suave. Despu\u00e9s de un per\u00edodo, compare el perfil num\u00e9rico con la condici\u00f3n inicial.<\/p>\n<p>Esta prueba revela p\u00e9rdida de amplitud y error de fase.<\/p>\n<h3>Traducci\u00f3n de un pulso cuadrado<\/h3>\n<p>Un pulso cuadrado expone la difusi\u00f3n num\u00e9rica y las oscilaciones. El primer orden contra el viento mancha los bordes, mientras que los esquemas de alto orden no restringidos pueden sobrepasar.<\/p>\n<h3>gota giratoria<\/h3>\n<p>Un campo de velocidad de rotaci\u00f3n bidimensional prueba el transporte multidimensional, la difusi\u00f3n del viento cruzado y los efectos de orientaci\u00f3n de la malla.<\/p>\n<h3>Capa l\u00edmite estable<\/h3>\n<p>Un problema de difusi\u00f3n de convecci\u00f3n constante y unidimensional con una soluci\u00f3n anal\u00edtica conocida prueba el criterio de peclet celular y la capacidad de resolver una delgada capa de flujo de salida.<\/p>\n<h2>Convergencia de malla y paso de tiempo<\/h2>\n<p>Ejecute el mismo problema en varias mallas. Medir errores en cantidades tales como:<\/p>\n<ul>\n<li>valor pico<\/li>\n<li>posici\u00f3n frontal<\/li>\n<li>Espesor de la capa &lt;&gt;<\/li>\n<li>Masa transportada total<\/li>\n<li><code>L1<\/code>, <code>L2<\/code> o norma m\u00e1xima<\/li>\n<li>sobreimpulso y bajo<\/li>\n<\/ul>\n<p>Repita el c\u00e1lculo con pasos de tiempo m\u00e1s peque\u00f1os en una malla fija. Esto separa los errores espaciales y temporales.<\/p>\n<p>Un m\u00e9todo de orden superior debe demostrar su convergencia esperada en una prueba suave. Cerca de las discontinuidades, la convergencia global puede ser menor porque la soluci\u00f3n exacta carece de regularidad suficiente.<\/p>\n<h2>Errores comunes<\/h2>\n<ul>\n<li>Mezclar dos definiciones de n\u00fameros de peclet diferentes<\/li>\n<li>Aplicando el umbral de diferencia central constante a cada esquema transitorio<\/li>\n<li>Llamar a contracturante incondicionalmente estable sin especificar el integrador de tiempo<\/li>\n<li>Suponiendo que la difusi\u00f3n num\u00e9rica depende solo del paso de tiempo<\/li>\n<li>Reemplazo de SUPG con difusi\u00f3n isotr\u00f3pica ordinaria<\/li>\n<li>Suponiendo que SUPG siempre usa <code>\u03c4 = h\/(2|v|)<\/code><\/li>\n<li>Uso de un esquema lineal de orden alto no restringido cerca de una discontinuidad<\/li>\n<li>Aumento de la difusividad f\u00edsica para ocultar la difuminaci\u00f3n num\u00e9rica<\/li>\n<li>Aplicar valores escalares tanto en la entrada como en el flujo de salida sin verificar el PDE<\/li>\n<li>Comparaci\u00f3n de esquemas en diferentes mallas o en diferentes niveles de error<\/li>\n<li>Ignorar la conservaci\u00f3n de la masa y los l\u00edmites f\u00edsicos<\/li>\n<li>Atribuci\u00f3n de toda amortiguaci\u00f3n a la discretizaci\u00f3n espacial<\/li>\n<\/ul>\n<h2>un flujo de trabajo pr\u00e1ctico<\/h2>\n<ol>\n<li>Escriba la ecuaci\u00f3n en forma conservadora o no conservativa seg\u00fan lo requiera la f\u00edsica.<\/li>\n<li>Identifique los l\u00edmites de entrada, salida y difusi\u00f3n.<\/li>\n<li>Calcule los n\u00fameros de peclet de celda direccional local.<\/li>\n<li>Comience con un esquema robusto contra el viento o acotado.<\/li>\n<li>Mida la difusi\u00f3n num\u00e9rica en una prueba de transporte conocida.<\/li>\n<li>Refina la malla y verifica la convergencia.<\/li>\n<li>Pasar a un esquema de orden superior limitado cuando la difusi\u00f3n es inaceptable.<\/li>\n<li>Use SUPG para formulaciones de elementos finitos que necesitan una estabilizaci\u00f3n aerodin\u00e1mica.<\/li>\n<li>Compruebe el n\u00famero de Courant y la convergencia temporal por separado.<\/li>\n<li>Documente el flujo, el limitador, el par\u00e1metro de estabilizaci\u00f3n y el tratamiento de los l\u00edmites.<\/li>\n<\/ol>\n<h2>Gu\u00edas relacionadas<\/h2>\n<ul>\n<li><a href=\"https:\/\/matforge.org\/finite-volume-method-explained-simply\/\">m\u00e9todo de volumen finito explicado simplemente<\/a> \u2014 Revise los flujos faciales, la conservaci\u00f3n y la discretizaci\u00f3n centrada en las c\u00e9lulas.<\/li>\n<li><a href=\"https:\/\/matforge.org\/time-integration-methods-for-pde-solvers-explicit-vs-implicit-schemes\/\">m\u00e9todos de integraci\u00f3n de tiempo para solucionadores de PDE: esquemas expl\u00edcitos frente a impl\u00edcitos<\/a> \u2014 Compare las restricciones de CFL, la amortiguaci\u00f3n y el error temporal.<\/li>\n<li><a href=\"https:\/\/matforge.org\/when-to-use-fem-fvm-fdm\/\">cu\u00e1ndo usar FEM, FVM o FDM<\/a> \u2014 Elija una discretizaci\u00f3n espacial para el problema de gobierno.<\/li>\n<li><a href=\"https:\/\/matforge.org\/mesh-quality-convergence-studies-guide-2\/\">Estudios de calidad y convergencia de malla: una gu\u00eda pr\u00e1ctica<\/a> \u2014 Conecte la resoluci\u00f3n local con la convergencia num\u00e9rica.<\/li>\n<li><a href=\"https:\/\/matforge.org\/operator-splitting-strang-splitting-and-imex-schemes-for-pde-solvers\/\">Esquemas de divisi\u00f3n de operadores, divisi\u00f3n de operaciones y esquemas IMEX para PDE Solvers<\/a> \u2014 Advecci\u00f3n separada de los procesos de difusi\u00f3n y reacci\u00f3n.<\/li>\n<li><a href=\"https:\/\/matforge.org\/extending-fipy-with-custom-modules\/\">extendiendo fipy con m\u00f3dulos personalizados<\/a> \u2014 Explore el comportamiento num\u00e9rico personalizado en los modelos fipy.<\/li>\n<\/ul>\n<h2>Lectura adicional<\/h2>\n<ul>\n<li><a href=\"https:\/\/hplgit.github.io\/fdm-book\/\" rel=\"nofollow\" target=\"_blank\">Computaci\u00f3n por diferencias finitas con PDES<\/a> \u2014 An\u00e1lisis detallado de esquemas de advecci\u00f3n, factores de amplificaci\u00f3n, difusi\u00f3n y dispersi\u00f3n.<\/li>\n<li><a href=\"https:\/\/archive.nptel.ac.in\/content\/storage2\/courses\/112108091\/module4\/lecture4.pdf\" rel=\"nofollow\" target=\"_blank\">nptel: convecci\u00f3n y difusi\u00f3n<\/a> \u2014 Discusi\u00f3n del comportamiento de volumen finito central y contra el viento y el criterio de peclet.<\/li>\n<li><a href=\"https:\/\/mooseframework.inl.gov\/source\/kernels\/LevelSetAdvectionSUPG.html\" rel=\"nofollow\" target=\"_blank\">Documentaci\u00f3n de Moose LevelSetAdvectionsUpG<\/a>: una implementaci\u00f3n de la estabilizaci\u00f3n de SUPG para una ecuaci\u00f3n establecida por el nivel.<\/li>\n<li><a href=\"https:\/\/www.wias-berlin.de\/people\/john\/STAB_PROB\/stab_cd.html\" rel=\"nofollow\" target=\"_blank\">WIAS BERLIN: Estabilizaci\u00f3n de problemas dominados por convecci\u00f3n<\/a> \u2014 Recursos sobre m\u00e9todos de elementos finitos estabilizados.<\/li>\n<li><a href=\"https:\/\/oldqa.fenicsproject.org\/13458\/how-implement-supg-properly-advection-dominated-equation\/\" rel=\"nofollow\" target=\"_blank\">FENICS QA: Implementaci\u00f3n de SUPG<\/a> \u2014 Discusi\u00f3n hist\u00f3rica de la implementaci\u00f3n y precauciones pr\u00e1cticas.<\/li>\n<li><a href=\"https:\/\/pages.nist.gov\/fipy\/en\/benchmark_patched_b873c7e3f\/generated\/examples.levelSet.advection.html\" rel=\"nofollow\" target=\"_blank\">Ejemplos de advecci\u00f3n establecidos en el nivel de Fipy<\/a> \u2014 Ejemplos de advecci\u00f3n de la documentaci\u00f3n de Fipy.<\/li>\n<li><a href=\"https:\/\/www.cmor-faculty.rice.edu\/~heinken\/papers\/supg_analysis.pdf\" rel=\"nofollow\" target=\"_blank\">Supg An\u00e1lisis de m\u00e9todos de elementos finitos<\/a> \u2014 An\u00e1lisis matem\u00e1tico de formulaciones de elementos finitos estabilizados.<\/li>\n<li><a href=\"https:\/\/scicomp.stackexchange.com\/questions\/31424\/\" rel=\"nofollow\" target=\"_blank\">Intercambio de pila de ciencia computacional: por qu\u00e9 la advecci\u00f3n es desafiante<\/a> \u2014 Discusi\u00f3n comunitaria de num\u00e9rico Cuestiones en las ecuaciones de advecci\u00f3n.<\/li>\n<\/ul>\n<h2>Conclusi\u00f3n<\/h2>\n<p>Las ecuaciones dominadas por la advecci\u00f3n desaf\u00edan los m\u00e9todos num\u00e9ricos porque la difusi\u00f3n f\u00edsica es demasiado d\u00e9bil para suprimir el comportamiento de escala de cuadr\u00edcula no resuelto. El n\u00famero de peclet de celda ayuda a determinar si es probable que una discretizaci\u00f3n de volumen finito central estable permanezca limitada, pero su definici\u00f3n y campo de aplicaci\u00f3n deben establecerse correctamente.<\/p>\n<p>El primer orden contra el viento proporciona una aproximaci\u00f3n direccional robusta. Su error de truncamiento principal se comporta como la difusi\u00f3n artificial con coeficiente <code>|v|h\/2<\/code>, lo que explica tanto su estabilidad como su tendencia a manchar los frentes.<\/p>\n<p>Los m\u00e9todos lineales de orden superior reducen la difusi\u00f3n num\u00e9rica, pero pueden introducir oscilaciones dispersivas. Los limitadores de flujo, los esquemas de TVD y los m\u00e9todos Weno utilizan mecanismos no lineales para retener una alta resoluci\u00f3n en regiones suaves al tiempo que reducen las oscilaciones cerca de gradientes pronunciados.<\/p>\n<p>SUPG cumple un prop\u00f3sito relacionado en m\u00e9todos de elementos finitos. Agrega un t\u00e9rmino basado en residuos consistente alineado con la direcci\u00f3n del flujo. Su par\u00e1metro de estabilizaci\u00f3n depende de la advecci\u00f3n local, la difusi\u00f3n, la malla y, a veces, la escala de tiempo; No debe ser reemplazado a ciegas por una cantidad fija de difusi\u00f3n isotr\u00f3pica.<\/p>\n<p>Ning\u00fan esquema es universalmente mejor. La elecci\u00f3n correcta depende del n\u00famero de peclet local, la regularidad de la soluci\u00f3n, los requisitos de conservaci\u00f3n, la calidad de la malla, las condiciones de contorno y la tolerancia a la difusi\u00f3n o la dispersi\u00f3n. Una elecci\u00f3n cre\u00edble debe estar respaldada por pruebas anal\u00edticas, refinamiento de malla, convergencia temporal y controles de l\u00edmites f\u00edsicos.<\/p>\n<\/article>\n","protected":false,"raw":"<article>\n<p>Las ecuaciones diferenciales parciales dominadas por la advecci\u00f3n son dif\u00edciles porque la informaci\u00f3n se mueve principalmente a lo largo de una direcci\u00f3n de flujo, mientras que la difusi\u00f3n f\u00edsica proporciona un poco de suavizado. Un m\u00e9todo num\u00e9rico que funciona bien para un problema dominado por la difusi\u00f3n puede producir oscilaciones, manchas excesivas o valores no f\u00edsicos cuando la advecci\u00f3n se vuelve m\u00e1s fuerte.<\/p>\n<p>La respuesta correcta no es simplemente seleccionar el esquema m\u00e1s difusivo disponible. La difusi\u00f3n num\u00e9rica excesiva puede ocultar frentes afilados, debilitar los picos de concentraci\u00f3n y alterar las tasas de transporte. Una discretizaci\u00f3n \u00fatil debe equilibrar la estabilidad, la delimitaci\u00f3n, la conservaci\u00f3n y la resoluci\u00f3n.<\/p>\n<p>El n\u00famero de peclet de celda ayuda a describir este equilibrio. La diferenciaci\u00f3n central puede funcionar cuando la malla resuelve la difusi\u00f3n f\u00edsica. El primer orden contra el viento proporciona robustez pero mancha la soluci\u00f3n. Los esquemas limitados de orden superior reducen la mancha al controlar las oscilaciones. En los m\u00e9todos de elementos finitos, SUPG agrega una estabilizaci\u00f3n constante principalmente a lo largo de l\u00edneas de corriente.<\/p>\n<h2>La ecuaci\u00f3n de advecci\u00f3n-difusi\u00f3n<\/h2>\n<p>Un modelo de transporte escalar com\u00fan es:<\/p>\n<pre><code>\u2202\u03c6\/\u2202t + \u2207 \u00b7 (v\u03c6) = \u2207 \u00b7 (\u03b1\u2207\u03c6) + S<\/code><\/pre>\n<p>Para un campo de velocidad incompresible, esto se escribe a menudo como:<\/p>\n<pre><code>\u2202\u03c6\/\u2202t + v \u00b7 \u2207\u03c6 = \u03b1\u2207\u00b2\u03c6 + S<\/code><\/pre>\n<p>aqu\u00ed:<\/p>\n<ul>\n<li><code>\u03c6<\/code> es el escalar transportado, como la temperatura o la concentraci\u00f3n.<\/li>\n<li><code>v<\/code> es el campo de velocidad.<\/li>\n<li><code>\u03b1<\/code> es la difusividad f\u00edsica.<\/li>\n<li><code>S<\/code> es una fuente o sumidero.<\/li>\n<\/ul>\n<p>La difusi\u00f3n difunde informaci\u00f3n en todas las direcciones y suaviza los gradientes. La advecci\u00f3n transporta informaci\u00f3n principalmente a lo largo de las caracter\u00edsticas determinadas por el campo de velocidad. Cuando la difusi\u00f3n es d\u00e9bil, el m\u00e9todo num\u00e9rico debe respetar este transporte direccional.<\/p>\n<h2>El n\u00famero de peclet celular<\/h2>\n<p>El n\u00famero de peclet celular compara la advecci\u00f3n y la difusi\u00f3n a la escala de una celda de malla. Una convenci\u00f3n ampliamente utilizada es:<\/p>\n<pre><code>Pe\u2095 = |v|h \/ \u03b1<\/code><\/pre>\n<p>Para una ecuaci\u00f3n de difusi\u00f3n y convecci\u00f3n constante unidimensional en una cuadr\u00edcula uniforme, los coeficientes de volumen finitos centrales cl\u00e1sicos siguen siendo no negativos cuando:<\/p>\n<pre><code>|Pe\u2095| \u2264 2<\/code><\/pre>\n<p>Algunas referencias definen el n\u00famero de peclet de celda con un factor adicional de dos:<\/p>\n<pre><code>Pe* = |v|h \/ (2\u03b1)<\/code><\/pre>\n<p>Seg\u00fan esa convenci\u00f3n, la condici\u00f3n equivalente es:<\/p>\n<pre><code>|Pe*| \u2264 1<\/code><\/pre>\n<p>Por lo tanto, la Convenci\u00f3n debe establecerse antes de citar un umbral. Escribir <code>|v|h\/(2\u03b1)<\/code> y compararlo con 2 mezclar\u00eda dos definiciones diferentes.<\/p>\n<p>Para una malla de volumen finito multidimensional, un valor facial local m\u00e1s \u00fatil es:<\/p>\n<pre><code>Pe_f =\n    |v_f \u00b7 n_f| d_PA\n    \/ \u03b1_f<\/code><\/pre>\n<p>El valor depende de la velocidad normal a trav\u00e9s de una cara, la distancia entre los centros celulares vecinos y la difusividad local. Puede variar en todo el dominio cuando las propiedades de malla, velocidad o material no son uniformes.<\/p>\n<h2>Lo que realmente significa el criterio de Peclet<\/h2>\n<p>El umbral citado a menudo cerca de dos se aplica a una discretizaci\u00f3n de difusi\u00f3n de convecci\u00f3n unidimensional constante particular. Es un criterio de acotaci\u00f3n para los coeficientes algebraicos producidos por la diferenciaci\u00f3n central.<\/p>\n<p>No significa que cada esquema central para cada problema transitorio se vuelva inmediatamente inestable en el mismo n\u00famero. Las discretizaciones espaciales y temporales deben analizarse juntas.<\/p>\n<p>A menudo se confunden dos problemas diferentes:<\/p>\n<ol>\n<li>En una ecuaci\u00f3n de volumen finito de convecci\u00f3n-difusi\u00f3n constante, la diferenciaci\u00f3n central puede perder la positividad del coeficiente cuando el n\u00famero de peclet celular es demasiado grande. La soluci\u00f3n puede entonces desarrollar sobreimpulsos y subdivisiones.<\/li>\n<li>Para la advecci\u00f3n transitoria pura, hacia adelante Euler en el tiempo combinado con el espacio centrado, conocido como FTC, es inestable para cualquier n\u00famero de Courant distinto de cero.<\/li>\n<\/ol>\n<p>Ambos problemas pueden producir oscilaciones, pero sus causas matem\u00e1ticas no son id\u00e9nticas.<\/p>\n<h2>Por qu\u00e9 la diferenciaci\u00f3n central puede oscilar<\/h2>\n<p>La diferenciaci\u00f3n central estima un valor nominal sim\u00e9tricamente:<\/p>\n<pre><code>\u03c6_f \u2248 (\u03c6_P + \u03c6_A) \/ 2<\/code><\/pre>\n<p>En una cuadr\u00edcula uniforme, esto produce una aproximaci\u00f3n de segundo orden para soluciones suaves. Tambi\u00e9n introduce muy poca disipaci\u00f3n num\u00e9rica.<\/p>\n<p>Esa baja disipaci\u00f3n es \u00fatil cuando la soluci\u00f3n f\u00edsica es suave y bien resuelta. Se convierte en un problema cerca de capas empinadas o cuando la difusi\u00f3n f\u00edsica es demasiado d\u00e9bil para controlar los modos de escala de cuadr\u00edcula.<\/p>\n<p>En la ecuaci\u00f3n de volumen finito unidimensional constante, el aumento del n\u00famero de peclet de celda reduce un coeficiente vecino. Una vez que ese coeficiente cambia de signo, se puede perder el principio m\u00e1ximo discreto. La soluci\u00f3n puede exceder los valores de los l\u00edmites o volverse negativa incluso cuando la soluci\u00f3n f\u00edsica permanece limitada.<\/p>\n<p>Para la advecci\u00f3n pura transitoria, una derivada espacial centrada es principalmente dispersiva. Su idoneidad depende del integrador de tiempo. Emparejarlo con Forward Euler produce un m\u00e9todo inestable, mientras que otros integradores de tiempo pueden controlar el crecimiento pero a\u00fan as\u00ed introducir errores de fase u oscilaciones cerca de gradientes no resueltos.<\/p>\n<h2>Diferenciaci\u00f3n contra el viento de primer orden<\/h2>\n<p>La diferenciaci\u00f3n contra el viento utiliza la informaci\u00f3n de la direcci\u00f3n en la que se origina el flujo. Para una velocidad unidimensional positiva:<\/p>\n<pre><code>(\u2202\u03c6\/\u2202x)\u1d62\n\u2248 (\u03c6\u1d62 - \u03c6\u1d62\u208b\u2081) \/ h<\/code><\/pre>\n<p>Para una velocidad negativa, utiliza el valor de la derecha:<\/p>\n<pre><code>(\u2202\u03c6\/\u2202x)\u1d62\n\u2248 (\u03c6\u1d62\u208a\u2081 - \u03c6\u1d62) \/ h<\/code><\/pre>\n<p>Esta plantilla consciente de la direcci\u00f3n suprime muchas de las oscilaciones producidas por una aproximaci\u00f3n centrada. Para la difusi\u00f3n de convecci\u00f3n lineal constante, tambi\u00e9n produce coeficientes vecinos positivos en un rango mucho m\u00e1s amplio de n\u00fameros de peclet celular.<\/p>\n<p>La discretizaci\u00f3n espacial contra el viento no debe describirse como incondicionalmente estable sin calificaci\u00f3n. Si se combina con un integrador de tiempo expl\u00edcito, el m\u00e9todo completo a\u00fan tiene una restricci\u00f3n de Courant.<\/p>\n<h2>contra el viento como diferenciaci\u00f3n central m\u00e1s difusi\u00f3n<\/h2>\n<p>Para una velocidad constante positiva, la derivada contra el viento de primer orden se puede escribir exactamente como:<\/p>\n<pre><code>(\u03c6\u1d62 - \u03c6\u1d62\u208b\u2081) \/ h\n=\n(\u03c6\u1d62\u208a\u2081 - \u03c6\u1d62\u208b\u2081) \/ (2h)\n-\n(\u03c6\u1d62\u208a\u2081 - 2\u03c6\u1d62 + \u03c6\u1d62\u208b\u2081) \/ (2h)<\/code><\/pre>\n<p>La expresi\u00f3n de la segunda diferencia se aproxima a <code>h\u03c6\u2093\u2093<\/code>. La sustituci\u00f3n del operador de contraataque en la ecuaci\u00f3n de advecci\u00f3n da la ecuaci\u00f3n modificada:<\/p>\n<pre><code>\u2202\u03c6\/\u2202t + v\u2202\u03c6\/\u2202x\n=\n(|v|h \/ 2) \u2202\u00b2\u03c6\/\u2202x\u00b2\n+ higher-order terms<\/code><\/pre>\n<p>El principal coeficiente de difusi\u00f3n num\u00e9rica de la semidiscretizaci\u00f3n espacial es, por lo tanto:<\/p>\n<pre><code>\u03b1_num = |v|h \/ 2<\/code><\/pre>\n<p>Esto explica tanto la estabilidad como la mancha asociada con el viento de primer orden. Agrega un t\u00e9rmino de truncamiento similar a la difusi\u00f3n que suprime las ondas cortas y los gradientes agudos.<\/p>\n<p>La f\u00f3rmula describe el error principal del operador espacial. Una vez que se agrega una discretizaci\u00f3n de tiempo, la ecuaci\u00f3n modificada completa puede contener t\u00e9rminos adicionales que dependen del n\u00famero de Courant y del tama\u00f1o del paso de tiempo.<\/p>\n<h2>Reducci\u00f3n de la difusi\u00f3n num\u00e9rica<\/h2>\n<p>Debido a que las escalas de difusi\u00f3n en contra del viento con espaciamiento de malla, la refinaci\u00f3n de la malla reduce la mancha. Reduciendo solo el paso de tiempo no elimina el error espacial principal.<\/p>\n<p>Otras opciones incluyen:<\/p>\n<ul>\n<li>Uso de una reconstrucci\u00f3n de segundo orden<\/li>\n<li>Aplicar un limitador de flujo<\/li>\n<li>Uso r\u00e1pido en mallas estructuradas adecuadas<\/li>\n<li>Aplicaci\u00f3n de los m\u00e9todos TVD o WNO<\/li>\n<li>Uso de SUPG en una formulaci\u00f3n de elementos finitos<\/li>\n<li>Alinear y refinar la malla cerca de capas importantes<\/li>\n<\/ul>\n<p>Aumentar la difusividad f\u00edsica no es una soluci\u00f3n num\u00e9rica. Cambia el modelo y solo debe hacerse cuando el problema f\u00edsico requiere un coeficiente diferente.<\/p>\n<h2>Difusi\u00f3n y dispersi\u00f3n num\u00e9rica<\/h2>\n<p>La difusi\u00f3n num\u00e9rica reduce la amplitud de las ondas resueltas. Difunde discontinuidades y suaviza picos estrechos.<\/p>\n<p>La dispersi\u00f3n num\u00e9rica cambia la velocidad de propagaci\u00f3n de diferentes longitudes de onda. Puede producir oscilaciones de avance o de final incluso cuando la amplitud total no est\u00e1 fuertemente amortiguada.<\/p>\n<p>El contraviento de primer orden es principalmente disipativo. Muchos esquemas centrados y de orden superior son menos disipativos pero m\u00e1s dispersivos. Un buen m\u00e9todo de transporte debe controlar ambos efectos.<\/p>\n<p>El equilibrio correcto depende de la aplicaci\u00f3n. Una peque\u00f1a cantidad limitada de disipaci\u00f3n puede ser aceptable en un c\u00e1lculo de ingenier\u00eda s\u00f3lido. En la propagaci\u00f3n de las ondas, la amortiguaci\u00f3n excesiva puede destruir la cantidad que se est\u00e1 midiendo. En el transporte reactivo, los bajos oscilatorios pueden crear concentraciones negativas y romper el modelo de reacci\u00f3n.<\/p>\n<h2>Esquemas lineales de orden superior<\/h2>\n<table class=\"custom-table\">\n<tbody><tr>\n<th>Esquema<\/th>\n<th>orden nominal<\/th>\n<th>Fuerza principal<\/th>\n<th>riesgo principal<\/th>\n<\/tr>\n<tr>\n<td>diferencia central<\/td>\n<td>Segundo orden en rejillas uniformes suaves<\/td>\n<td>Baja difusi\u00f3n num\u00e9rica<\/td>\n<td>P\u00e9rdida de delimitaci\u00f3n o oscilaciones dispersivas<\/td>\n<\/tr>\n<tr>\n<td>contra el viento<\/td>\n<td>primer orden<\/td>\n<td>Robusto y consciente de la direcci\u00f3n<\/td>\n<td>Fuerte difusi\u00f3n num\u00e9rica<\/td>\n<\/tr>\n<tr>\n<td>Lineal contra el viento<\/td>\n<td>Segundo orden en rejillas lisas<\/td>\n<td>Menos difusi\u00f3n que contra el viento de primer orden<\/td>\n<td>No se limita autom\u00e1ticamente cerca de gradientes n\u00edtidos<\/td>\n<\/tr>\n<tr>\n<td>R\u00e1pido<\/td>\n<td>Interpolaci\u00f3n de cara de tercer orden en una cuadr\u00edcula uniforme<\/td>\n<td>Buena precisi\u00f3n para una convecci\u00f3n suave<\/td>\n<td>Puede sobrepasar y perder el orden cerca de los l\u00edmites o las cuadr\u00edculas irregulares<\/td>\n<\/tr>\n<tr>\n<td>LAX-Wendroff<\/td>\n<td>Segundo orden en espacio y tiempo para la advecci\u00f3n lineal<\/td>\n<td>Baja disipaci\u00f3n para ondas resueltas<\/td>\n<td>Oscilaciones dispersivas cerca de discontinuidades<\/td>\n<\/tr>\n<\/tbody><\/table>\n<p>El orden nominal se aplica en regiones suaves bajo los supuestos utilizados para derivar el esquema. Los l\u00edmites, los limitadores, la no ortogonalidad de la malla, las discontinuidades y los coeficientes variables pueden reducir la tasa de convergencia observada.<\/p>\n<h2>Limitadores de flujo y esquemas de TVD<\/h2>\n<p>Un limitador de flujo combina un fundente robusto de bajo orden con una correcci\u00f3n de orden superior menos difusiva. En regiones suaves, el limitador permite la aproximaci\u00f3n de orden superior. Cerca de gradientes afilados, reduce la correcci\u00f3n para evitar nuevos m\u00e1ximos o m\u00ednimos.<\/p>\n<p>Se puede escribir un valor de rostro combinado simplificado como:<\/p>\n<pre><code>\u03c6_f =\n\u03c6_f(upwind)\n+\n\u03c8(r) [\n    \u03c6_f(high-order)\n    - \u03c6_f(upwind)\n]<\/code><\/pre>\n<p>La funci\u00f3n de limitador <code>\u03c8(r)<\/code> depende de los gradientes vecinos. Los ejemplos comunes incluyen Minmod, Van Leer, SuperBee y Limitadores centrales monotonizados.<\/p>\n<p>Los m\u00e9todos de disminuci\u00f3n de la variaci\u00f3n total est\u00e1n dise\u00f1ados para evitar aumentar la variaci\u00f3n total de una soluci\u00f3n unidimensional. Ofrecen un compromiso \u00fatil entre la robustez del primer orden de primer orden y la resoluci\u00f3n de un esquema de orden superior.<\/p>\n<p>Cerca de una discontinuidad real, un limitador no lineal normalmente reduce el orden local. Esto es de esperar: mantener la monotonicidad y el alto orden lineal en una discontinuidad son objetivos en conflicto.<\/p>\n<h2>M\u00e9todos<\/h2>\n<p>Los m\u00e9todos esencialmente no oscilatorios ponderados utilizan varias plantillas candidatas. Los indicadores de suavidad asignan un peso m\u00e1s bajo a las plantillas que cruzan una discontinuidad.<\/p>\n<p>Los m\u00e9todos WENO pueden proporcionar una precisi\u00f3n de alto orden en regiones suaves al tiempo que evitan las oscilaciones m\u00e1s fuertes de un esquema lineal de orden superior fijo. Son ampliamente utilizados para el flujo compresible, las leyes de conservaci\u00f3n y los problemas con los choques en movimiento.<\/p>\n<p>Sus desventajas incluyen un mayor costo computacional, dependencias de datos m\u00e1s amplias, tratamiento de l\u00edmites m\u00e1s complejo y varias opciones de implementaci\u00f3n que afectan la disipaci\u00f3n.<\/p>\n<h2>Estabilizaci\u00f3n de supg<\/h2>\n<p>La estabilizaci\u00f3n aerodin\u00e1mica hacia arriba del viento\/petrov-galerkin es principalmente una t\u00e9cnica de elementos finitos. Modifica el espacio de prueba para que la forma d\u00e9bil reciba una contribuci\u00f3n basada en residuos alineada con el flujo.<\/p>\n<p>Para un operador con fuerte residuo:<\/p>\n<pre><code>R(\u03c6) =\n\u2202\u03c6\/\u2202t\n+ v \u00b7 \u2207\u03c6\n- \u2207 \u00b7 (\u03b1\u2207\u03c6)\n- S<\/code><\/pre>\n<p>Un t\u00e9rmino de estabilizaci\u00f3n t\u00edpico es:<\/p>\n<pre><code>\u03a3_K \u222b_K\n    \u03c4_K\n    (v \u00b7 \u2207w)\n    R(\u03c6_h)\nd\u03a9<\/code><\/pre>\n<p>Debido a que el residuo fuerte aparece en la formulaci\u00f3n, el t\u00e9rmino es consistente: la soluci\u00f3n exacta tambi\u00e9n satisface la ecuaci\u00f3n estabilizada.<\/p>\n<p>El factor <code>v \u00b7 \u2207w<\/code> enfatiza la direcci\u00f3n aerodin\u00e1mica. Esto reduce las oscilaciones sin introducir la misma cantidad de manchas de viento cruzado que la simple difusi\u00f3n artificial isotr\u00f3pica.<\/p>\n<h2>Elegir el par\u00e1metro SUPG<\/h2>\n<p>El par\u00e1metro de estabilizaci\u00f3n no es universalmente igual a <code>h\/(2|v|)<\/code>. Esa expresi\u00f3n es el l\u00edmite alto de peclet de varias f\u00f3rmulas de advecci\u00f3n constante.<\/p>\n<p>Para un problema de advecci\u00f3n-difusi\u00f3n constante unidimensional, una forma com\u00fan es:<\/p>\n<pre><code>\u03c4 =\nh \/ (2|v|)\n[\n    coth(Pe*) - 1\/Pe*\n]\n\nPe* = |v|h \/ (2\u03b1)<\/code><\/pre>\n<p>Cuando la advecci\u00f3n domina fuertemente:<\/p>\n<pre><code>\u03c4 \u2192 h \/ (2|v|)<\/code><\/pre>\n<p>Cuando la difusi\u00f3n domina, la expresi\u00f3n se acerca a un l\u00edmite escalado por difusi\u00f3n en lugar de agregar una estabilizaci\u00f3n excesiva.<\/p>\n<p>Las implementaciones transitorias y multidimensionales pueden combinar escalas de tiempo, advecci\u00f3n y difusi\u00f3n:<\/p>\n<pre><code>\u03c4 \u2248\n[\n    (c_t \/ \u0394t)\u00b2\n    + (c_v |v| \/ h)\u00b2\n    + (c_d \u03b1 \/ h\u00b2)\u00b2\n]\u207b\u00b9\u141f\u00b2<\/code><\/pre>\n<p>Las constantes y la definici\u00f3n de longitud del elemento dependen de la formulaci\u00f3n. La expresi\u00f3n apropiada debe provenir del m\u00e9todo de elementos finitos y la implementaci\u00f3n del software que se est\u00e1 utilizando.<\/p>\n<p>La <a href=\"https:\/\/mooseframework.inl.gov\/source\/kernels\/LevelSetAdvectionSUPG.html\" rel=\"nofollow\" target=\"_blank\">Documentaci\u00f3n de Moose LevelSetAdvectionsUpG<\/a> muestra c\u00f3mo se incluye SUPG como parte de una ecuaci\u00f3n establecida de nivel estabilizada completa.<\/p>\n<h2>SUPG no es difusi\u00f3n artificial isotr\u00f3pica<\/h2>\n<p>Agregar un coeficiente escalar m\u00e1s grande a un t\u00e9rmino de difusi\u00f3n ordinario no es una implementaci\u00f3n completa de SUPG. Un coeficiente de difusi\u00f3n escalar act\u00faa en cada direcci\u00f3n espacial.<\/p>\n<p>SUPG modifica la forma d\u00e9bil utilizando la derivada direccional de la funci\u00f3n de prueba y el residuo fuerte. Por lo tanto, puede agregar estabilizaci\u00f3n aerodin\u00e1mica mientras se conserva una mayor resoluci\u00f3n de viento cruzado.<\/p>\n<p>Las oscilaciones de viento cruzado a\u00fan pueden ocurrir en capas multidimensionales dif\u00edciles. A veces se utilizan t\u00e9rminos adicionales de captura de discontinuidad o captura de golpes con SUPG, pero estos deben dise\u00f1arse y validarse por separado.<\/p>\n<h2>Advecci\u00f3n-difusi\u00f3n en Fipy<\/h2>\n<p>Fipy proporciona varios t\u00e9rminos de convecci\u00f3n de volumen finito, que incluyen:<\/p>\n<ul>\n<li><code>CentralDifferenceConvectionTerm<\/code><\/li>\n<li><code>ExponentialConvectionTerm<\/code><\/li>\n<li><code>HybridConvectionTerm<\/code><\/li>\n<li><code>PowerLawConvectionTerm<\/code><\/li>\n<li><code>UpwindConvectionTerm<\/code><\/li>\n<li><code>ExplicitUpwindConvectionTerm<\/code><\/li>\n<li><code>VanLeerConvectionTerm<\/code><\/li>\n<\/ul>\n<p>El coeficiente de un t\u00e9rmino de convecci\u00f3n debe representar una velocidad o flujo vectorial. En dos dimensiones, se puede suministrar un vector constante en la forma <code>((v_x,), (v_y,))<\/code>.<\/p>\n<h2>Un ejemplo de lucha contra el viento<\/h2>\n<p>El siguiente ejemplo transporta una regi\u00f3n escalar circular a trav\u00e9s de un dominio bidimensional y agrega una peque\u00f1a cantidad de difusi\u00f3n f\u00edsica:<\/p>\n<pre><code class=\"language-python\">from fipy import (\n    Grid2D,\n    CellVariable,\n    TransientTerm,\n    DiffusionTerm,\n    UpwindConvectionTerm\n)\nfrom fipy.tools import numerix\n\n# Domain\nlength_x = 2.0\nlength_y = 1.0\n\nnx = 200\nny = 100\n\ndx = length_x \/ nx\ndy = length_y \/ ny\n\nmesh = Grid2D(\n    nx=nx,\n    ny=ny,\n    dx=dx,\n    dy=dy\n)\n\n# Transported scalar\nphi = CellVariable(\n    name=\"concentration\",\n    mesh=mesh,\n    value=0.0,\n    hasOld=True\n)\n\nx, y = mesh.cellCenters\n\ninitial_region = (\n    (x - 0.4) ** 2\n    + (y - 0.5) ** 2\n    &lt; 0.1 ** 2\n)\n\nphi.setValue(\n    1.0,\n    where=initial_region\n)\n\n# Constant velocity vector\nvelocity_x = 1.0\nvelocity_y = 0.0\n\nvelocity = (\n    (velocity_x,),\n    (velocity_y,)\n)\n\ndiffusivity = 1e-3\n\nequation = (\n    TransientTerm(var=phi)\n    + UpwindConvectionTerm(\n        coeff=velocity,\n        var=phi\n    )\n    == DiffusionTerm(\n        coeff=diffusivity,\n        var=phi\n    )\n)\n\n# Inflow value on the left boundary\nphi.constrain(\n    0.0,\n    where=mesh.facesLeft\n)\n\n# Moderate time step for temporal accuracy\ndt = 0.25 * dx \/ abs(velocity_x)\nnumber_of_steps = 200\n\nfor step in range(number_of_steps):\n    phi.updateOld()\n    equation.solve(\n        var=phi,\n        dt=dt\n    )<\/code><\/pre>\n<p><code>UpwindConvectionTerm<\/code> utiliza una discretizaci\u00f3n impl\u00edcita de convecci\u00f3n de primer orden de primer orden. Por lo tanto, el paso de tiempo elegido no se presenta como un estricto l\u00edmite CFL expl\u00edcito. Se mantiene moderado para resolver el transporte con precisi\u00f3n.<\/p>\n<p>Para la convecci\u00f3n integrada expl\u00edcitamente, el esquema completo debe satisfacer la restricci\u00f3n de estabilidad asociada con los m\u00e9todos espaciales y temporales elegidos.<\/p>\n<h2>Uso del esquema de ley de potencia de Fipy<\/h2>\n<p>Para la convecci\u00f3n-difusi\u00f3n constante, los ejemplos oficiales de Fipy usan <code>PowerLawConvectionTerm<\/code>:<\/p>\n<pre><code class=\"language-python\">from fipy import (\n    CellVariable,\n    Grid1D,\n    DiffusionTerm,\n    PowerLawConvectionTerm\n)\n\nlength = 10.0\ncell_count = 1000\n\nmesh = Grid1D(\n    nx=cell_count,\n    dx=length \/ cell_count\n)\n\nconcentration = CellVariable(\n    name=\"concentration\",\n    mesh=mesh,\n    value=0.0\n)\n\nconcentration.constrain(\n    0.0,\n    where=mesh.facesLeft\n)\n\nconcentration.constrain(\n    1.0,\n    where=mesh.facesRight\n)\n\ndiffusivity = 1.0\nvelocity = (10.0,)\n\nequation = (\n    DiffusionTerm(\n        coeff=diffusivity\n    )\n    + PowerLawConvectionTerm(\n        coeff=velocity\n    )\n)\n\nequation.solve(\n    var=concentration\n)<\/code><\/pre>\n<p>Documentos fipy <code>PowerLawConvectionTerm<\/code> y <code>ExponentialConvectionTerm<\/code> como adecuados para una amplia gama de casos de convecci\u00f3n-difusi\u00f3n, con la aproximaci\u00f3n de ley de potencia que ofrece una opci\u00f3n pr\u00e1ctica m\u00e1s eficiente.<\/p>\n<h2>Comprobaci\u00f3n del n\u00famero de peclet<\/h2>\n<p>Para el ejemplo bidimensional uniforme, los n\u00fameros de peclet de celda direccional se pueden calcular como:<\/p>\n<pre><code class=\"language-python\">peclet_x = (\n    abs(velocity_x)\n    * dx\n    \/ diffusivity\n)\n\npeclet_y = (\n    abs(velocity_y)\n    * dy\n    \/ diffusivity\n)\n\nprint(\"Pe_x =\", peclet_x)\nprint(\"Pe_y =\", peclet_y)<\/code><\/pre>\n<p>Para las mallas no uniformes y las velocidades variables, calcule un n\u00famero de peclet de la cara local utilizando la velocidad de la cara normal y la distancia de la c\u00e9lula local. Un solo valor global puede ocultar regiones de pecle alto.<\/p>\n<h2>Los errores espaciales y temporales deben estar separados<\/h2>\n<p>La mancha en un c\u00e1lculo de advecci\u00f3n puede provenir del flujo espacial, el integrador de tiempo o ambos.<\/p>\n<p>Euler hacia atr\u00e1s, por ejemplo, es disipativo para los modos de decaimiento y oscilatorio. La manivela-Nicolson se comporta de manera diferente y no humedece fuertemente todos los modos r\u00edgidos. Los m\u00e9todos expl\u00edcitos de Runge-Kutta tienen sus propias curvas de disipaci\u00f3n y dispersi\u00f3n.<\/p>\n<p>Por lo tanto, es inexacto afirmar que cada m\u00e9todo impl\u00edcito siempre introduce la misma cantidad de difusi\u00f3n. La amortiguaci\u00f3n num\u00e9rica depende del m\u00e9todo.<\/p>\n<p>Un an\u00e1lisis \u00fatil var\u00eda la malla mientras se mantiene peque\u00f1o el error temporal, luego var\u00eda el paso de tiempo en una malla fina fija. Esto ayuda a separar la difusi\u00f3n num\u00e9rica espacial del error temporal.<\/p>\n<p>La gu\u00eda relacionada <a href=\"https:\/\/matforge.org\/time-integration-methods-for-pde-solvers-explicit-vs-implicit-schemes\/\">m\u00e9todos de integraci\u00f3n de tiempo para solucionadores de PDE: expl\u00edcito vs impl\u00edcito Schemes<\/a> analiza esta distinci\u00f3n con m\u00e1s detalle.<\/p>\n<h2>Elegir una estrategia de estabilizaci\u00f3n<\/h2>\n<table class=\"custom-table\">\n<tbody><tr>\n<th>Situaci\u00f3n<\/th>\n<th>Posible punto de partida<\/th>\n<th>Consideraci\u00f3n principal<\/th>\n<\/tr>\n<tr>\n<td>N\u00famero de peclet de c\u00e9lulas bajas y soluci\u00f3n suave<\/td>\n<td>Diferenciaci\u00f3n central<\/td>\n<td>Baja difusi\u00f3n y precisi\u00f3n de segundo orden<\/td>\n<\/tr>\n<tr>\n<td>N\u00famero de peclet alto con prioridad de robustez<\/td>\n<td>contra el viento<\/td>\n<td>Acotado pero potencialmente sobredifusivo<\/td>\n<\/tr>\n<tr>\n<td>Soluci\u00f3n suave que requiere mayor precisi\u00f3n<\/td>\n<td>Lineal contra el viento o r\u00e1pido<\/td>\n<td>Comprobar el l\u00edmite y el tratamiento de los l\u00edmites<\/td>\n<\/tr>\n<tr>\n<td>Frente afilado que requiere monotonicidad<\/td>\n<td>M\u00e9todo limitado por flujo de TVD<\/td>\n<td>Limitador no lineal reduce las oscilaciones<\/td>\n<\/tr>\n<tr>\n<td>Ley de Conservaci\u00f3n Dominada por Choques<\/td>\n<td>M\u00e9todo Godunov, WENO o DG<\/td>\n<td>Requiere flujos num\u00e9ricos apropiados para la ecuaci\u00f3n<\/td>\n<\/tr>\n<tr>\n<td>Advecci\u00f3n-difusi\u00f3n de elementos finitos<\/td>\n<td>sorbo<\/td>\n<td>Estabilizaci\u00f3n residual aerodin\u00e1mica constante<\/td>\n<\/tr>\n<tr>\n<td>Capas de viento cruzado complejas<\/td>\n<td>Supg con captura de choque adicional o refinamiento local<\/td>\n<td>Supg solo puede no controlar todas las oscilaciones del viento cruzado<\/td>\n<\/tr>\n<\/tbody><\/table>\n<h2>Condiciones de contorno en problemas de advecci\u00f3n<\/h2>\n<p>La advecci\u00f3n transporta informaci\u00f3n al dominio a trav\u00e9s de los l\u00edmites de entrada. Los valores de los l\u00edmites deben prescribirse normalmente donde:<\/p>\n<pre><code>v \u00b7 n &lt; 0<\/code><\/pre>\n<p>En un l\u00edmite de flujo de salida, la prescripci\u00f3n de un valor escalar innecesario puede constricci\u00f3n del problema o crear una capa l\u00edmite falsa.<\/p>\n<p>La difusi\u00f3n cambia los requisitos de los l\u00edmites porque introduce un operador espacial de segundo orden. Por lo tanto, un modelo de advecci\u00f3n-difusi\u00f3n completo puede necesitar una condici\u00f3n de valor o flujo derivada del problema f\u00edsico.<\/p>\n<p>Las condiciones de los l\u00edmites deben verificarse junto con la direcci\u00f3n del flujo. Un esquema puede parecer inestable cuando el problema real es un tratamiento incorrecto de entrada o salida.<\/p>\n<h2>Alineaci\u00f3n de malla y difusi\u00f3n de viento cruzado<\/h2>\n<p>La difusi\u00f3n num\u00e9rica est\u00e1 influenciada por la orientaci\u00f3n de la malla. En una cuadr\u00edcula cartesiana, el transporte alineado con un eje de coordenadas suele representarse m\u00e1s limpiamente que el transporte diagonal.<\/p>\n<p>Cuando el flujo cruza la rejilla oblicuamente, los esquemas contra el viento multidimensionales de primer orden pueden introducir una mancha sustancial de viento cruzado. El refinamiento, las mallas anisotr\u00f3picas, la reconstrucci\u00f3n de m\u00ednimos cuadrados, la limitaci\u00f3n multidimensional o la estabilizaci\u00f3n de elementos finitos basados en residuos pueden mejorar el resultado.<\/p>\n<p>Un tama\u00f1o de celda peque\u00f1o por s\u00ed solo no garantiza una buena precisi\u00f3n si las c\u00e9lulas est\u00e1n muy sesgadas o est\u00e1n mal alineadas con capas importantes.<\/p>\n<h2>Pruebas de verificaci\u00f3n<\/h2>\n<p>Se debe probar una nueva implementaci\u00f3n de advecci\u00f3n en problemas con el comportamiento conocido.<\/p>\n<h3>Traducci\u00f3n de un perfil suave<\/h3>\n<p>Use l\u00edmites peri\u00f3dicos y transporte una onda gaussiana o sinusoidal suave. Despu\u00e9s de un per\u00edodo, compare el perfil num\u00e9rico con la condici\u00f3n inicial.<\/p>\n<p>Esta prueba revela p\u00e9rdida de amplitud y error de fase.<\/p>\n<h3>Traducci\u00f3n de un pulso cuadrado<\/h3>\n<p>Un pulso cuadrado expone la difusi\u00f3n num\u00e9rica y las oscilaciones. El primer orden contra el viento mancha los bordes, mientras que los esquemas de alto orden no restringidos pueden sobrepasar.<\/p>\n<h3>gota giratoria<\/h3>\n<p>Un campo de velocidad de rotaci\u00f3n bidimensional prueba el transporte multidimensional, la difusi\u00f3n del viento cruzado y los efectos de orientaci\u00f3n de la malla.<\/p>\n<h3>Capa l\u00edmite estable<\/h3>\n<p>Un problema de difusi\u00f3n de convecci\u00f3n constante y unidimensional con una soluci\u00f3n anal\u00edtica conocida prueba el criterio de peclet celular y la capacidad de resolver una delgada capa de flujo de salida.<\/p>\n<h2>Convergencia de malla y paso de tiempo<\/h2>\n<p>Ejecute el mismo problema en varias mallas. Medir errores en cantidades tales como:<\/p>\n<ul>\n<li>valor pico<\/li>\n<li>posici\u00f3n frontal<\/li>\n<li>Espesor de la capa &lt;&gt;<\/li>\n<li>Masa transportada total<\/li>\n<li><code>L1<\/code>, <code>L2<\/code> o norma m\u00e1xima<\/li>\n<li>sobreimpulso y bajo<\/li>\n<\/ul>\n<p>Repita el c\u00e1lculo con pasos de tiempo m\u00e1s peque\u00f1os en una malla fija. Esto separa los errores espaciales y temporales.<\/p>\n<p>Un m\u00e9todo de orden superior debe demostrar su convergencia esperada en una prueba suave. Cerca de las discontinuidades, la convergencia global puede ser menor porque la soluci\u00f3n exacta carece de regularidad suficiente.<\/p>\n<h2>Errores comunes<\/h2>\n<ul>\n<li>Mezclar dos definiciones de n\u00fameros de peclet diferentes<\/li>\n<li>Aplicando el umbral de diferencia central constante a cada esquema transitorio<\/li>\n<li>Llamar a contracturante incondicionalmente estable sin especificar el integrador de tiempo<\/li>\n<li>Suponiendo que la difusi\u00f3n num\u00e9rica depende solo del paso de tiempo<\/li>\n<li>Reemplazo de SUPG con difusi\u00f3n isotr\u00f3pica ordinaria<\/li>\n<li>Suponiendo que SUPG siempre usa <code>\u03c4 = h\/(2|v|)<\/code><\/li>\n<li>Uso de un esquema lineal de orden alto no restringido cerca de una discontinuidad<\/li>\n<li>Aumento de la difusividad f\u00edsica para ocultar la difuminaci\u00f3n num\u00e9rica<\/li>\n<li>Aplicar valores escalares tanto en la entrada como en el flujo de salida sin verificar el PDE<\/li>\n<li>Comparaci\u00f3n de esquemas en diferentes mallas o en diferentes niveles de error<\/li>\n<li>Ignorar la conservaci\u00f3n de la masa y los l\u00edmites f\u00edsicos<\/li>\n<li>Atribuci\u00f3n de toda amortiguaci\u00f3n a la discretizaci\u00f3n espacial<\/li>\n<\/ul>\n<h2>un flujo de trabajo pr\u00e1ctico<\/h2>\n<ol>\n<li>Escriba la ecuaci\u00f3n en forma conservadora o no conservativa seg\u00fan lo requiera la f\u00edsica.<\/li>\n<li>Identifique los l\u00edmites de entrada, salida y difusi\u00f3n.<\/li>\n<li>Calcule los n\u00fameros de peclet de celda direccional local.<\/li>\n<li>Comience con un esquema robusto contra el viento o acotado.<\/li>\n<li>Mida la difusi\u00f3n num\u00e9rica en una prueba de transporte conocida.<\/li>\n<li>Refina la malla y verifica la convergencia.<\/li>\n<li>Pasar a un esquema de orden superior limitado cuando la difusi\u00f3n es inaceptable.<\/li>\n<li>Use SUPG para formulaciones de elementos finitos que necesitan una estabilizaci\u00f3n aerodin\u00e1mica.<\/li>\n<li>Compruebe el n\u00famero de Courant y la convergencia temporal por separado.<\/li>\n<li>Documente el flujo, el limitador, el par\u00e1metro de estabilizaci\u00f3n y el tratamiento de los l\u00edmites.<\/li>\n<\/ol>\n<h2>Gu\u00edas relacionadas<\/h2>\n<ul>\n<li><a href=\"https:\/\/matforge.org\/finite-volume-method-explained-simply\/\">m\u00e9todo de volumen finito explicado simplemente<\/a> \u2014 Revise los flujos faciales, la conservaci\u00f3n y la discretizaci\u00f3n centrada en las c\u00e9lulas.<\/li>\n<li><a href=\"https:\/\/matforge.org\/time-integration-methods-for-pde-solvers-explicit-vs-implicit-schemes\/\">m\u00e9todos de integraci\u00f3n de tiempo para solucionadores de PDE: esquemas expl\u00edcitos frente a impl\u00edcitos<\/a> \u2014 Compare las restricciones de CFL, la amortiguaci\u00f3n y el error temporal.<\/li>\n<li><a href=\"https:\/\/matforge.org\/when-to-use-fem-fvm-fdm\/\">cu\u00e1ndo usar FEM, FVM o FDM<\/a> \u2014 Elija una discretizaci\u00f3n espacial para el problema de gobierno.<\/li>\n<li><a href=\"https:\/\/matforge.org\/mesh-quality-convergence-studies-guide-2\/\">Estudios de calidad y convergencia de malla: una gu\u00eda pr\u00e1ctica<\/a> \u2014 Conecte la resoluci\u00f3n local con la convergencia num\u00e9rica.<\/li>\n<li><a href=\"https:\/\/matforge.org\/operator-splitting-strang-splitting-and-imex-schemes-for-pde-solvers\/\">Esquemas de divisi\u00f3n de operadores, divisi\u00f3n de operaciones y esquemas IMEX para PDE Solvers<\/a> \u2014 Advecci\u00f3n separada de los procesos de difusi\u00f3n y reacci\u00f3n.<\/li>\n<li><a href=\"https:\/\/matforge.org\/extending-fipy-with-custom-modules\/\">extendiendo fipy con m\u00f3dulos personalizados<\/a> \u2014 Explore el comportamiento num\u00e9rico personalizado en los modelos fipy.<\/li>\n<\/ul>\n<h2>Lectura adicional<\/h2>\n<ul>\n<li><a href=\"https:\/\/hplgit.github.io\/fdm-book\/\" rel=\"nofollow\" target=\"_blank\">Computaci\u00f3n por diferencias finitas con PDES<\/a> \u2014 An\u00e1lisis detallado de esquemas de advecci\u00f3n, factores de amplificaci\u00f3n, difusi\u00f3n y dispersi\u00f3n.<\/li>\n<li><a href=\"https:\/\/archive.nptel.ac.in\/content\/storage2\/courses\/112108091\/module4\/lecture4.pdf\" rel=\"nofollow\" target=\"_blank\">nptel: convecci\u00f3n y difusi\u00f3n<\/a> \u2014 Discusi\u00f3n del comportamiento de volumen finito central y contra el viento y el criterio de peclet.<\/li>\n<li><a href=\"https:\/\/mooseframework.inl.gov\/source\/kernels\/LevelSetAdvectionSUPG.html\" rel=\"nofollow\" target=\"_blank\">Documentaci\u00f3n de Moose LevelSetAdvectionsUpG<\/a>: una implementaci\u00f3n de la estabilizaci\u00f3n de SUPG para una ecuaci\u00f3n establecida por el nivel.<\/li>\n<li><a href=\"https:\/\/www.wias-berlin.de\/people\/john\/STAB_PROB\/stab_cd.html\" rel=\"nofollow\" target=\"_blank\">WIAS BERLIN: Estabilizaci\u00f3n de problemas dominados por convecci\u00f3n<\/a> \u2014 Recursos sobre m\u00e9todos de elementos finitos estabilizados.<\/li>\n<li><a href=\"https:\/\/oldqa.fenicsproject.org\/13458\/how-implement-supg-properly-advection-dominated-equation\/\" rel=\"nofollow\" target=\"_blank\">FENICS QA: Implementaci\u00f3n de SUPG<\/a> \u2014 Discusi\u00f3n hist\u00f3rica de la implementaci\u00f3n y precauciones pr\u00e1cticas.<\/li>\n<li><a href=\"https:\/\/pages.nist.gov\/fipy\/en\/benchmark_patched_b873c7e3f\/generated\/examples.levelSet.advection.html\" rel=\"nofollow\" target=\"_blank\">Ejemplos de advecci\u00f3n establecidos en el nivel de Fipy<\/a> \u2014 Ejemplos de advecci\u00f3n de la documentaci\u00f3n de Fipy.<\/li>\n<li><a href=\"https:\/\/www.cmor-faculty.rice.edu\/~heinken\/papers\/supg_analysis.pdf\" rel=\"nofollow\" target=\"_blank\">Supg An\u00e1lisis de m\u00e9todos de elementos finitos<\/a> \u2014 An\u00e1lisis matem\u00e1tico de formulaciones de elementos finitos estabilizados.<\/li>\n<li><a href=\"https:\/\/scicomp.stackexchange.com\/questions\/31424\/\" rel=\"nofollow\" target=\"_blank\">Intercambio de pila de ciencia computacional: por qu\u00e9 la advecci\u00f3n es desafiante<\/a> \u2014 Discusi\u00f3n comunitaria de num\u00e9rico Cuestiones en las ecuaciones de advecci\u00f3n.<\/li>\n<\/ul>\n<h2>Conclusi\u00f3n<\/h2>\n<p>Las ecuaciones dominadas por la advecci\u00f3n desaf\u00edan los m\u00e9todos num\u00e9ricos porque la difusi\u00f3n f\u00edsica es demasiado d\u00e9bil para suprimir el comportamiento de escala de cuadr\u00edcula no resuelto. El n\u00famero de peclet de celda ayuda a determinar si es probable que una discretizaci\u00f3n de volumen finito central estable permanezca limitada, pero su definici\u00f3n y campo de aplicaci\u00f3n deben establecerse correctamente.<\/p>\n<p>El primer orden contra el viento proporciona una aproximaci\u00f3n direccional robusta. Su error de truncamiento principal se comporta como la difusi\u00f3n artificial con coeficiente <code>|v|h\/2<\/code>, lo que explica tanto su estabilidad como su tendencia a manchar los frentes.<\/p>\n<p>Los m\u00e9todos lineales de orden superior reducen la difusi\u00f3n num\u00e9rica, pero pueden introducir oscilaciones dispersivas. Los limitadores de flujo, los esquemas de TVD y los m\u00e9todos Weno utilizan mecanismos no lineales para retener una alta resoluci\u00f3n en regiones suaves al tiempo que reducen las oscilaciones cerca de gradientes pronunciados.<\/p>\n<p>SUPG cumple un prop\u00f3sito relacionado en m\u00e9todos de elementos finitos. Agrega un t\u00e9rmino basado en residuos consistente alineado con la direcci\u00f3n del flujo. Su par\u00e1metro de estabilizaci\u00f3n depende de la advecci\u00f3n local, la difusi\u00f3n, la malla y, a veces, la escala de tiempo; No debe ser reemplazado a ciegas por una cantidad fija de difusi\u00f3n isotr\u00f3pica.<\/p>\n<p>Ning\u00fan esquema es universalmente mejor. La elecci\u00f3n correcta depende del n\u00famero de peclet local, la regularidad de la soluci\u00f3n, los requisitos de conservaci\u00f3n, la calidad de la malla, las condiciones de contorno y la tolerancia a la difusi\u00f3n o la dispersi\u00f3n. Una elecci\u00f3n cre\u00edble debe estar respaldada por pruebas anal\u00edticas, refinamiento de malla, convergencia temporal y controles de l\u00edmites f\u00edsicos.<\/p>\n<\/article>\n"},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\"> 14<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>Las ecuaciones diferenciales parciales dominadas por la advecci\u00f3n son dif\u00edciles porque la informaci\u00f3n se mueve principalmente a lo largo de una direcci\u00f3n de flujo, mientras que la difusi\u00f3n f\u00edsica proporciona un poco de suavizado. Un m\u00e9todo num\u00e9rico que funciona bien para un problema dominado por la difusi\u00f3n puede producir oscilaciones, manchas excesivas o valores no [&hellip;]<\/p>\n","protected":false,"raw":""},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_locale":"es_ES","_original_post":"https:\/\/matforge.org\/?p=478","iawp_total_views":0,"footnotes":""},"categories":[1],"tags":[66,60,67,65,23,10,27],"class_list":["post-538","post","type-post","status-publish","format-standard","hentry","category-simulation-modeling-projects","tag-adveccion","tag-cojo","tag-dinamica-computacional-de-fluidos","tag-metodo-de-volumen-finito","tag-numerical-methods","tag-pde","tag-supg","es-ES"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Estabilizar los problemas dominados por la advecci\u00f3n<\/title>\n<meta name=\"description\" content=\"Compare los esquemas central, contra el viento, de alta resoluci\u00f3n y SUPG para los PDE dominados por advecci\u00f3n utilizando Peclet, CFL y an\u00e1lisis de convergencia.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/matforge.org\/es\/advection-dominated-problems-supg-stabilization\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Estabilizar los problemas dominados por la advecci\u00f3n\" \/>\n<meta property=\"og:description\" content=\"Compare los esquemas central, contra el viento, de alta resoluci\u00f3n y SUPG para los PDE dominados por advecci\u00f3n utilizando Peclet, CFL y an\u00e1lisis de convergencia.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/matforge.org\/es\/advection-dominated-problems-supg-stabilization\/\" \/>\n<meta property=\"og:site_name\" content=\"matforge.org\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-22T08:18:03+00:00\" \/>\n<meta name=\"author\" content=\"Elena Markovska\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Elena Markovska\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"23 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/matforge.org\\\/es\\\/advection-dominated-problems-supg-stabilization\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/es\\\/advection-dominated-problems-supg-stabilization\\\/\"},\"author\":{\"name\":\"Elena Markovska\",\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/980162bb5de46742daece973661d93da\"},\"headline\":\"Problemas dominados por la advecci\u00f3n: esquemas contra el viento y estabilizaci\u00f3n de SUPG\",\"datePublished\":\"2026-07-22T08:18:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/es\\\/advection-dominated-problems-supg-stabilization\\\/\"},\"wordCount\":4314,\"commentCount\":0,\"keywords\":[\"advecci\u00f3n\",\"cojo\",\"Din\u00e1mica computacional de fluidos\",\"M\u00e9todo de volumen finito\",\"numerical methods\",\"PDE\",\"supg\"],\"articleSection\":[\"Simulaci\u00f3n &amp; Proyectos de modelado\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/matforge.org\\\/es\\\/advection-dominated-problems-supg-stabilization\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/matforge.org\\\/es\\\/advection-dominated-problems-supg-stabilization\\\/\",\"url\":\"https:\\\/\\\/matforge.org\\\/es\\\/advection-dominated-problems-supg-stabilization\\\/\",\"name\":\"Estabilizar los problemas dominados por la advecci\u00f3n\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/#website\"},\"datePublished\":\"2026-07-22T08:18:03+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/980162bb5de46742daece973661d93da\"},\"description\":\"Compare los esquemas central, contra el viento, de alta resoluci\u00f3n y SUPG para los PDE dominados por advecci\u00f3n utilizando Peclet, CFL y an\u00e1lisis de convergencia.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/es\\\/advection-dominated-problems-supg-stabilization\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/matforge.org\\\/es\\\/advection-dominated-problems-supg-stabilization\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/matforge.org\\\/es\\\/advection-dominated-problems-supg-stabilization\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/matforge.org\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Problemas dominados por la advecci\u00f3n: esquemas contra el viento y estabilizaci\u00f3n de SUPG\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/matforge.org\\\/#website\",\"url\":\"https:\\\/\\\/matforge.org\\\/\",\"name\":\"matforge.org\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/matforge.org\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/980162bb5de46742daece973661d93da\",\"name\":\"Elena Markovska\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g\",\"caption\":\"Elena Markovska\"},\"sameAs\":[\"http:\\\/\\\/matforge.org\"],\"url\":\"https:\\\/\\\/matforge.org\\\/author\\\/elena-markovska\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Estabilizar los problemas dominados por la advecci\u00f3n","description":"Compare los esquemas central, contra el viento, de alta resoluci\u00f3n y SUPG para los PDE dominados por advecci\u00f3n utilizando Peclet, CFL y an\u00e1lisis de convergencia.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/matforge.org\/es\/advection-dominated-problems-supg-stabilization\/","og_locale":"es_ES","og_type":"article","og_title":"Estabilizar los problemas dominados por la advecci\u00f3n","og_description":"Compare los esquemas central, contra el viento, de alta resoluci\u00f3n y SUPG para los PDE dominados por advecci\u00f3n utilizando Peclet, CFL y an\u00e1lisis de convergencia.","og_url":"https:\/\/matforge.org\/es\/advection-dominated-problems-supg-stabilization\/","og_site_name":"matforge.org","article_published_time":"2026-07-22T08:18:03+00:00","author":"Elena Markovska","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Elena Markovska","Tiempo de lectura":"23 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/matforge.org\/es\/advection-dominated-problems-supg-stabilization\/#article","isPartOf":{"@id":"https:\/\/matforge.org\/es\/advection-dominated-problems-supg-stabilization\/"},"author":{"name":"Elena Markovska","@id":"https:\/\/matforge.org\/#\/schema\/person\/980162bb5de46742daece973661d93da"},"headline":"Problemas dominados por la advecci\u00f3n: esquemas contra el viento y estabilizaci\u00f3n de SUPG","datePublished":"2026-07-22T08:18:03+00:00","mainEntityOfPage":{"@id":"https:\/\/matforge.org\/es\/advection-dominated-problems-supg-stabilization\/"},"wordCount":4314,"commentCount":0,"keywords":["advecci\u00f3n","cojo","Din\u00e1mica computacional de fluidos","M\u00e9todo de volumen finito","numerical methods","PDE","supg"],"articleSection":["Simulaci\u00f3n &amp; Proyectos de modelado"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/matforge.org\/es\/advection-dominated-problems-supg-stabilization\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/matforge.org\/es\/advection-dominated-problems-supg-stabilization\/","url":"https:\/\/matforge.org\/es\/advection-dominated-problems-supg-stabilization\/","name":"Estabilizar los problemas dominados por la advecci\u00f3n","isPartOf":{"@id":"https:\/\/matforge.org\/#website"},"datePublished":"2026-07-22T08:18:03+00:00","author":{"@id":"https:\/\/matforge.org\/#\/schema\/person\/980162bb5de46742daece973661d93da"},"description":"Compare los esquemas central, contra el viento, de alta resoluci\u00f3n y SUPG para los PDE dominados por advecci\u00f3n utilizando Peclet, CFL y an\u00e1lisis de convergencia.","breadcrumb":{"@id":"https:\/\/matforge.org\/es\/advection-dominated-problems-supg-stabilization\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/matforge.org\/es\/advection-dominated-problems-supg-stabilization\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/matforge.org\/es\/advection-dominated-problems-supg-stabilization\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/matforge.org\/es\/"},{"@type":"ListItem","position":2,"name":"Problemas dominados por la advecci\u00f3n: esquemas contra el viento y estabilizaci\u00f3n de SUPG"}]},{"@type":"WebSite","@id":"https:\/\/matforge.org\/#website","url":"https:\/\/matforge.org\/","name":"matforge.org","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/matforge.org\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/matforge.org\/#\/schema\/person\/980162bb5de46742daece973661d93da","name":"Elena Markovska","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g","caption":"Elena Markovska"},"sameAs":["http:\/\/matforge.org"],"url":"https:\/\/matforge.org\/author\/elena-markovska\/"}]}},"_links":{"self":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/538","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/comments?post=538"}],"version-history":[{"count":1,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/538\/revisions"}],"predecessor-version":[{"id":751,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/538\/revisions\/751"}],"wp:attachment":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/media?parent=538"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/categories?post=538"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/tags?post=538"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}