Cuadrícula múltiple en cuadrícula "no perfectamente rectangular"


9

Las introducciones de múltiples cuadrículas normalmente usan una cuadrícula rectangular. La interpolación de valores es directa: simplemente interpola linealmente en el borde entre dos nodos adyacentes de la grilla gruesa para encontrar el valor del nodo de grilla fina en ese borde.

Para una aplicación FEM, tengo una cuadrícula que es "topológicamente" rectangular para que las conexiones de nodo sean como en una cuadrícula rectangular. Sin embargo, los nodos no están perfectamente alineados en una cuadrícula, pero pueden recorrer pequeñas distancias para ajustarse mejor a la geometría, mientras mantienen las conexiones como en una cuadrícula rectangular perfecta.

La malla se ve así: Ejemplo de malla . Verá: Las conexiones son "rectangulares regulares", pero las posiciones de los nodos no.

Puedo imaginar varios esquemas de interpolación geométrica "razonables" para tal configuración.

La pregunta general es: ¿La multigrid requiere una cuadrícula rectangular perfectamente alineada, o también funcionará con la situación descrita anteriormente, siempre que la interpolación sea "buena"? ¿O es mejor usar multirredes algebraicas en ese caso? (Lo cual no prefiero ya que no es tan intuitivo como la multigrid geométrica).


No estoy seguro de entender lo que quiere decir con que la cuadrícula es topológicamente rectangular, pero donde los nodos no están alineados como en una cuadrícula rectangular. ¿Es la cuadrícula una cuadrícula rectangular estructurada? ¿Podría aclarar esto, tal vez con un dibujo? ¿El problema es que está utilizando elementos rectangulares que no se alinean como sucedería al usar una cuadrícula cartesiana estructurada?
James

@James, interpreté que la pregunta de OP era más como: "¿Qué sucede si tengo una cuadrícula 'cartesiana-ish' dentro de un trapecio?".
Bill Barth

Respuestas:


6

Multigrid no necesita una cuadrícula cartesiana (rectangular) uniforme. Lo que necesita es que pueda definir un nivel fino y grueso (posiblemente de forma recursiva, si desea pasar de un esquema de dos niveles a un esquema de varios niveles), y que puede definir operadores de interpolación entre estos niveles. La forma más fácil de explicar esto es si realmente tiene una cuadrícula cartesiana, pero de hecho puede comenzar con cualquier malla gruesa, refinarla una vez, y así: tiene una malla más fina.

En otras palabras, es más fácil pensar en mallas adecuadas para múltiples cuadrículas no como una malla fina y cómo encontrar las mallas más gruesas, sino comenzar con una malla gruesa de la que se obtienen los niveles más finos mediante un refinamiento uniforme (es decir, cada cuadrilátero es subdividido en cuatro más pequeños). Dado que el refinamiento uniforme siempre es posible, esto fácilmente le da una jerarquía. Esto se opone al engrosamiento, que no siempre es posible si solo se le da una malla particular, por lo que la definición de una jerarquía de malla es mucho más complicada. (Es por eso que las personas han ideado métodos algebraicos de múltiples cuadrículas para definir los niveles gruesos basados ​​solo en la matriz, sin pensar en la malla subyacente a partir de la cual se creó).


Edité un ejemplo de imagen en la pregunta. Asumiría que el engrosamiento es extremadamente fácil en mi caso al tomar solo cada 2do nodo (por dimensión) y volver a calcular FEM para que la cuadrícula obtenga la matriz gruesa / operador. El vector de datos gruesos se puede obtener simplemente tomando cada valor del segundo nodo.
Michael

1
Eso puede o no funcionar tan bien como desee (supongo que probablemente lo hará, pero no estoy completamente seguro). El caso es que, en su ejemplo, las celdas de malla gruesa no cubren la misma área que los elementos secundarios, por lo que no existe una propiedad de anidación de los espacios de elementos finitos: las funciones que puede representar en la malla gruesa no son un subconjunto de Las funciones que puede representar en la malla fina. Joe Pasciak y Jim Bramble han escrito documentos sobre tales casos, y creo recordar que se les puede hacer trabajar. Pero no es inmediatamente obvio para mí.
Wolfgang Bangerth

4

Digamos que tiene la siguiente cuadrícula compuesta de elementos rectangulares:

ingrese la descripción de la imagen aquí

Ahora, si realiza su interpolación suponiendo una cuadrícula rectangular estructurada normal, entonces introducirá errores asociados con esta interpolación inexacta. En otras palabras, cuando restringe su vector residual y cuando prolonga su vector de error, habrá errores de la interpolación.

Ahora, si su cuadrícula está "cerca" de ser una cuadrícula cartesiana estructurada normal, entonces esto puede funcionar, al menos al principio, pero sospecho que una de dos cosas sucederá dependiendo de qué tan lejos esté su cuadrícula de ser rectangular:

1) Puede encontrar que la cuadrícula múltiple comienza a converger al principio. Después de todo, inicialmente su error es grande de todos modos y su interpolación "aproximada" realmente solo significa que algunos nodos están ligeramente sobre representados mientras que otros están ligeramente menos representados. Sin embargo, puede encontrar que la convergencia se estanca a medida que la solución se vuelve más precisa y los errores de interpolación se vuelven más importantes.

2) Otra posibilidad es que la cuadrícula múltiple termine convergiendo, pero no tan rápido como debería si hubiera utilizado la interpolación correcta.

Básicamente, al interrumpir su interpolación, está ponderando la importancia de ciertos nodos incorrectamente. Por ejemplo en 2D si está ponderando un nodo dado como:

[0.250,50.250,51.00,50.250,50.25]

cuando en verdad porque su grilla no es exactamente cartesiana, debería ser:

[0.250,550.250,551.00,490.280,520,30]

entonces esto resultará en algún error. La probabilidad de que este error evite la convergencia dependerá de qué tan lejos esté la red de ser cartesiana.

Si bien AMG es más difícil de entender / implementar, parece que es el método correcto para su grilla. La aplicación de múltiples cuadrículas geométricas a una cuadrícula rectangular "aproximada" puede funcionar, pero supongo que es una solución de curita en el mejor de los casos. Espero que esto ayude.

Actualización : creo que puede haber cierta confusión en mi respuesta. No digo que la multigrid geométrica solo funcione con mallas cartesianas, sino que definir la interpolación (y por lo tanto la restricción) en las mallas cartesianas es fácil, mientras que en mallas no estructuradas esto puede ser difícil. Por ejemplo, considere el caso de incluso un dominio 2D simple con una malla triangular. Refinar esta malla es fácil, al menos conceptualmente, pero ¿cómo definiría un operador de interpolación entre la malla gruesa y la fina? Prefiero AMG simplemente porque funciona más como un solucionador de "recuadro negro", es decir, no necesita información sobre la malla subyacente, sin embargo, esto es solo mi sesgo / peculiaridad personal. La cuadrícula geométrica puede funcionar siempre que pueda proporcionar operadores de interpolación precisos.


Puedo leer esto como "depende de cuán buena sea tu interpolación", ¿correcto? Entonces, si puedo idear un esquema de interpolación "perfecto", ¿entonces estaría bien?
Michael

1
Creo que esta respuesta es verdadera pero engañosa: dice que si finge que su cuadrícula es cartesiana normal cuando no lo es, obtendrá la respuesta incorrecta. Eso es cierto, pero se podría decir lo mismo sobre cualquier método numérico. El punto es que la multigrid geométrica es precisa en mallas más generales cuando se implementa correctamente .
David Ketcheson

Estoy de acuerdo en que la multigrid geométrica se puede usar con mallas no cartesianas siempre que se haga correctamente. Acabo de responder la pregunta de OP preguntando si el uso de una malla cartesiana "aproximadamente", mientras se utiliza la interpolación diseñada para una malla cartesiana real, funcionaría.
James

@Michael Básicamente necesita alguna forma de definir operadores de interpolación entre diferentes niveles de cuadrícula. Con mallas cartesianas esto es fácil. Con mallas no cartesianas esto puede volverse más difícil rápidamente dependiendo de qué tan desestructuradas estén sus mallas. Como Wolfgang dice en su respuesta, siempre puede crear una malla más refinada a partir de una gruesa, pero definir operadores de interpolación significativos puede ser difícil. La ventaja de AMG es que se comporta más como un solucionador de "recuadro negro" en el sentido de que no necesita datos de malla para definir operadores de interpolación. Todo lo que necesitas es la matriz
James

@MIchael Entonces para responder a tu pregunta. Sí, si puede encontrar operadores de interpolación precisos, la multigrid geométrica funcionará bien. Espero que esto ayude.
James
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.