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).
Respuestas:
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ó).
fuente
Digamos que tiene la siguiente cuadrícula compuesta de elementos rectangulares:
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:
cuando en verdad porque su grilla no es exactamente cartesiana, debería ser:
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.
fuente