You do not have permission to edit this page, for the following reason:

You are not allowed to execute the action you have requested.


You can view and copy the source of this page.

x
 
1
==Resumen==
2
3
En este artículo se presenta un método de alto orden de Galerkin discontinuo para problemas de flujo compresible, en los cuales es muy frecuente la aparición de choques. La estabilización se introduce mediante una nueva base de funciones. Esta base tiene la flexibilidad de variar localmente (en cada elemento) entre un espacio de funciones polinómicas continuas o un espacio de funciones polinómicas a trozos. Así, el método propuesto proporciona un puente entre los métodos estándar de alto orden de Galerkin discontinuo y los clásicos métodos de volúmenes finitos, manteniendo la localidad y compacidad del esquema. La variación de las funciones de la base se define automáticamente en función de la regularidad de la solución y la estabilización se introduce mediante el operador salto, estándar en los métodos Galerkin discontinuo. A diferencia de los clásicos métodos de limitadores de pendiente, la estrategia que se presenta es muy local y robusta, y es aplicable a cualquier orden de aproximación. Además, el método propuesto no requiere refinamiento adaptativo de la malla ni restricción del esquema de integración temporal. Se consideran varias aplicaciones de las ecuaciones de Euler que demuestran la validez y efectividad del método, especialmente para altos órdenes de aproximación.
4
5
==Abstract==
6
7
This article presents a high-order Discontinuous Galerkin method for compressible flow problems, in which is very frequent the formation of shocks. The stabilization is introduced by a new basis functions. This base has the flexibility to vary locally (within each element) between continuous polynomial functions space and a space of piecewise polynomial functions. Thus, the proposed method provides a bridge between the standard methods of high-order Discontinuous Galerkin and classical Finite Volume methods, maintaining the locality and compactness of the scheme. The variation of basis functions is automatically set according to the regularity of the solution and the stabilization is introduced by the jump operator, standard in Discontinuous Galerkin methods. Unlike the classical methods of slope limiting, the strategy here presented is very local, robust, and applies to any order of approximation. Moreover, the proposed method does not require adaptive mesh refinement techniques and it can be used with any temporal integration scheme. Several applications of the Euler equations are shown, demonstrating the validity and effectiveness of the method, especially for high orders of approximation.
8
9
==Palabras clave==
10
11
Galerkin discontinuo de alto orden ; Ecuaciones de Euler ; Captura de choques ; Funciones de forma ; Sensor
12
13
==Keywords==
14
15
High-order discontinous Galerkin ; Euler equations ; Shock-capturing ; Shape functions ; Sensor
16
17
==1. Introducción==
18
19
El desarrollo de métodos numéricos cada vez más precisos para la resolución de problemas de dinámica de fluidos es una imperante necesidad. Dos de los campos de la dinámica de fluidos computacional que requieren esquemas de máxima precisión son la turbulencia y la aeroacústica. Las ecuaciones involucradas son las de Navier-Stokes y las de Euler. En la última década, el desarrollo de métodos numéricos de alta precisión ha ido ligado, en general, al aumento del orden de los esquemas numéricos en mallas no estructuradas. Sin embargo, los esquemas de alto orden para el cálculo de flujo compresible son computacionalmente inestables debido a la aparición de oscilaciones espurias físicamente inaceptables [[#bib0005|[1]]]  and [[#bib0010|[2]]] .      
20
21
Los métodos de Galerkin discontinuo [[#bib0015|[3]]] , [[#bib0020|[4]]] , [[#bib0025|[5]]] , [[#bib0030|[6]]]  and [[#bib0035|[7]]]  se presentan como una buena alternativa para la solución de problemas de propagación de ondas y, en general, de leyes de conservación hiperbólicas. Estos métodos proporcionan un puente entre la aproximación mediante funciones de forma de elementos finitos continuos y la tecnología de los métodos de volúmenes finitos [[#bib0040|[8]]]  and [[#bib0045|[9]]] . Para problemas puramente hiperbólicos los métodos Galerkin discontinuo proporcionan un esquema muy compacto para cualquier orden de aproximación y cualquier tipo de malla no estructurada e incluso con nodos colgantes. Lamentablemente, en presencia de choques y cuando se utilizan altos órdenes de aproximación (''p''  ≥ 1) el mecanismo estabilizador introducido por los métodos Galerkin discontinuo mediante el operador salto no es suficiente. En estos casos es necesario utilizar otras técnicas más robustas de estabilización que, en general, van acompañadas del refinamiento adaptativo de la malla.      
22
23
Entre las técnicas posibles de resolución de choques destacan las técnicas de limitación [[#bib0025|[5]]] , [[#bib0050|[10]]] , [[#bib0055|[11]]] , [[#bib0060|[12]]]  and [[#bib0065|[13]]]  y las técnicas de difusión artificial [[#bib0070|[14]]] , [[#bib0075|[15]]]  and [[#bib0080|[16]]] . Los limitadores de pendiente se introducen inicialmente para los métodos de volúmenes finitos [[#bib0010|[2]]]  y posteriormente se extienden a métodos de Galerkin discontinuo [[#bib0020|[4]]]  and [[#bib0085|[17]]] . Estos esquemas buscan la monotonicidad de la solución en los valores promedios y, por lo tanto, reducen la aproximación a orden constante o, en el mejor de los casos, lineal, no solo en la región donde se localiza el choque, sino también en su entorno. Además, para poder garantizar estabilidad no lineal en una seminorma arbitraria solo pueden emplearse en combinación con una clase particular de esquemas de integración temporal Runge-Kutta explícitos que hasta el momento, según el conocimiento de los autores, como mucho son de cuarto orden [[#bib0090|[18]]] , [[#bib0095|[19]]]  and [[#bib0100|[20]]] . En resumen, las técnicas de limitadores de pendiente añaden difusión artificial de orden ''h''  (siendo ''h''  tamaño de la malla) proporcionando una solución estable, pero a costa de perder el alto orden de precisión. Esto hace necesario el uso de técnicas de refinamiento adaptativo, que además deben tener en cuenta el carácter direccional del choque.      
24
25
Otras técnicas de reconstrucción más sofisticadas que han centrado la atención de varios autores son los métodos de reconstrucción no oscilatorios de alto orden ENO y WENO [[#bib0095|[19]]] , [[#bib0105|[21]]]  and [[#bib0110|[22]]] . Estos métodos preservan la estabilidad no lineal del esquema así como el alto orden de aproximación proporcionando soluciones libres de oscilaciones. No obstante, añaden grados de libertad adicionales y pierden la compacidad del esquema, debido al uso de stencils amplios. Además el uso de estos métodos queda esencialmente restringido a mallas uniformes y estructuradas, raramente empleadas en el tratamiendo de choques y problemas complejos.      
26
27
La segunda alternativa consiste en la introducción de difusión artificial para obtener soluciones estables. Esta técnica ya fue introducida en los años cincuenta por Von Neumann y Richtmyer [[#bib0070|[14]]] . En su extensión a los métodos Galerkin discontinuo es habitual definir la constante en cada elemento, de esta forma se obtiene una solución precisa que mantiene el grado de la aproximación. En general, la solución es de orden superior al de los limitadores de pendiente. Recientemente se han presentado nuevos enfoques donde el orden obtenido es ''h'' /''p''  o ''h''<sup>''k''</sup>  con ''k''  ≤ ''p'' , siendo ''p''  el grado de aproximación  [[#bib0075|[15]]]  and [[#bib0080|[16]]] . Sin embargo, estos métodos presentan serias dificultades en su extensión al caso multidimensional. Por un lado, ajustar la magnitud de la difusión no es sencillo, así como tampoco el efecto de propagación multidireccional del choque. Por otro lado, añadir difusión constante en todo elemento puede derivar en una pérdida de resolución significativa cuando se utilizan mallas groseras en presencia de capas límite o estructuras no dimensionales, como los choques o discontinuidades. Además, la introducción de difusión artificial implica la resolución de una ecuación diferencial parcial de segundo orden, lo cual conlleva un error asociado a la ecuación original, así como un incremento del coste computacional  [[#bib0115|[23]]]  and [[#bib0120|[24]]] .      
28
29
En este trabajo se explota la flexibilidad que ofrecen los métodos de Galerkin discontinuo, variando el espacio de aproximación en cada elemento, así como también para distintos instantes de la simulación. Un espacio de funciones continuas debe emplearse para aproximar soluciones suaves, y un espacio de funciones discontinuas a trozos es apropiado para soluciones con discontinuidades o gradientes pronunciados. Basándose en esta idea, se introduce una nueva base de funciones polinómicas que dependen linealmente de un parámetro. Este parámetro permite definir funciones de la base localmente según la regularidad de la solución. Así, para un valor del parámetro la base permite una representación continua de alto orden de la solución. Variando el valor del parámetro se introduce una representación local, mediante una expansión polinómica a trozos en el interior de cada elemento. El objetivo reside en aprovechar la potente tecnología que proporcionan los métodos de volúmenes finitos en el contexto de leyes hiperbólicas de conservación, y en general, para problemas de convección dominante. Una de las principales ventajas del método propuesto respecto a los métodos de difusión artificial dependientes de uno o más parámetros es que en este caso el parámetro que define la base de funciones no es arbitrario y está controlado por un indicador de regularidad.
30
31
El método propuesto utiliza el principio estabilizador de los métodos de Galerkin discontinuo en la interfaz de los elementos mediante el operador salto y lo extiende al interior de ellos, tomando como idea un argumento similar a las técnicas de volúmenes finitos. A diferencia de estos últimos, el método propuesto tiene la propiedad de calibrar la magnitud de las discontinuidades introducidas y, por lo tanto, de controlar la difusión en el interior del elemento. Adicionalmente, la nueva base de funciones se define únicamente en el dominio espacial, y por lo tanto no interfiere en el esquema de integración temporal empleado, permitiendo el uso de esquemas explícitos o implícitos de cualquier orden.
32
33
El artículo se divide según sigue: en la sección [[#sec0010|2]]  se resume brevemente el método de Galerkin discontinuo estándar para funciones de forma hiperbólicas, en particular para las ecuaciones de Euler. En la sección [[#sec0015|3]]  se define la nueva base de funciones de forma y el criterio de regularidad impuesto. También se detalla el sensor de discontinuidades utilizado. La sección [[#sec0035|4]]  recoge varios tests numéricos que demuestran la aplicabilidad del método para diversas situaciones frente a otros métodos clásicos, así como su eficiencia para altos órdenes de aproximación. Finalmente en la sección [[#sec0055|5]]  se resumen las conclusiones obtenidas.      
34
35
<span id='sec0010'></span>
36
==2. El método de Galerkin discontinuo para las ecuaciones de Euler==
37
38
En esta sección se resume brevemente el método de Galerkin discontinuo para las ecuaciones de Euler. Sin pérdida de generalidad se asume el caso bidimensional <math display="inline">(x_1,x_2)\in {\mathbb{R}}^2</math> .      
39
40
Las ecuaciones de Euler de la dinámica de gases computacional [[#bib0005|[1]]]  expresan la conservación de la masa, el momento y la energía para un fluido ideal compresible y no viscoso. En ausencia de fuerzas externas, las ecuaciones de Euler se expresan de forma conservativa como el siguiente sistema
41
42
<span id='eq0005'></span>
43
{| class="formulaSCP" style="width: 100%; text-align: center;" 
44
|-
45
| 
46
{| style="text-align: center; margin:auto;" 
47
|-
48
| <math>\frac{\partial }{\partial t}\left(\begin{array}{c}
49
\rho \\
50
\rho u\\
51
\rho v\\
52
\rho E\\
53
54
\end{array}\right)+\frac{\partial }{\partial x_1}\left(\begin{array}{c}
55
\rho u\\
56
\rho u^2+p\\
57
\rho uv\\
58
u(\rho E+p)
59
\end{array}\right)+\frac{\partial }{\partial x_2}\left(\begin{array}{c}
60
\rho v\\
61
\rho uv\\
62
\rho v^2+p\\
63
v(\rho E+p)
64
\end{array}\right)=\boldsymbol{0}</math>
65
|}
66
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 1)
67
|}
68
69
definido en un dominio acotado <math display="inline">\Omega \subset {\mathbb{R}}^2</math>  con condiciones de contorno en ∂Ω. En esta expresión ''ρ''  representa la densidad del fluido, ''u  ''  y <math display="inline">v</math>  son las componentes del vector velocidad <math display="inline">\boldsymbol{v}</math> , ''p''  es la presión y ''E''  es la energía total. Para completar el sistema se define una ecuación de estado, que relaciona la energía interna con la presión y la densidad. Para un gas perfecto politrópico la ecuación de estado es
70
71
{| class="formulaSCP" style="width: 100%; text-align: center;" 
72
|-
73
| 
74
{| style="text-align: center; margin:auto;" 
75
|-
76
| <math>p=(\gamma -1)(E-\frac{\rho \vert \vert \boldsymbol{v}\vert \vert ^2}{2})</math>
77
|}
78
| style="width: 5px;text-align: right;white-space: nowrap;" | 
79
|}
80
81
donde ''γ''  es el exponente adiabático, con valor ''γ''  = 1,4 para el aire.      
82
83
De forma compacta el sistema [[#eq0005|(1)]]  se expresa como
84
85
<span id='eq0015'></span>
86
{| class="formulaSCP" style="width: 100%; text-align: center;" 
87
|-
88
| 
89
{| style="text-align: center; margin:auto;" 
90
|-
91
| <math>\frac{\partial \boldsymbol{\mbox{U}}}{\partial t}+</math><math>\frac{\partial \boldsymbol{\mbox{F}}_k(\boldsymbol{\mbox{U}})}{\partial x_k}=</math><math>\boldsymbol{0}\quad para\quad k=1\mbox{,}2</math>
92
|}
93
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 2)
94
|}
95
96
donde se utiliza el criterio de Einstein para la notación, con
97
98
{| class="formulaSCP" style="width: 100%; text-align: center;" 
99
|-
100
| 
101
{| style="text-align: center; margin:auto;" 
102
|-
103
| <math>\boldsymbol{\mbox{U}}=\left(\begin{array}{c}
104
\rho \\
105
\rho u\\
106
\rho v\\
107
\rho E\\
108
109
\end{array}\right)\quad \boldsymbol{\mbox{F}}_\boldsymbol{1}=</math><math>\left(\begin{array}{c}
110
\rho u\\
111
\rho u^2+p\\
112
\rho uv\\
113
u(\rho E+p)
114
\end{array}\right)\quad y\quad \boldsymbol{\mbox{F}}_\boldsymbol{2}=</math><math>\left(\begin{array}{c}
115
\rho v\\
116
\rho uv\\
117
\rho v^2+p\\
118
v(\rho E+p)
119
\end{array}\right)</math>
120
|}
121
| style="width: 5px;text-align: right;white-space: nowrap;" | 
122
|}
123
124
En el desarrollo posterior se emplea el número de Mach, definido como <math display="inline">M=\frac{\parallel \boldsymbol{v}\parallel }{c}</math>  donde <math display="inline">c=\sqrt{\gamma p/\rho }</math>  es la velocidad del sonido.      
125
126
El método de Galerkin discontinuo para un sistema hiperbólico de leyes de conservación se describe como sigue. Se divide el dominio computacional Ω en una partición de elementos no superpuestos entre sí:
127
128
{| class="formulaSCP" style="width: 100%; text-align: center;" 
129
|-
130
| 
131
{| style="text-align: center; margin:auto;" 
132
|-
133
| <math>\overline{\Omega }={\bigcup }_{e=1}^{n_{el}}{\overline{\Omega }}_e\quad tal\quad que\quad {\Omega }_i\bigcap {\Omega }_j=</math><math>\varnothing \quad para\quad i\not =j</math>
134
|}
135
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 3)
136
|}
137
138
donde n<sub>el</sub>  es el número total de elementos de la partición.      
139
140
Sea <math display="inline">\boldsymbol{\mbox{W}}\in [P^p({\Omega }_e)]^{n_{sd}+2}</math>  una función de test, donde n<sub>sd</sub>  respresenta la dimensión del espacio vectorial de trabajo (en este artículo se trabaja con n<sub>sd</sub>  = 2). Además, <math display="inline">P^p({\Omega }_e)</math>  es el conjunto de polinomios de grado menor o igual a ''p''  en Ω<sub>''e''</sub> . Multiplicando [[#eq0015|(2)]]  por la función de test, integrando sobre el elemento Ω<sub>''e''</sub>  y usando el teorema de la divergencia se obtiene la forma débil
141
142
{| class="formulaSCP" style="width: 100%; text-align: center;" 
143
|-
144
| 
145
{| style="text-align: center; margin:auto;" 
146
|-
147
| <math>{\int }_{{\Omega }_e}\boldsymbol{\mbox{W}}\cdot \frac{\partial \boldsymbol{\mbox{U}}_e}{\partial t}\quad d\Omega -</math><math>{\int }_{{\Omega }_e}\frac{\partial \boldsymbol{\mbox{W}}}{\partial x_k}\cdot \boldsymbol{\mbox{F}}_k(\boldsymbol{\mbox{U}}_e)\quad d\Omega +</math><math>{\int }_{\partial {\Omega }_e}\boldsymbol{\mbox{W}}\cdot \boldsymbol{\mbox{F}}_{\boldsymbol{\mbox{n}}_e}(\boldsymbol{\mbox{U}}_e)\quad d\Gamma =</math><math>0\quad \forall \boldsymbol{\mbox{W}}\in [P^p({\Omega }_e)]^{n_{sd}+2}</math>
148
|}
149
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 4)
150
|}
151
152
donde '''U'''<sub>''e''</sub>  es la restricción de '''U'''  en el elemento Ω<sub>''e''</sub>  y <math display="inline">\boldsymbol{\mbox{F}}_{\boldsymbol{\mbox{n}}_e}(\boldsymbol{\mbox{U}}_e)</math>  es la función de flujo normal. Como consecuencia de la discontinuidad, la función de flujo normal <math display="inline">\boldsymbol{\mbox{F}}_{\boldsymbol{\mbox{n}}_e}</math>  tiene 2 valores en la interfaz de los elementos. Por ello se introduce un flujo numérico <math display="inline">{\overset{\mbox{ˆ}}{\boldsymbol{\mbox{F}}}}_{\boldsymbol{\mbox{n}}_e}(\boldsymbol{\mbox{U}}_e,\boldsymbol{\mbox{U}}_e^{out})</math>  que depende de los estados de la variable '''U'''  a ambos lados de cada interfaz entre elementos, y del vector unitario normal a esta, '''n'''<sub>''e''</sub> :
153
154
{| class="formulaSCP" style="width: 100%; text-align: center;" 
155
|-
156
| 
157
{| style="text-align: center; margin:auto;" 
158
|-
159
| <math>\boldsymbol{\mbox{U}}_e^{out}=\underset{\varepsilon \rightarrow 0^+}{l\acute{\imath }m}\boldsymbol{\mbox{U}}(\boldsymbol{x}+</math><math>\varepsilon \boldsymbol{\mbox{n}}_e)\quad para\quad \boldsymbol{x}\in {\Omega }_e</math>
160
|}
161
| style="width: 5px;text-align: right;white-space: nowrap;" | 
162
|}
163
164
Para el flujo numérico <math display="inline">{\boldsymbol{\overset{\mbox{ˆ}}{\mbox{F}}}}_{\boldsymbol{\mbox{n}}_e}</math>  es posible emplear cualquiera de los Riemann ''solvers''  estándar de los métodos de volúmenes finitos  [[#bib0045|[9]]] . En los ejemplos numéricos que se presentan en este artículo se ha elegido el flujo de Roe [[#bib0125|[25]]] . Así, la forma débil del método Galerkin discontinuo para cada elemento Ω<sub>''e''</sub>  se escribe como
165
166
{| class="formulaSCP" style="width: 100%; text-align: center;" 
167
|-
168
| 
169
{| style="text-align: center; margin:auto;" 
170
|-
171
| <math>{\int }_{{\Omega }_e}\boldsymbol{\mbox{W}}\cdot \frac{\partial \boldsymbol{\mbox{U}}_e}{\partial t}\quad d\Omega -</math><math>{\int }_{{\Omega }_e}\frac{\partial \boldsymbol{\mbox{W}}}{\partial x_k}\cdot \boldsymbol{\mbox{F}}_k(\boldsymbol{\mbox{U}}_e)\quad d\Omega +</math><math>{\int }_{\partial {\Omega }_e}\boldsymbol{\mbox{W}}\cdot {\overset{\mbox{ˆ}}{\boldsymbol{\mbox{F}}}}_{\boldsymbol{\mbox{n}}_e}(\boldsymbol{\mbox{U}}_e,\boldsymbol{\mbox{U}}_e^{out})\quad d\Gamma =</math><math>0\quad \forall \boldsymbol{\mbox{W}}\in [P^p({\Omega }_e)]^{n_{sd}+2}</math>
172
|}
173
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 5)
174
|}
175
176
Discretizando la forma débil en cada elemento se obtiene el sistema de ecuaciones diferenciales ordinarias
177
178
<span id='eq0045'></span>
179
{| class="formulaSCP" style="width: 100%; text-align: center;" 
180
|-
181
| 
182
{| style="text-align: center; margin:auto;" 
183
|-
184
| <math>\boldsymbol{\mbox{M}}\frac{d\boldsymbol{U}}{dt}+\boldsymbol{\mbox{R}}(\boldsymbol{U})=</math><math>\boldsymbol{0}</math>
185
|}
186
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 6)
187
|}
188
189
donde en este caso '''''U'''''  representa el vector de coeficientes de la aproximación, '''M'''  es la matriz de masa, que resulta diagonal por bloques, y '''R''' ('''''U''''' ) es el vector residuo. El sistema [[#eq0045|(6)]]  puede resolverse con diversos esquemas de integración temporal. En el presente trabajo se utiliza un método estándar Runge-Kutta explícito [[#bib0005|[1]]] . La condición de estabilidad viene determinada por una acotación del número de Courant:
190
191
{| class="formulaSCP" style="width: 100%; text-align: center;" 
192
|-
193
| 
194
{| style="text-align: center; margin:auto;" 
195
|-
196
| <math>C=\vert {\lambda }_{m\acute{a}x}\vert \frac{\Delta t}{h}\leq \frac{1}{2p+1}</math>
197
|}
198
| style="width: 5px;text-align: right;white-space: nowrap;" | 
199
|}
200
201
donde ''h''  es el tamaño elemental y ''p  ''  es el grado de la aproximación. El valor escalar <math display="inline">{\lambda }_{m\acute{a}x}</math>  es el valor propio máximo en valor absoluto de la matriz de Jacobi del flujo, <math display="inline">\frac{\partial \boldsymbol{\mbox{F}}}{\partial \boldsymbol{\mbox{U}}}</math> , es decir, <math display="inline">{\lambda }_{m\acute{a}x}=</math><math>{m\acute{a}x}_j\vert {\lambda }_j\vert </math>  para ''j''  = 1, …, n<sub>sd</sub>  + 2.
202
203
==Observación 2.1.                     ==
204
205
En el caso de un sistema hiperbólico de ecuaciones, como las ecuaciones de Euler, los valores propios ''λ''<sub>''j''</sub>  no son más que las velocidades de propagación de las cantidades características. Para más detalles, consultar  [[#bib0005|[1]]]  and [[#bib0130|[26]]] .
206
207
<span id='sec0015'></span>
208
==3. Base de funciones==
209
210
El método propuesto se caracteriza por la introducción de la nueva base de funciones polinómicas <math display="inline">{\overline{N}}_i</math> . Como es habitual en los métodos de Galerkin discontinuo, se aproxima la solución '''U'''  elemento a elemento con una base de funciones de grado p:
211
212
{| class="formulaSCP" style="width: 100%; text-align: center;" 
213
|-
214
| 
215
{| style="text-align: center; margin:auto;" 
216
|-
217
| <math>\boldsymbol{\mbox{U}}_e=\sum_{i=1}^{n_{en}(p)}{\overline{N}}_i(\boldsymbol{x};\alpha )\boldsymbol{U}_i\quad para\quad e=</math><math>1\ldots n_{el}</math>
218
|}
219
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 7)
220
|}
221
222
donde n<sub>en</sub> (''p'' ) es el número de nodos en cada elemento (es decir, el número de grados de libertad por elemento).      
223
224
La base de funciones <math display="inline">\overline{N}(\boldsymbol{x};\alpha )</math>  tiene un papel crucial en la precisión de la aproximación. Las funciones <math display="inline">{\overline{N}}_i</math>  se definen en cada elemento como una combinación convexa de las funciones de forma continuas estándar de los métodos Galerkin discontinuo ''N''<sub>''i''</sub> , y unas funciones de forma constantes a trozos en el elemento, ''ϕ''<sub>''i''</sub> . Es decir,
225
226
<span id='eq0060'></span>
227
{| class="formulaSCP" style="width: 100%; text-align: center;" 
228
|-
229
| 
230
{| style="text-align: center; margin:auto;" 
231
|-
232
| <math>{\overline{N}}_i(\boldsymbol{x};\alpha ):=\alpha N_i(\boldsymbol{x})+</math><math>(1-\alpha ){\phi }_i(\boldsymbol{x})\quad para\quad i=</math><math>1,\ldots ,n_{en}(p)</math>
233
|}
234
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 8)
235
|}
236
237
donde ''α''  es un parámetro que toma valores entre 0 y 1 en función de la suavidad de la aproximación.      
238
239
Una de las ventajas de los métodos de Galerkin discontinuo reside en su inherente mecanismo estabilizador mediante la función salto <math display="inline">\mbox{〚 } \boldsymbol{\mbox{U}}\cdot \boldsymbol{\mbox{n}}_e\mbox{〛} =</math><math>\boldsymbol{\mbox{U}}_e\cdot \boldsymbol{\mbox{n}}_e+</math><math>\boldsymbol{\mbox{U}}_e^{out}\cdot \boldsymbol{\mbox{n}}_{out}</math>  para aproximaciones constantes y lineales, véase por ejemplo [[#bib0030|[6]]] , [[#bib0060|[12]]]  and [[#bib0085|[17]]] . La base de funciones propuesta [[#eq0060|(8)]]  explota esta propiedad y la extiende al interior de los elementos, permitiendo así discontinuidades no solo en la interfaz, sino también en el interior del elemento. Asimismo, según la definición [[#eq0060|(8)]]  para ''α''  = 0 se obtiene la base de funciones discontinuas a trozos (<math display="inline">{\overline{N}}_i={\phi }_i</math> ) y para ''α''  = 1 se obtiene la base de funciones continuas (<math display="inline">{\overline{N}}_i=N_i</math> ), recuperando en este caso la forma estándar del método de Galerkin discontinuo.      
240
241
La [[#fig0005|figura 1]]  muestra una función <math display="inline">{\overline{N}}_i(\boldsymbol{x};\alpha )</math>  de grado ''p''  = 3 para distintos valores de ''α  '' . Los casos particulares <math display="inline">{\overline{N}}_i(\boldsymbol{x};\alpha )=</math><math>{\phi }_i</math>  y <math display="inline">{\overline{N}}_i(\boldsymbol{x};\alpha )=</math><math>N_i</math>  corresponden a las [[#fig0005|figura 1]] (a) y (b) respectivamente.
242
243
<span id='fig0005'></span>
244
245
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;" 
246
|-
247
|
248
249
250
[[Image:draft_Content_703683201-1-s2.0-S0213131512000491-gr1.jpg|center|368px|Función de forma asociada a uno de los nodos arista de la base de funciones de ...]]
251
252
253
|-
254
| <span style="text-align: center; font-size: 75%;">
255
256
Figura 1.
257
258
Función de forma asociada a uno de los nodos arista de la base de funciones de grado ''p''  = 3 para distintos valores de ''α'' .                  
259
260
</span>
261
|}
262
263
La nueva base de funciones debe ser capaz de representar cualquier perfil de la solución, ya sea suave o con tendencia a formar frentes o discontinuidades. Por lo tanto, es de gran importancia elegir de manera adecuada, tanto el parámetro ''α''  como la base de funciones discontinuas ''ϕ'' . En los siguientes apartados se detallan ambas elecciones.      
264
265
===3.1. Definición de la base de funciones discontinuas===
266
267
La definición de la base de funciones discontinuas ''ϕ''<sub>''i''</sub>  tiene una estrecha relación con los métodos de volúmenes finitos  [[#bib0045|[9]]] , [[#bib0135|[27]]]  and [[#bib0140|[28]]] . En estos métodos se discretiza el dominio computacional en un conjunto de volúmenes de control (o celdas) no superpuestos entre sí y se impone la conservación de las ecuaciones en cada una de ellas. Siguiendo esta idea, se define la base ''ϕ''  de la siguiente manera.      
268
269
Se considera la partición arbitraria del elemento Ω<sub>''e''</sub>  en un conjunto de n<sub>en</sub> (''p'' ) volúmenes de control que no se solapan entre sí,
270
271
{| class="formulaSCP" style="width: 100%; text-align: center;" 
272
|-
273
| 
274
{| style="text-align: center; margin:auto;" 
275
|-
276
| <math>{\overline{\Omega }}_e={\bigcup }_k^{n_{en}(p)}{\overline{\Omega }}_e^k\quad tal\quad que\quad {\Omega }_e^l\bigcap {\Omega }_e^m=</math><math>\varnothing \quad para\quad l\not =m</math>
277
|}
278
| style="width: 5px;text-align: right;white-space: nowrap;" | 
279
|}
280
281
donde cada celda <math display="inline">{\Omega }_e^k</math>  contiene un nodo del elemento. La [[#fig0010|figura 2]]  muestra la partición para elementos de primer y segundo orden, donde se puede ver que las interfases quedan de forma arbitraria en una malla no estructurada.
282
283
<span id='fig0010'></span>
284
285
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;" 
286
|-
287
|
288
289
290
[[Image:draft_Content_703683201-1-s2.0-S0213131512000491-gr2.jpg|center|366px|Partición en volúmenes de control de un elemento de primer y segundo orden. Los ...]]
291
292
293
|-
294
| <span style="text-align: center; font-size: 75%;">
295
296
Figura 2.
297
298
Partición en volúmenes de control de un elemento de primer y segundo orden. Los nodos del elemento están representados con puntos y los vértices de las celdas de control con cuadrados.
299
300
</span>
301
|}
302
303
==Observación 3.1.                     ==
304
305
La partición del elemento Ω<sub>''e''</sub>  en volúmenes de control no es única. Por simplicidad, en este trabajo se ha construido a partir de una subtriangulación del elemento que se obtiene uniendo los nodos. Se considera entonces el centroide de cada subtriángulo y los puntos medios de sus aristas. Uniendo el conjunto de puntos que forman de manera que cada polígono contenga uno y solo uno de los nodos elementales se obtiene una partición del elemento en n<sub>en</sub> (''p'' ) celdas.
306
307
Dada esta partición, cada función ''ϕ''<sub>''i''</sub>  se define como una función real <math display="inline">{\phi }_i(\boldsymbol{x}):{\Omega }_e\longrightarrow \mathbb{R}</math>  constante a trozos en cada volumen de control <math display="inline">{\Omega }_e^k</math> . Es decir, ∀'''''x'''''  ∈ Ω<sub>''e''</sub>
308
309
{| class="formulaSCP" style="width: 100%; text-align: center;" 
310
|-
311
| 
312
{| style="text-align: center; margin:auto;" 
313
|-
314
| <math>{\phi }_i(\boldsymbol{x})=\begin{array}{ll}
315
{\phi }_i^k=cst & si\quad \boldsymbol{x}\in {\Omega }_e^k\\
316
0 & si\quad \boldsymbol{x}\not\in {\Omega }_e^k\\
317
 & 
318
\end{array}\quad \forall \boldsymbol{x}\quad para\quad k=</math><math>1,\ldots ,n_{en}(p)</math>
319
|}
320
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 9)
321
|}
322
323
Por construcción, las funciones de forma continuas ''N''<sub>''i''</sub>  verifican la condición de reproducibilidad constante, o sea:
324
325
{| class="formulaSCP" style="width: 100%; text-align: center;" 
326
|-
327
| 
328
{| style="text-align: center; margin:auto;" 
329
|-
330
| <math>\sum_{i=1}^{n_{en}(p)}N_i(\boldsymbol{x})=1</math>
331
|}
332
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 10)
333
|}
334
335
Para que la nueva base de funciones <math display="inline">{\overline{N}}_i</math>  verifique también esta propiedad debe cumplirse
336
337
<span id='eq0080'></span>
338
{| class="formulaSCP" style="width: 100%; text-align: center;" 
339
|-
340
| 
341
{| style="text-align: center; margin:auto;" 
342
|-
343
| <math>\sum_{i=1}^{n_{en}(p)}{\overline{N}}_i(\boldsymbol{x};\alpha )=</math><math>\alpha +(1-\alpha )\sum_{i=1}^{n_{en}(p)}{\phi }_i(\boldsymbol{x})=</math><math>1</math>
344
|}
345
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 11)
346
|}
347
348
o equivalentemente, <math display="inline">{\sum }_{i=1}^{n_{en}(p)}{\phi }_i^k=</math><math>1</math> .      
349
350
Existen varias opciones para definir <math display="inline">{\phi }_i^k</math>  de manera que se satisfaga [[#eq0080|(11)]] . La primera y más obvia opción es considerar <math display="inline">{\phi }_i^k=\frac{1}{n_{en}(p)}\quad \forall \quad k=</math><math>1,\ldots ,n_{en}(p)</math> . Esta opción lleva a una distribución constante y continua en cada elemento, sin ninguna aportación relevante a las funciones <math display="inline">{\overline{N}}_i(\boldsymbol{x};\alpha )</math> .      
351
352
Una segunda opción consiste en definir <math display="inline">{\phi }_i^k={\delta }_{ik}</math> . Esta opción proporciona una aproximación simple y eficaz, pero se descarta debido a que no tiene en cuenta el tamaño de la celda <math display="inline">{\Omega }_e^k</math>  correspodiente.      
353
354
Así pues, con el fin de establecer una relación entre el tamaño de las celdas y el valor de la función de forma asociada, se define <math display="inline">{\phi }_i^k</math>  como
355
356
{| class="formulaSCP" style="width: 100%; text-align: center;" 
357
|-
358
| 
359
{| style="text-align: center; margin:auto;" 
360
|-
361
| <math>{\phi }_i^k=\frac{1}{meas({\Omega }_e^k)}{\int }_{{\Omega }_e^k}N_i(\boldsymbol{x})\quad d\Omega </math>
362
|}
363
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 12)
364
|}
365
366
donde <math display="inline">{\Omega }_e^k</math>  es el subelemento que contiene el nodo '''''x'''''<sub>''i''</sub> . De este modo, se prioriza la contribución de ''ϕ''<sub>''i''</sub>  al elemento para cada celda, de manera que esta sea equivalente a la contribución de la función de forma ''N''<sub>''i''</sub>  del nodo <math display="inline">\boldsymbol{x}_i\in {\Omega }_e^k</math> .
367
368
==Observación 3.2.                     ==
369
370
La condición de reproducibilidad constante [[#eq0080|(11)]]  es independiente del valor del parámetro ''α'' . Es decir,
371
372
{| class="formulaSCP" style="width: 100%; text-align: center;" 
373
|-
374
| 
375
{| style="text-align: center; margin:auto;" 
376
|-
377
| <math>\frac{\partial }{\partial \alpha }{\int }_{{\Omega }_e^k}{\overline{N}}_i(\boldsymbol{x};\alpha )\quad d\boldsymbol{x}=</math><math>0\quad \forall k=1,\ldots ,n_{en}(p)</math>
378
|}
379
| style="width: 5px;text-align: right;white-space: nowrap;" | 
380
|}
381
382
===3.2. Parámetro ''α''===
383
384
Una de las principales ventajas de los métodos Galerkin discontinuo es su flexibilidad respecto al espacio de aproximación. Esencialmente, cualquier espacio lineal puede usarse como espacio de aproximación local, y este puede variar elemento a elemento, así como para cada instante de tiempo. La introducción del parámetro ''α''  permite explotar esta propiedad adaptando la base localmente en función de la regularidad de la solución.      
385
386
Por su definición, ver [[#eq0060|(8)]] , las funciones de forma <math display="inline">{\overline{N}}_i(\boldsymbol{x};\alpha )</math>  dependen linealmente de ''α'' , que actúa como función de peso entre las bases ''N''<sub>''i''</sub>  y ''ϕ''<sub>''i''</sub> . El espacio de aproximación queda definido localmente según el valor de ''α'' . Tal y como se ha mencionado en la sección anterior, para ''α''  = 1 se tiene la base de funciones estándar, continua en el elemento, mientras que para ''α''  = 0 se introducen saltos en el interior de los elementos (en particular, en la interfaz de los subelementos <math display="inline">{\Omega }_e^k</math> ), obteniendo una base constante a trozos en Ω<sub>''e''</sub> . La magnitud de los saltos interiores está controlada por ''α''  según la expresión (1− ''α'' ) 〚 ''ϕ''<sub>''i''</sub> ('''x'''<sub>''j''</sub> )'''n'''<sub>''j''</sub>  〛 para los puntos <math display="inline">\boldsymbol{\mbox{x}}_j\in \partial {\Omega }_e^k</math> , siendo '''n'''<sub>''j''</sub>  el vector normal unitario a '''x'''<sub>''j''</sub> . El control, vía el parámetro ''α'' , de la potencia del salto también permite un control sobre la estabilización introducida por los Riemann solvers.      
387
388
La elección de ''α''  permite una cierta flexibilidad. En primer lugar se podría recurrir a una función ''switch''  (''α''  = 0 o 1) entre una discretización con volúmenes finitos constante a trozos o una discretización clásica de Galerkin discontinuo. Esta opción, además de ser muy restrictiva, no resulta apropiada para problemas estacionarios, ya que el uso de funciones no diferenciables dificulta alcanzar el estado estacionario. Este hecho ya ha sido señalado por otros autores haciendo referencia a técnicas de limitación o estabilización basadas en operadores discontinuos  [[#bib0145|[29]]]  and [[#bib0150|[30]]] . Otras opciones razonables consisten en modelar el parámetro ''α  ''  como una función <math display="inline">C^k</math>  con ''k''  ≥ 0. La introducción de funciones continuas permite una variación suave elemento a elemento de ''α'' , así como un rango más amplio de valores. Por simplicidad, en este artículo se ha considerado ''α  ''  como una función <math display="inline">C^0</math> , pero otras alternativas pueden ser también válidas. La [[#fig0015|figura 3]]  muestra el perfil de una posible función ''α''  y una función tipo switch.
389
390
<span id='fig0015'></span>
391
392
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;" 
393
|-
394
|
395
396
397
[[Image:draft_Content_703683201-1-s2.0-S0213131512000491-gr3.jpg|center|359px|Función-tipo α continua y switch.]]
398
399
400
|-
401
| <span style="text-align: center; font-size: 75%;">
402
403
Figura 3.
404
405
Función-tipo ''α''  continua y switch.                  
406
407
</span>
408
|}
409
410
Con el fin de adaptar la base de funciones a la regularidad de la solución, ''α''  debe estar necesariamente controlada por un detector de choques que permita discernir gradientes pronunciados frente a perfiles suaves. En este trabajo se utiliza el sensor propuesto recientemente por Persson y Peraire  [[#bib0075|[15]]]  and [[#bib0155|[31]]] , ''S''<sub>''e''</sub> (''s'' ), definido a nivel elemental Ω<sub>''e''</sub> . Este sensor depende únicamente de la cantidad física ''s'' , obtenida a partir de la variable de estado '''U''' . Esta cantidad se conoce como ''variable de detección'' . Para el caso particular de las ecuaciones de Euler, otras referencias indican que el número de Mach es una variable de detección más precisa que otras cantidadas físicas como la entropía o la densidad, propuestas en otros trabajos  [[#bib0065|[13]]]  and [[#bib0075|[15]]] .      
411
412
En la [[#fig0015|figura 3]]  se distinguen 3 regiones en el perfil de la función ''α'' (''s'' ): una primera región tal que si ''S'' (''s'' ) < ''s''<sub>1</sub>  entonces ''α''  = 1, una segunda región donde ''α''  toma valores entre 0 y 1, y una tercera región ''S'' (''s'' ) > ''s''<sub>0</sub>  para la cual ''α''  = 0. La aproximación de la solución en el interior del elemento es continua para valores del sensor de la primera región (i.e., ''α''  = 1). En este sentido ''s''<sub>1</sub>  representa un umbral para discernir entre funciones suaves o funciones con gradientes pronunciados o discontinuidades.
413
414
==Observación 3.3.                     ==
415
416
La experiencia con diferentes cáculos indica que la función ''α''  se comporta de manera robusta respecto a estos 2 valores, es decir, pequeñas variaciones de ''s''<sub>0</sub>  y ''s''<sub>1</sub>  no afectan al comportamiento global de la aproximación.
417
418
Seguidamente se define el sensor de discontinuidades ''S'' (''s'' ), así como los valores ''s''<sub>1</sub>  y ''s''<sub>0</sub> .      
419
420
====3.2.1. El sensor de discontinuidades====
421
422
El sensor de discontinuidades se define a nivel elemental por un operador no lineal <math display="inline">S_e(s):{\Omega }_e\longrightarrow \mathbb{R}</math> , donde la variable de detección ''s''  = ''s'' ('''U''' ) es una componente o función del vector de estado '''U''' . El sensor proporciona una medida escalar de la regularidad de la aproximación.      
423
424
A continuación se resume brevemente el sensor para el caso unidimensional, detallado en trabajos previos de los autores [[#bib0075|[15]]]  and [[#bib0080|[16]]] . Posteriormente se extiende al caso bidimensional.      
425
426
Sea la base de polinomios ortonormal de Legendre, ''P''<sub>''i''</sub>  para ''i''  = 1, …, n<sub>en</sub> (''p'' ). Las aproximaciones de grado ''p''  y ''p''  − 1 de la variable de detección ''s''  en esta base se expresan como
427
428
{| class="formulaSCP" style="width: 100%; text-align: center;" 
429
|-
430
| 
431
{| style="text-align: center; margin:auto;" 
432
|-
433
| <math>s(x)=\sum_{i=1}^{n_{en}(p)}s_iP_i(x)\quad \overset{\mbox{ˆ}}{s}(x)=</math><math>\sum_{i=1}^{n_{en}(p-1)}s_iP_i(x)</math>
434
|}
435
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 13)
436
|}
437
438
donde, debido a las propiedades jerárquicas de la base, <math display="inline">\overset{\mbox{ˆ}}{s}(x)</math>  se ha obtenido truncando la serie polinómica ''s'' (''x'' ).      
439
440
El sensor de discontinuidades para el elemento unidimensional ''I''<sub>''e''</sub>  queda definido como
441
442
{| class="formulaSCP" style="width: 100%; text-align: center;" 
443
|-
444
| 
445
{| style="text-align: center; margin:auto;" 
446
|-
447
| <math>S_e(s)={log}_{10}(\frac{\parallel s-\overset{\mbox{ˆ}}{s}{\parallel }_2^2}{\parallel s{\parallel }_2^2})</math>
448
|}
449
| style="width: 5px;text-align: right;white-space: nowrap;" | 
450
|}
451
452
donde ∥ • ∥ <sub>2</sub>  es la norma ''L''<sub>2</sub>  de la variable. El cálculo del sensor con estas normas se simplifica gracias a la ortonormalidad de la base de polinomios de Legendre. En efecto, sea <math display="inline">\boldsymbol{\mbox{s}}^T=(s_1,\ldots ,s_{n_{en}(p)})</math>  el vector de valores nodales de la aproximación ''s'' (''x'' ), se tiene
453
454
{| class="formulaSCP" style="width: 100%; text-align: center;" 
455
|-
456
| 
457
{| style="text-align: center; margin:auto;" 
458
|-
459
| <math>\parallel s{\parallel }_2^2={\int }_{I_e}s^2\quad dx=</math><math>{\int }_{I_e}(\sum_i^{n_{en}(p)}s_iP_i(x))^2\quad dx=</math><math>\boldsymbol{\mbox{s}}^T\boldsymbol{\mbox{M}}\boldsymbol{\mbox{s}}</math>
460
|}
461
| style="width: 5px;text-align: right;white-space: nowrap;" | 
462
|}
463
464
donde '''M'''  es la matriz de masa diagonal obtenida con los polinomios ortonormales de Legendre:
465
466
{| class="formulaSCP" style="width: 100%; text-align: center;" 
467
|-
468
| 
469
{| style="text-align: center; margin:auto;" 
470
|-
471
| <math>\boldsymbol{\mbox{M}}_{ij}={\int }_{I_e}P_i(x)P_j(x)\quad dx=</math><math>{\delta }_{ij}</math>
472
|}
473
| style="width: 5px;text-align: right;white-space: nowrap;" | 
474
|}
475
476
Con esta definición y teniendo en cuenta la jerarquía de la base, el sensor de discontinuidades resulta
477
478
<span id='eq0115'></span>
479
{| class="formulaSCP" style="width: 100%; text-align: center;" 
480
|-
481
| 
482
{| style="text-align: center; margin:auto;" 
483
|-
484
| <math>S_e(s)={log}_{10}(\frac{\left(0,\ldots ,0,s_{n_{en}(p)})^T\quad \boldsymbol{\mbox{M}}\quad (0,\ldots ,0,s_{n_{en}(p)}\right)}{\boldsymbol{\mbox{s}}^T\boldsymbol{\mbox{M}}\boldsymbol{\mbox{s}}})</math>
485
|}
486
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 14)
487
|}
488
489
El sensor de discontinuidades en 2D se construye de manera análoga pero utilizando la base de polinomios ortonormales de Koornwinder [[#bib0160|[32]]]  para cada elemento. La expresión <math display="inline">\parallel s-\overset{\mbox{ˆ}}{s}{\parallel }_2^2</math>  en [[#eq0115|(14)]]  representa una medida de las frecuencias altas de la aproximación y vive en el espacio de polinomios <math display="inline">([P^p]\[P^{p-1}])^2</math> . En el caso bidimensional la matriz de masa se construye utilizando la base de polinomios de Koornwinder. La norma asociada a las frecuencias altas de la aproximación se obtiene de nuevo mediante una proyección de la solución ''s'' ('''''x''''' ) en el espacio de polinomios <math display="inline">([P^p]\[P^{p-1}])^2</math> . Así pues, las proyecciones en norma ''L''<sub>2</sub>  del sensor [[#eq0115|(14)]]  para el caso multidimensional se expresan como
490
491
{| class="formulaSCP" style="width: 100%; text-align: center;" 
492
|-
493
| 
494
{| style="text-align: center; margin:auto;" 
495
|-
496
| <math>E=\parallel s{\parallel }_2^2=\boldsymbol{\mbox{s}}^T\boldsymbol{\mbox{M}}\boldsymbol{\mbox{s}},\quad E_H=</math><math>\parallel s-\overset{\mbox{ˆ}}{s}{\parallel }_2^2=</math><math>\boldsymbol{\mbox{s}}^T\boldsymbol{\mbox{M}}_H\boldsymbol{\mbox{s}}\quad </math>
497
|}
498
| style="width: 5px;text-align: right;white-space: nowrap;" | 
499
|}
500
501
donde '''M'''<sub>''H''</sub>  no es más que la matriz de masa calculada con los monomios de Koornwinder de grado únicamente ''p'' . Para ello se considera '''V'''  la matriz de Vandermonde en la base de Koornwinder, con las columnas ordenadas por bloques de polinomios de menor a mayor grado. Sea n<sub>L</sub>  el número de modos hasta grado ''p''  − 1 y n<sub>H</sub>  los restantes (n<sub>L</sub>  + n<sub>H</sub>  = n<sub>en</sub> (''p'' )), la matriz '''M'''<sub>''H''</sub>  es la proyección <math display="inline">\boldsymbol{\mbox{M}}_H=\boldsymbol{\mbox{F}}_H^T\boldsymbol{\mbox{M}}\boldsymbol{\mbox{F}}_H</math> , donde '''F'''<sub>''H''</sub>  es la ''matriz filtro''  siguiente
502
503
{| class="formulaSCP" style="width: 100%; text-align: center;" 
504
|-
505
| 
506
{| style="text-align: center; margin:auto;" 
507
|-
508
| <math>\boldsymbol{\mbox{F}}_H=\boldsymbol{\mbox{V}}\boldsymbol{\mbox{P}}_H\boldsymbol{\mbox{V}}^{-1}\quad con\quad \boldsymbol{\mbox{P}}_H=</math><math>diag(\underset{n_L}{\underbrace{0\ldots 0}},\underset{n_H}{\underbrace{1\ldots 1}})</math>
509
|}
510
| style="width: 5px;text-align: right;white-space: nowrap;" | 
511
|}
512
513
Con estas definiciones el sensor [[#eq0115|(14)]]  para cualquier dimensión es el logaritmo del cociente entre la energía asociada a las altas frecuencias y la energía total
514
515
<span id='eq0130'></span>
516
{| class="formulaSCP" style="width: 100%; text-align: center;" 
517
|-
518
| 
519
{| style="text-align: center; margin:auto;" 
520
|-
521
| <math>S_e(s)={log}_{10}(E_H/E)</math>
522
|}
523
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 15)
524
|}
525
526
El sensor, [[#eq0115|(14)]]  y [[#eq0130|(15)]] , considera la solución de alto orden como si estuviera comprendida por una secuencia de modos de Fourier. Para una función continua los coeficientes de la serie de Fourier tienden a 0 rápidamente, a una velocidad aproximada de 1/''p''<sup>2</sup> . Teniendo en cuenta que la definición del sensor involucra cantidades al cuadrado y logaritmos, se espera que para funciones suaves <math display="inline">C^k</math> , con ''k''  ≥ 0, el sensor se comporte como un valor de orden ≲−4 log <sub>10</sub> (''p'' ). Sin embargo, en una discontinuidad todos los modos de Fourier tienen un valor significativo en la aproximación y el sensor ''S''<sub>''e''</sub>  toma valores mayores al orden esperado. Esta idea guarda una estrecha relación con los indicadores del error para métodos espectrales [[#bib0165|[33]]] .
527
528
==Observación 3.4.                     ==
529
530
El siguiente teorema relativo a la expansión en series de Fourier justifica la hipótesis relativa al comportamiento de ''S''<sub>''e''</sub> .
531
532
==Teorema 3.1.                     ==
533
534
Sea la función ''f'' (''x  '' ). Si se considera que la aproximación en términos de serie de Fourier periódica <math display="inline">SF(f)={\sum }_{n=-\infty }^{\infty }g_ne^{inx}</math> . Si <math display="inline">f(x)\in C^{k-1}</math>  y ∂<sup>''k''</sup>''f'' /∂''x''<sup>''k''</sup>  es continua, entonces |''g''<sub>''n''</sub> | ∼ ''n''<sup>''k''</sup>  para ''n'' ⟶ ∞.
535
536
En base a este comportamiento la función ''α'' (''S'' ) queda unívocamente determinada por los valores ''s''<sub>1</sub>  = ''C'' (− 4 log <sub>10</sub> (''p'' )) y ''s''<sub>0</sub>  = −4 log <sub>10</sub> (''p'' ), siendo C una constante estrictamente positiva. Por experiencia numérica de los autores, se ha comprobado que el valor ''C''  = 2 proporciona resultados óptimos.      
537
538
La [[#fig0020|figura 4]]  muestra la tasa de decaimiento para los coeficientes de la expansión de Fourier de una función continua y una función escalón, comparadas con los límites ''s''<sub>1</sub>  y ''s''<sub>0</sub>  determinados. Se puede comprobar que en efecto, la suavidad de la función dicta la velocidad de decaimiento de los coeficientes de su serie de Fourier; veáse por ejemplo [[#bib0170|[34]]] .
539
540
<span id='fig0020'></span>
541
542
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;" 
543
|-
544
|
545
546
547
[[Image:draft_Content_703683201-1-s2.0-S0213131512000491-gr4.jpg|center|352px|Tasa de decaimiento de los coeficientes de Fourier para curvas de diferente ...]]
548
549
550
|-
551
| <span style="text-align: center; font-size: 75%;">
552
553
Figura 4.
554
555
Tasa de decaimiento de los coeficientes de Fourier para curvas de diferente regularidad para el caso bidimensional. La curva log <sub>10</sub> (1/''n''<sup>8</sup> ) corresponde al umbral ''s''<sub>1</sub>  establecido.                  
556
557
</span>
558
|}
559
560
==Observación 3.5.                     ==
561
562
El sensor de discontinuidades ''S''<sub>''e''</sub> (''s'' ) es poco fiable para aproximaciones de bajo orden (''p''  ≤ 2). La hipótesis de caracterizar el comportamiento de una expansión polinómica con la serie discreta de Fourier y, por lo tanto, la validez del teorema, se verifica para grado ''p''  suficientemente alto. En consecuencia se tiene que el sensor de discontinuidades es más preciso para aproximaciones de alto orden. Los tests numéricos ratifican esta propiedad.
563
564
<span id='sec0035'></span>
565
==4. Ejemplos numéricos==
566
567
En esta sección se presentan diversos ejemplos numéricos de flujo compresible estacionario, en regímenes transónicos y supersónicos. Para todos los tests se han utlizado mallas triangulares y un esquema de integración temporal de tipo Runge-Kutta explícito. Para problemas estacionarios, el criterio de parada se impone mediante el residuo '''R''' ('''''U''''' ), ver [[#eq0045|(6)]] . Esta cantidad se evalúa a nivel local nodo a nodo, debido a que la solución en estado estacionario no tiene un comportamiento uniforme en todo el dominio. Los resultados obtenidos muestran el buen comportamiento de la metodología propuesta en problemas de aplicación práctica. Se demuestra el carácter local del método, así como la eficacia para altos órdenes de aproximación.      
568
569
===4.1. Tubo de choque o problema de Riemann===
570
571
El primer ejemplo es el problema clásico del tubo de choque [[#bib0175|[35]]] , ampliamente usado para validar código y metodologías en dinámica de fluidos computacional. El dominio espacial es el rectángulo de dimensiones [0, 1] × [0, 0,4]. La condición inicial utilizada es la siguiente
572
573
{| class="formulaSCP" style="width: 100%; text-align: center;" 
574
|-
575
| 
576
{| style="text-align: center; margin:auto;" 
577
|-
578
| <math>(\rho ,\boldsymbol{v},p)=\begin{array}{ll}
579
 & ({\rho }_l,\boldsymbol{v}_l,p_l)=(1,\boldsymbol{0},1)\quad para\quad x<1/2\\
580
 & ({\rho }_r,\boldsymbol{v}_r,p_r)=(0.1,\boldsymbol{0},0.125)\quad para\quad x>1/2\\
581
 & 
582
\end{array}</math>
583
|}
584
| style="width: 5px;text-align: right;white-space: nowrap;" | 
585
|}
586
587
La solución en el estado estacionario se caracteriza por una onda de choque, una discontinuidad de contacto y un abanico de expansión.      
588
589
El objetivo de este ejemplo es mostrar la importancia de requerir continuidad a esta función, proporcionando un rango más amplio de valores de ''α'' . Para ello se consideran 2 funciones ''α'' (''S  '' ): una función <math display="inline">C^0</math>  y una función tipo switch con umbral ''s''<sub>1</sub> ; veáse la [[#fig0025|figura 5]] (a). Todos los cálculos se han efectuado en una malla de 20 elementos longitudinales, representada en la [[#fig0025|figura 5]] (b) y con aproximaciones de grado ''p''  = 6.
590
591
<span id='fig0025'></span>
592
593
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;" 
594
|-
595
|
596
597
598
[[Image:draft_Content_703683201-1-s2.0-S0213131512000491-gr5.jpg|center|298px|Tubo de choque: (a) funciones α(S) y (b) malla computacional.]]
599
600
601
|-
602
| <span style="text-align: center; font-size: 75%;">
603
604
Figura 5.
605
606
Tubo de choque: (a) funciones ''α'' (''S'' ) y (b) malla computacional.                  
607
608
</span>
609
|}
610
611
Los resultados obtenidos con ambas aproximaciones se muestran en la [[#fig0030|figura 6]] . Para poder hacer una mejor comparación con la solución unidimensional se ha representado un corte a lo largo de la sección horizontal para las variables densidad, velocidad y presión. Las soluciones obtenidas con la función ''α'' (''S'' ) continua proporcionan perfiles más angulosos que se ajustan mejor a la solución exacta. En cambio, la función switch introduce más difusión, llegando incluso a inhibir el perfil escalón característico de la solución (veáse por ejemplo la variable densidad en la  [[#fig0030|figura 6]] d). Además, con ''α'' -switch se obtienen perfiles que no son localmente suaves. Aunque los resultados obtenidos son satisfactorios, el método propuesto permite utilizar refinamiento adaptativo para obtenter una mejor resolución en las discontinuidades de contacto, por ejemplo, en la variable velocidad.
612
613
<span id='fig0030'></span>
614
615
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;" 
616
|-
617
|
618
619
620
[[Image:draft_Content_703683201-1-s2.0-S0213131512000491-gr6.jpg|center|380px|Tubo de choque: perfiles para las variables densidad, velocidad y presión ...]]
621
622
623
|-
624
| <span style="text-align: center; font-size: 75%;">
625
626
Figura 6.
627
628
Tubo de choque: perfiles para las variables densidad, velocidad y presión calculadas con aproximaciones de grado ''p''  = 6. Arriba: con una función ''α'' (''S'' ) continua. Abajo: con una función ''α'' (''S'' ) discontinua tipo switch.                  
629
630
</span>
631
|}
632
633
A continuación, para confirmar el buen comportamiento del método, se ha representado en la [[#fig0035|figura 7]]  el error absoluto entre la aproximación y la solución aproximada para las variables densidad, velocidad y presión. El análisis del error confirma los resultados observados en los perfiles de las variables: los errores obtenidos con ''α'' (''S'' ) continua son ligeramente menores que los errores correspondientes a la solución con ''α'' -switch. Sin embargo, destaca en la variable velocidad el pico alrededor del punto ''x''  = 0,9, debido al suavizado en la discontinuidad de contacto. Para obtener mayor precisión se deben aplicar técnicas de refinamiento local, ya que una reducción de la cantidad de difusión (i.e., valores de ''α''  más cercanos a 1) produciría la aparición de oscilaciones en las variables densidad y presión.
634
635
<span id='fig0035'></span>
636
637
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;" 
638
|-
639
|
640
641
642
[[Image:draft_Content_703683201-1-s2.0-S0213131512000491-gr7.jpg|center|310px|Tubo de choque: error absoluto para las funciones α(S) testeadas.]]
643
644
645
|-
646
| <span style="text-align: center; font-size: 75%;">
647
648
Figura 7.
649
650
Tubo de choque: error absoluto para las funciones ''α'' (''S'' ) testeadas.                  
651
652
</span>
653
|}
654
655
===4.2. Flujo supersónico alrededor de un bache circular===
656
657
El siguiente ejemplo es un test clásico en simulaciones de flujo compresible estacionario, tanto en régimen transónico como supersónico. Veánse, por ejemplo, los trabajos [[#bib0180|[36]]] , [[#bib0185|[37]]]  and [[#bib0190|[38]]] . El problema consiste en un canal de dimensiones rectangulares con un bache circular de altura 4% en la pared inferior. El bache está centrado en la mitad de la pared inferior y tiene amplitud igual a 1. El número de Mach de entrada es ''M''  = 1,4. En las paredes superior e inferior se han utilizado condicones de contorno de pared sólida no penetrante.      
658
659
El objetivo de este test es mostrar, por una parte, el buen comportamiento del método para mallas estructuradas y alto orden de aproximación, y, por otra parte, comprobar la robustez del método, mostrando como a medida que se refina la malla, la amplitud del choque también disminuye. Se ha resuelto el problema en 2 mallas uniformes, la primera una malla grosera de 588 elementos ([[#fig0040|fig. 8]] a) y en segundo lugar se ha utilizado una malla refinada de 1.452 elementos ([[#fig0040|fig. 8]] b). En ambos casos se ha utiliizado una aproximación de alto orden de grado ''p''  = 5.
660
661
<span id='fig0040'></span>
662
663
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;" 
664
|-
665
|
666
667
668
[[Image:draft_Content_703683201-1-s2.0-S0213131512000491-gr8.jpg|center|340px|Flujo supersónico alrededor de un bache circular: mallas de cálculo.]]
669
670
671
|-
672
| <span style="text-align: center; font-size: 75%;">
673
674
Figura 8.
675
676
Flujo supersónico alrededor de un bache circular: mallas de cálculo.
677
678
</span>
679
|}
680
681
En las [[#fig0045|figura 9]] (a) y (b) se muestra el número de Mach obtenido con ambas aproximaciones. Cualitativamente ambas aproximaciones son comparables: el choque se captura con precisión sin propagarse en los elementos vecinos. Es remarcable, especialmente para la malla grosera, la precisión del método incluso con elementos grandes: en efecto, el choque queda contenido en un elemento sin necesidad de adaptar la malla, mostrando la capacidad del método de obtener choques de espesor del orden ''h'' /''p''  mucho menor que el tamaño del elemento. Con el fin de hacer una comparación más precisa entre ambas aproximaciones se considera una sección a lo largo del dominio correspondiente a ''y''  = 0,4. En la [[#fig0050|figura 10]]  se muestran los resultados obtenidos. Por una parte, se aprecia como en ambos casos el método permite capturar choques con alta precisión evitando oscilaciones espurias, típicamente presentes en los métodos de alto orden (''p''  ≥ 1). Por otra parte, se puede comprobar que con la malla refinada se reduce el espesor del choque y se obtienen gradientes más fuertes.
682
683
<span id='fig0045'></span>
684
685
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;" 
686
|-
687
|
688
689
690
[[Image:draft_Content_703683201-1-s2.0-S0213131512000491-gr9.jpg|center|357px|Flujo supersónico alrededor de un bache circular: número de Mach.]]
691
692
693
|-
694
| <span style="text-align: center; font-size: 75%;">
695
696
Figura 9.
697
698
Flujo supersónico alrededor de un bache circular: número de Mach.
699
700
</span>
701
|}
702
703
<span id='fig0050'></span>
704
705
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;" 
706
|-
707
|
708
709
710
[[Image:draft_Content_703683201-1-s2.0-S0213131512000491-gr10.jpg|center|356px|Flujo supersónico alrededor de un bache circular: número de Mach.]]
711
712
713
|-
714
| <span style="text-align: center; font-size: 75%;">
715
716
Figura 10.
717
718
Flujo supersónico alrededor de un bache circular: número de Mach.
719
720
</span>
721
|}
722
723
Finalmente, en las [[#fig0055|figura 11]] (a) y (b) se muestra el mapa de elementos donde se ha detectado el choque. En efecto, puesto que el sensor de discontinuidades actúa elemento a elemento, el espesor de la zona detectada para la malla fina es mucho menor que en el caso de las malla grosera.
724
725
<span id='fig0055'></span>
726
727
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;" 
728
|-
729
|
730
731
732
[[Image:draft_Content_703683201-1-s2.0-S0213131512000491-gr11.jpg|center|342px|Flujo supersónico alrededor de un bache circular: valor del parámetro α de la ...]]
733
734
735
|-
736
| <span style="text-align: center; font-size: 75%;">
737
738
Figura 11.
739
740
Flujo supersónico alrededor de un bache circular: valor del parámetro ''α''  de la base de funciones. Azul (0 ≤ ''α''  ≤ 1), amarillo (''α''  = 1).                  
741
742
</span>
743
|}
744
745
===4.3. Supersonic NACA 0012===
746
747
El último ejemplo corresponde al flujo aldedor de un perfil NACA0012. El flujo de la corriente libre viene dado por un número de Mach igual a 1,2 y un ángulo de incidencia ''β''  = 0°. La malla utilizada es de 450 elementos triangulares, y 14 sobre la cuerda del perfil (en cada cara). Se ha utilizado una aproximación de grado ''p''  = 4, en contraposición a los trabajos realizados hasta el momento por otros autores  [[#bib0195|[39]]] , [[#bib0200|[40]]]  and [[#bib0205|[41]]] , donde se utilizan métodos de volúmenes finitos (''p''  = 0) o aproximaciones lineales con mallas no estructuradas y refinadas para resolver el problema. Persson y Peraire [[#bib0075|[15]]]  resuelven también este problema con alto orden y Galerkin discontinuo utilizando un método clásico de difusión artificial, pero la especificación del término de difusión supone un problema añadido que no es fácil de de solventar ([[#fig0060|fig. 12]] ).
748
749
<span id='fig0060'></span>
750
751
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;" 
752
|-
753
|
754
755
756
[[Image:draft_Content_703683201-1-s2.0-S0213131512000491-gr12.jpg|center|357px|Flujo supersónico alrededor de un perfil NACA0012: malla de cálculo.]]
757
758
759
|-
760
| <span style="text-align: center; font-size: 75%;">
761
762
Figura 12.
763
764
Flujo supersónico alrededor de un perfil NACA0012: malla de cálculo.
765
766
</span>
767
|}
768
769
Pese a que la malla es muy grosera (compárese con la malla utilizada en otros trabajos [[#bib0210|[42]]]  de más de 10.000 elementos), el choque queda resuelto con precisión en el interior de un solo elemento, tal y como se puede apreciar en la [[#fig0065|figura 13]] (b), que muestra el detalle del número de Mach sobre la malla de fondo. Nótese que se ha utilizado una malla muy grosera (excepto en la punta del perfil aerodinámico) sin refinamiento adaptativo alrededor del choque. De nuevo en este ejemplo, la transición brusca entre la región supersónica y subsónica queda resuelta dentro de un único elemento. Cabe destacar que, en contraposición al trabajo [[#bib0075|[15]]]  donde la solución pierde la simetría en la cola del ala, pese a utilizar el mismo sensor de discontinuidades, los resultados obtenidos con el presente método mantienen la simetría.
770
771
<span id='fig0065'></span>
772
773
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;" 
774
|-
775
|
776
777
778
[[Image:draft_Content_703683201-1-s2.0-S0213131512000491-gr13.jpg|center|357px|Flujo supersónico alrededor de un perfil NACA0012: número de Mach y detalle de ...]]
779
780
781
|-
782
| <span style="text-align: center; font-size: 75%;">
783
784
Figura 13.
785
786
Flujo supersónico alrededor de un perfil NACA0012: número de Mach y detalle de la malla. ''M''<sub></sub>  = 1,25.                  
787
788
</span>
789
|}
790
791
En la [[#fig0070|figura 14]]  se representa el mapa de valores de ''α'' . El sensor permanece inactivo en prácticamente todo el dominio, en contraste con otros métodos donde se aplica estabilización no solo en la zona del choque, sino también en los elementos adyancentes al perfil  [[#bib0075|[15]]]  and [[#bib0200|[40]]] .
792
793
<span id='fig0070'></span>
794
795
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;" 
796
|-
797
|
798
799
800
[[Image:draft_Content_703683201-1-s2.0-S0213131512000491-gr14.jpg|center|357px|Flujo supersónico alrededor de un perfil NACA0012: elementos detectados tal que ...]]
801
802
803
|-
804
| <span style="text-align: center; font-size: 75%;">
805
806
Figura 14.
807
808
Flujo supersónico alrededor de un perfil NACA0012: elementos detectados tal que ''α''  < 1. ''M''<sub></sub>  = 1,25.                  
809
810
</span>
811
|}
812
813
Finalmente se muestra el coeficiente de presión, que constituye una medida común para validar la precisión del método. El perfil a ambos lados del contorno de la NACA es simétrico, y no se observan apenas oscilaciones. Los resultados además son comparables con los obtenidos en la literatura [[#bib0215|[43]]]  ([[#fig0075|fig. 15]] ).
814
815
<span id='fig0075'></span>
816
817
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;" 
818
|-
819
|
820
821
822
[[Image:draft_Content_703683201-1-s2.0-S0213131512000491-gr15.jpg|center|309px|Flujo supersónico alrededor de un perfil NACA0012: distribución de la presión en ...]]
823
824
825
|-
826
| <span style="text-align: center; font-size: 75%;">
827
828
Figura 15.
829
830
Flujo supersónico alrededor de un perfil NACA0012: distribución de la presión en la superficie superior e inferior del perfil del ala. ''M''<sub></sub>  = 1,25.                  
831
832
</span>
833
|}
834
835
<span id='sec0055'></span>
836
==5. Conclusiones==
837
838
En este trabajo se presenta una nueva formulación para los métodos de Galerkin discontinuo que permite tratar soluciones discontinuas, no solo en la interfaz de los elementos, sino también dentro del propio elemento. El método combina la habilidad de los métodos Galerkin discontinuo de alto orden para obtener soluciones precisas utilizando mallas groseras con la tecnología estabilizadora de los métodos de volúmenes finitos. La estabilización es inherente en el método y se evita el uso de parámetros no arbitrarios. Pese a que el método permite el uso de elementos grandes y no requiere refinamiento para obtener soluciones precisas, el uso de técnicas adaptativas es compatible con el método. Con el fin de mejorar la precisión de los resultados obtenidos los autores creen que debería hacerse un estudio más preciso entre la opción de refinamiento h o p localmente.
839
840
==References==
841
842
<ol style='list-style-type: none;margin-left: 0px;'><li><span id='bib0005'></span>
843
[[#bib0005|[1]]] J. Donea, A. Huerta; Finite element methods for flow problems; John Wiley & Sons, Chichester (2003)</li>
844
<li><span id='bib0010'></span>
845
[[#bib0010|[2]]] R.J. LeVeque; Numerical methods for conservation laws. Lectures in Mathematic ETH Zürich;  (second ed.)Birkhäuser Verlag, Basel (1992)</li>
846
<li><span id='bib0015'></span>
847
[[#bib0015|[3]]] F. Bassi, S. Rebay; A high-order accurate discontinuous finite element method for the numerical solution of the compressible Navier-Stokes equations; J. Comput. Phys., 131 (2) (1997), pp. 267–279</li>
848
<li><span id='bib0020'></span>
849
[[#bib0020|[4]]] B. Cockburn, C.-W. Shu; TVB Runge-Kutta local projection discontinuous Galerkin finite element method for conservation laws. II. General framework; Math. Comp., 52 (186) (1989), pp. 411–435</li>
850
<li><span id='bib0025'></span>
851
[[#bib0025|[5]]] R. Biswas, K.D. Devine, J.E. Flaherty; Parallel, adaptive finite element methods for conservation laws; Appl. Numer. Math., 14 (1-3) (1994), pp. 255–283</li>
852
<li><span id='bib0030'></span>
853
[[#bib0030|[6]]] B. Cockburn, C.-W. Shu; Runge-Kutta discontinuous Galerkin methods for convection-dominated problems; J. Sci. Comput., 16 (3) (2001), pp. 173–261</li>
854
<li><span id='bib0035'></span>
855
[[#bib0035|[7]]] L. Krivodonova, J. Xin, J.-F. Remacle, N. Chevaugeon, J.E. Flaherty; Shock detection and limiting with discontinuous Galerkin methods for hyperbolic conservation laws; Appl. Numer. Math., 48 (3-4) (2004), pp. 323–338 Workshop on Innovative Time Integrators for PDEs</li>
856
<li><span id='bib0040'></span>
857
[[#bib0040|[8]]] T. J. Barth, Aspects of unstructured grids and finite-volume solvers for the Euler and Navier-Stokes equations (part 4). AGARD, Special Course on Unstructured Grid Methods for Advection Dominated Flows(SEE N92-27671 18-34), Provided by the SAO/NASA Astrophysics Data System, 1992.</li>
858
<li><span id='bib0045'></span>
859
[[#bib0045|[9]]] R.J. LeVeque; Finite volume methods for hyperbolic problems. Cambridge Texts in Applied Mathematics; Cambridge University Press, Cambridge (2002)</li>
860
<li><span id='bib0050'></span>
861
[[#bib0050|[10]]] B. Cockburn, S.Y. Lin, C.-W. Shu; TVB Runge-Kutta local projection discontinuous Galerkin finite element method for conservation laws. III. One-dimensional systems; J. Comput. Phys., 84 (1) (1989), pp. 90–113</li>
862
<li><span id='bib0055'></span>
863
[[#bib0055|[11]]] C.E. Baumann, J.T. Oden; An adaptive-order discontinuous Galerkin method for the solution of the Euler equations of gas dynamics; Int. J. Numer. Methods Eng., 47 (1-3) (2000), pp. 61–73</li>
864
<li><span id='bib0060'></span>
865
[[#bib0060|[12]]] A. Burbeau, P. Sagaut, C.-H. Bruneau; A problem-independent limiter for high-order Runge-Kutta discontinuous Galerkin methods; J. Comput. Phys., 169 (1) (2001), pp. 111–150</li>
866
<li><span id='bib0065'></span>
867
[[#bib0065|[13]]] L. Krivodonova; Limiters for high-order discontinuous Galerkin methods; J. Comput. Phys., 226 (1) (2007), pp. 879–896</li>
868
<li><span id='bib0070'></span>
869
[[#bib0070|[14]]] J. Von Neumann, R.D. Richtmyer; A method for the numerical calculation of hydrodynamic shocks; J. Appl. Phys., 21 (1950), pp. 232–237</li>
870
<li><span id='bib0075'></span>
871
[[#bib0075|[15]]] P. Persson, J. Peraire; Sub-cell shock capturing for discontinuous Galerkin methods; Proc. of the 45th AIAA Aerospace Sciences Meeting and Exhibit, Reno, Nevada (2006) AIAA-2006-0112</li>
872
<li><span id='bib0080'></span>
873
[[#bib0080|[16]]] E. Casoni, J. Peraire, A. Huerta; One-Dimensional Shock-Capturing for High-Order Discontinuous Galerkin Methods; 14 of ECCOMAS Multidisciplinary Jubilee Symposium. Computational Methods in Applied Sciences, Springer, Netherlands (2009)</li>
874
<li><span id='bib0085'></span>
875
[[#bib0085|[17]]] G. Chavent, B. Cockburn; The local projection ''P''<sup>0</sup>''P''<sup>1</sup> -discontinuous-Galerkin finite element method for scalar conservation laws                                        ; RAIRO Model. Math. Anal. Numer., 23 (4) (1989), pp. 565–592</li>
876
<li><span id='bib0090'></span>
877
[[#bib0090|[18]]] C.-W. Shu; Total-variation-diminishing time discretizations; SIAM J. Sci. Statist. Comput., 9 (6) (1988), pp. 1073–1084</li>
878
<li><span id='bib0095'></span>
879
[[#bib0095|[19]]] C.-W. Shu, S. Osher; Efficient implementation of essentially nonoscillatory shock-capturing schemes; J. Comput. Phys., 77 (2) (1988), pp. 439–471</li>
880
<li><span id='bib0100'></span>
881
[[#bib0100|[20]]] S. Gottlieb, C.-W. Shu, E. Tadmor; Strong stability-preserving high-order time discretization methods; SIAM Rev., 43 (1) (2001), pp. 89–112 (electronic)</li>
882
<li><span id='bib0105'></span>
883
[[#bib0105|[21]]] D. Balsara, C.-W. Shu; Monotonicity preserving weighted essentially non-oscilllatory schemes with increasing high order of accuracy; J. Comput. Phys., 160 (2000), pp. 405–452</li>
884
<li><span id='bib0110'></span>
885
[[#bib0110|[22]]] J. Qiu, C.-W. Shu; Runge-Kutta discontinuous Galerkin method using WENO limiters; SIAM J. Sci. Comput., 26 (3) (2005), pp. 907–929 (electronic)</li>
886
<li><span id='bib0115'></span>
887
[[#bib0115|[23]]] D.N. Arnold, F. Brezzi, B. Cockburn, L.D. Marini; Unified analysis of discontinuous Galerkin methods for elliptic problems; SIAM J. Numer. Anal., 39 (5) (2001/02), pp. 1749–1779 (electronic)</li>
888
<li><span id='bib0120'></span>
889
[[#bib0120|[24]]] P. Castillo, B. Cockburn, I. Perugia, D. Schötzau; An a priori error analysis of the local discontinuous Galerkin method for elliptic problems; SIAM J. Numer. Anal., 38 (5) (2000), pp. 1676–1706 (electronic)</li>
890
<li><span id='bib0125'></span>
891
[[#bib0125|[25]]] P.L. Roe; Approximate Riemann solvers, parameter vectors, and difference schemes; J. Comput. Phys., 135 (2) (1997), pp. 250–258</li>
892
<li><span id='bib0130'></span>
893
[[#bib0130|[26]]] C. Hirsch; Numerical Computation of Internal and External Flows, Volume 2, Computational Methods for Inviscid and Viscous Flows; John Wiley & Sons, Brussels, Belgium (1990)</li>
894
<li><span id='bib0135'></span>
895
[[#bib0135|[27]]] B.V. Leer; Towards the ultimate conservative difference scheme v. a second order sequel to godunovs method; J. Comput. Phys., 135 (1997), pp. 229–248</li>
896
<li><span id='bib0140'></span>
897
[[#bib0140|[28]]] L. Cueto-Felgueroso, I. Colominas; High-order finite volume methods and multiresolution reproducing kernels; Arch. Comput. Methods Eng., 15 (2) (2008), pp. 185–228</li>
898
<li><span id='bib0145'></span>
899
[[#bib0145|[29]]] J. Barth, D. Jespersen; The design and application of upwind schemes on unstructured meshes; Proc. of the 27th AIAA Aerospace Sciences Meeting, Reno, NV (1989) AIAA-89-0366</li>
900
<li><span id='bib0150'></span>
901
[[#bib0150|[30]]] V. Venkatakrishnan; Convergence to steady state solutions of the euler equations on unstructured grids with limiters; J. Comput. Phys., 118 (1) (1995), pp. 120–130</li>
902
<li><span id='bib0155'></span>
903
[[#bib0155|[31]]] N. Nguyen, P.-O. Persson, J. Peraire; Rans solutions using high order discontinuous galerkin methods; Proc. of the 44th AIAA Aerospace Sciences Meeting and Exhibit, Reno, Nevada (2007) AIAA-2007-0914</li>
904
<li><span id='bib0160'></span>
905
[[#bib0160|[32]]] T. Koornwinder; Askey-wison polynomials for root systems of type bc; Contempo. Math., 138 (1992), pp. 189–204</li>
906
<li><span id='bib0165'></span>
907
[[#bib0165|[33]]] C. Mavriplis; Adaptive mesh strategies for the spectral element method; Comput. Methods Appl. Mech. Engrg., 116 (1994), pp. 77–86</li>
908
<li><span id='bib0170'></span>
909
[[#bib0170|[34]]] D. Gottlieb, J.S. Hesthaven; Spectral methods for hyperbolic problems; J. Comput. Appl. Math., 128 (1-2) (2001), pp. 83–131 Numerical analysis 2000, VII, Partial differential equations</li>
910
<li><span id='bib0175'></span>
911
[[#bib0175|[35]]] G. Sod; A survey of several finite difference methods for systems of nonlinear hyperbolic conservation laws; J. Comput. Phys., 27 (4) (1978), pp. 1–31</li>
912
<li><span id='bib0180'></span>
913
[[#bib0180|[36]]] F. Moukalled, M. Darwish; A high-resolution pressure-based algorithm for fluid flow at all speeds; J. Comput. Phys., 168 (1) (2001), pp. 101–133</li>
914
<li><span id='bib0185'></span>
915
[[#bib0185|[37]]] H. Luo, J.D. Baum, R. Löhner; A hermite weno-based limiter for discontinuous galerkin method on unstructured grids; J. Comput. Phys., 225 (1) (2007), pp. 686–713</li>
916
<li><span id='bib0190'></span>
917
[[#bib0190|[38]]] V. Dolejsí, M. Feistauer; A semi-implicit discontinuous Galerkin finite element method for the numerical solution of inviscid compressible flow; J. Comput. Phys., 198 (2) (2004), pp. 727–746</li>
918
<li><span id='bib0195'></span>
919
[[#bib0195|[39]]] L. Cueto-Felgueroso, Partículas, volúmenes finitos y mallas no estructuradas: simulación numérica de problemas de dinámica de fluidos. PhD thesis, Universidad da Coruña, España, 2006.</li>
920
<li><span id='bib0200'></span>
921
[[#bib0200|[40]]] X. Nogueira,  ''et al.''; Detección de ondas de choque mediante el métodos de mínimos cuadrados móviles para discretizaciones de alto orden en mallas no estructuradas; Proceedings of Congreso de Métodos Numéricos en Ingeniería 2009, Barcelona, España (2009)</li>
922
<li><span id='bib0205'></span>
923
[[#bib0205|[41]]] M. Aksas, A.H. Benmachiche; Multidimensional upwind schemes for the euler equations on unstructured grids; IJE, 3 (2) (2009), pp. 185–200</li>
924
<li><span id='bib0210'></span>
925
[[#bib0210|[42]]] O. Arias, O. Falcinelli, N. Fico, S. Elaskar; Finite volume simulation of a flow over a NACA 0012 using Jamseon, MacCormack, Shu and TVD esquemes; Mecánica Computacional, XXVI (2007), pp. 3097–3116</li>
926
<li><span id='bib0215'></span>
927
[[#bib0215|[43]]] H. Viviand; Numerical solutions of two-dimensional reference tests cases; AGARD AR-211 (1985)</li>
928
</ol>
929

Return to Casoni et al 2012a.

Back to Top

Document information

Published on 01/12/12
Accepted on 26/10/11
Submitted on 05/08/11

Volume 28, Issue 4, 2012
DOI: 10.1016/j.rimni.2012.08.001
Licence: Other

Document Score

0

Views 35
Recommendations 0

Share this document

claim authorship

Are you one of the authors of this document?