Optimización de la topología
3.5.2.1 Intercambio de bordes
La idea del método de optimización de la topología es mejorar la calidad de la malla cambiando la topología de la malla. En dos dimensiones, el algoritmo de intercambio de bordes es el más utilizado. De manera similar a la propiedad de maximización del ángulo mínimo involucrada en la triangulación de Delaunay, debemos tratar de evitar esquinas largas y estrechas en cada unidad triangular en la malla triangular. En una malla de triángulos bidimensional, para un cuadrilátero convexo compuesto por un par de triángulos con un solo lado, la reconstrucción local se realiza cambiando el único lado del par de triángulos (es decir, la diagonal del cuadrilátero convexo) para mejorar el triángulo. Forma. Calidad correcta.
Figura 3.27 Método de intercambio de aristas
Como se muestra en la Figura 3.27, los cuatro vértices del cuadrilátero formado por dos triángulos adyacentes son A, B, C y D, y, ∠ACB= α1, ∠ADB=α2, tres puntos A, B y C determinan un círculo. D tiene tres situaciones relativas a este círculo. En consecuencia, hay tres opciones para la diagonal del cuadrilátero convexo:
(. 1) Cuando el punto D está ubicado en el círculo, es decir, α1+α2=π, teóricamente puedes elegir la diagonal arbitrariamente, pero para obtener la mejor forma de triángulo, calcula los pares de triángulos originales antes de intercambiar la diagonal interior. ángulo, luego calcule el ángulo interior mínimo del nuevo par de triángulos formado después de intercambiar las diagonales y compare el tamaño del ángulo interior mínimo en los dos casos. Si el ángulo interior mínimo antes de intercambiar las diagonales es mayor, no es necesario. intercambie las diagonales. De lo contrario, intercambie la diagonal.
(2) Cuando el punto D está ubicado en el círculo, es decir, α1+α2>π, intercambia las diagonales, elimina el par de triángulos ΔABC, ΔADB*** y conecta CD con el lado AB para formar un nuevo triángulo para ΔADC, ΔBCD.
(3) Cuando el punto D está ubicado fuera del círculo, es decir, α1+α2<π, no hay necesidad de intercambiar las diagonales.
El método anterior es básicamente el mismo que el método LOP del algoritmo de Lawson en el método de triangulación de Delaunay. Este método necesita calcular el círculo circunscrito del triángulo y determinar si el punto cae dentro del círculo. es un método basado directamente en el triángulo. Un método para determinar si las diagonales deben intercambiarse utilizando las coordenadas de los cuatro vértices.
Supongamos que las coordenadas de los cuatro puntos A, B, C y D son (x1, y1), (x2, y2), (x3, y3) y (x4, y4) respectivamente. teorema del coseno, podemos obtener:
sen(α1+α2)=((x1-x3)×(y2-y3)-(x2-x3)×(y1-y3))+((x2 -x4)×( x1-x4)+(y2-y4)×(y1-y4))+((x1-x3)×(x2-x3)-(y1-y3)×(y2-y3))×( (x2-x4) ×(y1-y4)-(x1-x4)×(y2-y4))
Así que puedes decidir si intercambiar la diagonal según el signo de sin(α1+α2 ):
(1) Cuando sin(α1+α2)=0, la diagonal se puede elegir arbitrariamente.
(2) Cuando sin(α1+α2)<0, es necesario intercambiar las diagonales.
(3) Cuando sin(α1+α2)>0, no hay necesidad de intercambiar diagonales.
En aplicaciones prácticas, no es necesario utilizar el método de intercambio de aristas para hacer que cada triángulo satisfaga la propiedad del círculo circunscrito vacío, sino solo para algunos pares de triángulos que obviamente requieren intercambio de aristas, como el ángulo máximo. de ambos triángulos los ángulos obtusos y los lados correspondientes a los dos ángulos más grandes son los lados más comunes del par de triángulos. Como se muestra en la Figura 3.28, hay una gran cantidad de tales triángulos. mejorará significativamente la calidad de la malla y, al mismo tiempo, para evitar la degradación de la calidad después del intercambio, determine el tamaño de los ángulos mínimos de los seis ángulos interiores del par de triángulos antes y después del intercambio: Si el ángulo mínimo entre los seis ángulos interiores del par de triángulos antes del intercambio son menores que el ángulo interior mínimo del nuevo par de triángulos después del intercambio, se intercambian las diagonales, por el contrario, no se intercambia.
Figura 3.28 Ejemplo de optimización de malla triangular utilizando el método de intercambio de bordes
En el entorno VC++, el código completo del algoritmo anterior es el siguiente, en el que la función EdgeSwap (CSurf*surf ) es la función principal del intercambio de bordes. Realizar operaciones de intercambio de bordes MaxAngleInTrgl() y MinAngleInTrgl() llamados por esta función se utilizan para calcular el ángulo máximo y el ángulo mínimo en un triángulo respectivamente.
Método de modelado geológico tridimensional e implementación del programa
Método de modelado geológico tridimensional e implementación del programa
Método de modelado geológico tridimensional e implementación del programa p>
Método de modelado geológico tridimensional e implementación del programa
3.5.2.2 Insertar/eliminar puntos
En las celdas de la cuadrícula, a menudo es necesario medir la longitud esperada de un cierto lado de la unidad y el punto medio del lado. El valor ideal para esta relación en dos dimensiones es 1,53. Si esta relación es demasiado grande, se deben descomponer los puntos de inserción para cambiar esta relación. La geometría de la unidad se puede controlar eligiendo cuidadosamente dónde se insertan los puntos. El método de bisección en el método de refinamiento de malla es esencialmente un método de optimización de la topología mediante la inserción de los puntos medios de ciertos bordes.
El método de bisección es un algoritmo recursivo que utiliza el punto medio del borde como punto de cifrado. El método específico es: primero use el punto medio del borde en la malla triangular cuya longitud es mayor que el umbral establecido como un nuevo nodo, luego vuelva a dividir el triángulo de acuerdo con las tres situaciones enumeradas en la Figura 3.29 y actualice la relación de adyacencia de el triángulo y el borde correspondientes, y el nuevo triángulo se coloca en el siguiente ciclo para juzgar la longitud de los lados hasta que todas las longitudes de los lados sean menores o iguales que el umbral correspondiente.
Figura 3.29 Nodo de cifrado dicotómico y repartición de unidades
La operación de eliminación de puntos se utiliza principalmente como tecnología de redefinición. En muchos casos, la eliminación de puntos se logra eliminando la malla en un área y luego volviendo a seleccionar la escala de longitud para volver a mallar la cavidad. También se pueden utilizar diferentes aplicaciones de técnicas de eliminación de puntos para mejorar la geometría del elemento con fines de optimización de la malla. El enfoque más común es eliminar los dos puntos cuando la distancia entre ellos es menor que un cierto umbral, agregar el punto medio de los dos puntos y actualizar la topología de las celdas de la cuadrícula que pasan por los dos puntos.