cuadrícula uniforme versus no uniforme

16

Probablemente sea una pregunta a nivel de estudiante, pero no puedo dejarla clara para mí. ¿Por qué es más preciso usar cuadrículas no uniformes en los métodos numéricos? Estoy pensando en el contexto de algún método de diferencia finita para el PDE de la forma . Y suponga que estoy interesado en una solución en el punto . Entonces, puedo ver que si aproximo la segunda derivada, por ejemplo, en una cuadrícula uniforme usando una aproximación de tres puntos, el error es de segundo orden O (h ^ 2) . Luego puedo construir una cuadrícula no uniforme a través de un mapeo y encontrar coeficientes para los tres puntos que se usan para aproximar la derivada. Puedo hacer las expansiones de Taylor y nuevamente obtener un límite para que la derivada sea un segundo orden O (h ^ 2) , dondex O ( h 2 ) O ( h 2 ) htut(X,t)=tuXX(X,t)XO(h2)O(h2)h es la distancia en una cuadrícula uniforme de la que obtuve el mapeo a una cuadrícula no uniforme. Ambas estimaciones contienen derivados y no me queda claro por qué la solución sería más precisa en una cuadrícula no uniforme, ya que depende de la magnitud de las derivadas correspondientes en las estimaciones de error.

Kamil
fuente

Respuestas:

19

La justificación de las mallas no uniformes es la siguiente (todas las ecuaciones entendidas como cualitativas, es decir, en general verdaderas pero sin la pretensión de ser demostrable en todas las circunstancias y para todas las ecuaciones o todas las posibles discretizaciones):

Al resolver una ecuación con, por ejemplo, elementos finitos lineales, normalmente tiene una estimación de error del tipo o, de forma equivalente pero en una forma más adecuada para lo siguiente: \ | u-u_h \ | _ {L ^ 2 (\ Omega )} ^ 2 \ le C h _ {\ text {max}} ^ 4 \ | \ nabla ^ 2 u \ | _ {L ^ 2 (\ Omega)} ^ 2. Sin embargo, esto es una sobreestimación. De hecho, en muchos casos se puede mostrar que el error es en realidad de la forma \ | u-u_h \ | _ {L ^ 2 (\ Omega)} ^ 2 \ le C \ sum_ {K \ in {\ mathbb T} } h_K ^ 4 \ | \ nabla ^ 2 u \ | _ {L ^ 2 (K)} ^ 2. Aquí, K son las células de la triangulación \ mathbb T . Esto muestra que para que el error sea pequeño, en realidad no es necesario reducir el máximou - u h 2 L 2 ( Ω )C h 4 max2 u 2 L 2 ( Ω ) . U - u h

tu-tuhL2(Ω)Chmax22tuL2(Ω),
uuhL2(Ω)2Chmax42uL2(Ω)2.
K T
uuhL2(Ω)2CKThK42uL2(K)2.
KTtamaño de malla hmax . Por el contrario, la estrategia más eficiente será equilibrar las contribuciones de error a nivel de hK42uL2(K)2 - en otras palabras, debe elegir
hK2uL2(K)1/2.
En otras palabras, el tamaño de malla local hK debe ser pequeño donde la solución es rugosa (tiene grandes derivados) y grande donde la solución es suave, y la fórmula anterior proporciona una medida cuantitativa para esta relación.
Wolfgang Bangerth
fuente
1
Yo añadiría que la anisotropía se representa más eficientemente con un espacio anisotrópico ansatz (es decir, una malla anisotrópica). Dado que la anisotropía puede no estar alineada con alguna malla gruesa inicial, un algoritmo de AMR isotrópico puede ser muy ineficiente. La anisotropía causa algunos problemas adicionales porque muchos métodos no son uniformemente estables con respecto a la relación de aspecto.
Jed Brown
6

Demuéstralo con este ejemplo. ¿Cuál es el error máximo al interpolar sqrt (x) en el intervalo [0,1] con interpolación lineal por partes en una malla uniforme?

¿Cuál es el error máximo cuando se interpola en una malla en la que el i de n puntos viene dado por (i / n) ^ s, y s es un parámetro de calificación de malla cuidadosamente elegido?

Rob Schreiber
fuente
Esto es realmente simple e intuitivo. De hecho, si escribo el error, depende de alguna derivada * , así que cuando la derivada es grande la mato con una más . Y por lo tanto, uso la falta de uniformidad donde la función tiene gradientes altos, o donde tiene algunas fluctuaciones. ¿Estoy en lo cierto, que debería poner más puntos en esa región, incluso si no es la región donde calculo la solución? Porque al principio pensé poner más puntos en la región de interés de la respuesta, pero a partir de esta discusión, no está allí. hyohyo
Kamil
4

La razón típica por la cual un no uniforme puede conducir a una mayor precisión es que el PDE a resolver no tiene la forma , sino la forma . Si su cuadrícula no uniforme le permite representar la real con mayor precisión, obtendrá una solución más precisa. Debido a que normalmente está determinada por las propiedades del material, es probable que sea constante dentro de cada material, por lo que normalmente tiene una función constante por partes y realmente debería alinear la cuadrícula en consecuencia.tut(X,t)=tuXX(X,t)tut(X,t)=(re(X)tuX(X,t))Xre(X)re(X)

Una razón diferente podría ser que tiene más variación en ciertas regiones que en otras. Uno puede intentar compensar esto un poco con una cuadrícula no uniforme adaptativamente refinada. (Sin embargo, en mi opinión, existen otras técnicas que pueden manejar esta situación incluso mejor que una cuadrícula no uniforme).tu(X,0 0)

Thomas Klimpel
fuente
¿podría especificar qué otras técnicas utilizaría para tener una "mirada" más cercana a las regiones de discontinuidades en los datos iniciales, por ejemplo?
Kamil
@Kamil Tengo dos cosas en mente aquí. Lo primero es calcular la proyección de los datos iniciales en la "representación utilizada en la cuadrícula" con suficiente precisión. (Esto generalmente incluye cosas como sobremuestreo o cálculos analíticos simples en las discontinuidades de salto). Sé que este es un buen estilo y demasiado simple para mencionarlo, pero en mi experiencia a menudo es todo lo que se necesita para solucionar los problemas causados ​​por las singularidades en Los datos de entrada.
Thomas Klimpel
La otra cosa en la que estoy pensando es modelar parte de los datos de entrada como condiciones de contorno. Sin embargo, los ahorros de esto a menudo son menos que un factor dos, y las condiciones de frontera son notoriamente difíciles de acertar, al menos en mi experiencia. Entonces, diría que a menudo no vale la pena el esfuerzo para hacerlo perfectamente (o solo vale la pena el esfuerzo si la extensión correspondiente del problema en esa dirección es realmente pequeña, o si realmente desea una alta precisión), y simplemente seleccionando aproximadamente la correcta La condición de límite y la colocación del límite lo suficientemente lejos a menudo funcionan lo suficientemente bien.
Thomas Klimpel
4

Kamil, la resolución de ecuaciones diferenciales es global, la interpolación es local. En la interpolación polinómica por partes, la precisión lejos de la singularidad no se verá afectada por la singularidad. Desafortunadamente, esto no es del todo cierto para resolver una ecuación elíptica, como un problema de valor límite de dos puntos. La singularidad contaminará la aproximación globalmente.

Aquí hay algo para probar. Resuelva D (sqrt (x) Du) en [0,1] con Dirichlet homogéneo bcs D es el operador de diferenciación. Use elementos finitos o diferencias finitas en una malla uniforme de n puntos. Compare con una malla en la que el punto i-ésimo es (1 / n) ^ 1.5. Tenga en cuenta que el peor error para la malla uniforme está lejos de la singularidad, y mucho más grande que para la malla graduada.

Rob Schreiber
fuente