Estoy interesado en implementar una malla móvil para un problema de advección-difusión. Adaptive Moving Mesh Methods da un buen ejemplo de cómo hacer esto para la ecuación de Burger en 1D usando diferencia finita. ¿Alguien podría ofrecer un ejemplo práctico para resolver la ecuación de advección-difusión 1D usando diferencia finita con una malla en movimiento?
Por ejemplo, en forma conservadora la ecuación es,
donde es la velocidad (una función del espacio). Las condiciones iniciales podrían especificar (por ejemplo) una especie de flujo que se mueve de izquierda a derecha (por ejemplo, a lo largo de una tubería) donde la condición inicial tiene un gradiente agudo.u ( 0 , x )
¿Cómo debería resolverse el problema de equidistribución para la malla en movimiento (posiblemente con el algoritmo de De Boor u otro enfoque)? ¡Deseo implementar esto yo mismo en Python para que su respuesta pueda traducirse fácilmente en código mucho mejor!
Antigua pregunta antes de la recompensa
- ¿Cuáles son los enfoques básicos para generar una malla adaptativa basada en las propiedades del sistema? ¿Debo usar flujo como medida de dónde son grandes los gradientes?
- Porque busco una solución iterativa (barrido de tiempo). Me imagino que es importante interpolar desde la cuadrícula anterior a la nueva, ¿cuál es el enfoque habitual?
- Me interesaría mucho ver un ejemplo trabajado para un problema simple (como la ecuación de advección).
Un poco de antecedentes sobre los detalles del problema. Estoy simulando un sistema de ecuación acoplado 1D,
El conjunto de ecuaciones describe un problema de advección-difusión de dos especies donde la tercera ecuación se une a las otras dos. La solución cambia rápidamente cerca del centro de mi cuadrícula, vea a continuación (estas son ilustraciones, no cálculos),
Observe que en la escala logarítmica del gráfico inferior, las soluciones para y varían en órdenes de magnitud. En el gráfico superior ( ) hay una discontinuidad en el centro. Estoy resolviendo el sistema anterior con un viento adaptativo donde la discretización se puede adaptar de central a viento dominada dependiendo del valor local del número de Péclet . Estoy resolviendo el sistema implícitamente con la integración trapezoidal en el tiempo ("Crank-Nicolson").
Estoy interesado en aplicar una cuadrícula adaptativa a este problema. Creo que es importante porque de lo contrario se podrían perder los detalles del parámetro de pico de forma (el ). A diferencia de esta pregunta , me gustaría aplicar, con suerte, un algoritmo simple para la generación de mallas.
Como se trata de un problema de advección-difusión, uno podría imaginar un esquema de malla adaptativo basado en los flujos de y en los límites de las celdas. Como esto indicaría donde el valor está cambiando rápidamente. El pico de la también corresponde a donde el flujo es el más grande.
Respuestas:
Una cuadrícula adaptativa es una red de cuadrícula que agrupa automáticamente puntos de cuadrícula en regiones de gradientes de campo de alto flujo; utiliza la solución de las propiedades del campo de flujo para ubicar los puntos de la cuadrícula en el plano físico. La cuadrícula adaptativa evoluciona en pasos de tiempo junto con una solución dependiente del tiempo de las ecuaciones de campo de flujo que gobiernan, que calcula las variables del campo de flujo en pasos de tiempo. Durante el curso de la solución, los puntos de la cuadrícula en el plano físico se mueven de tal manera que se 'adaptan' para regiones de grandes gradientes de campo de flujo. Por lo tanto, los puntos de cuadrícula reales en el plano físico están constantemente en movimiento durante la solución del campo de flujo, y se vuelven estacionarios solo cuando la solución de flujo se aproxima a un estado estable.
La adaptación a la cuadrícula se usa tanto para problemas constantes como inestables. En caso de problemas de flujo constante, la rejilla se adapta después de un número predeterminado de iteraciones y la adaptación de la rejilla se detendrá en el punto cuando la solución converja. En el caso de soluciones precisas en el tiempo, el movimiento del punto de rejilla y el refinamiento se realizan junto con la solución precisa del problema físico en el tiempo. Esto requiere un acoplamiento preciso del tiempo de las PDE del problema físico y las que describen el movimiento o la adaptación de la red.
Para los cálculos de las configuraciones más nuevas, la dependencia de las pautas de mejores prácticas para la generación de mallas y la experiencia previa deja la puerta abierta a grandes cantidades de errores numéricos. Los métodos de adaptación de la red pueden producir mejoras sustanciales en la calidad de la solución y prometen mejores resultados porque no existen limitaciones que definan el límite de resolución de la red que se puede lograr.
En lugar de realizar cambios topológicos locales en la malla y su conectividad, los métodos adaptativos r realizan cambios locales en la resolución moviendo las ubicaciones de un número total fijo de puntos de malla.
Método muy popular de adaptación de cuadrícula en el enfoque de elementos finitos en lugar del método de volumen finito o elemento finito. Reduce el error en la solución al enriquecer el polinomio de las funciones de interpolación con el mismo orden de elementos geométricos. Aquí no hay una nueva malla, geometría para calcular y otra ventaja de este método es que puede aproximar mejor los límites irregulares o curvos con menos sensibilidad a la relación de aspecto y sesgo. Debido a esto, es muy famoso en la aplicación estructural.
¡Todo lo mejor!
[1] Fidkowski Krzysztof J. y Darmofal David L. Revisión de la estimación de errores basada en resultados y la adaptación de malla en la dinámica de fluidos computacional. AIAA Journal, 49: 673–694, 2011.
[2] John Tannehill Richard Pletcher y Dale Anderson. Mecánica de fluidos computacional y transferencia de calor. Taylor y Francis, 1997.
[3] JD Jr. Anderson. Dinámica de fluidos computacional: Conceptos básicos con aplicaciones. McGraw Hill Inc., 1995.
[4] Roy Christopher J. Estrategias para conducir la adaptación de malla en cfd. En la 47ª Reunión de Ciencias Aeroespaciales de la AIAA, incluido el Foro Nuevos Horizontes y la Exposición Aeroespacial, 2009.
[5] McRae Scott D. algoritmos y problemas de adaptación de la red de refinamiento r. Métodos computacionales en mecánica aplicada e ingeniería, 189: 1161-1182, 2000.
[6] Ivanenko Sergey A. Azarenok Boris N. y Tang Tao. Método de redistribución de malla adaptativo basado en el esquema godunovs. Com. matemáticas. sci., 1: 152–179.
[7] Ahmadi Majid y Ghaly Wahid S. Simulación del flujo invisible en cascadas utilizando un método de volumen finito con adaptación de solución. En el 6º Simposio de Aerodinámica de CASI, 1997.
[8] Jasak H. y Gosman AD Control automático de resolución para el método de volumen finito, parte 1: estimaciones de error a posteriori. Transferencia de calor numérica, Taylor y Francis, 38: 237-256, 2000.
[9] Jasak H. y Gosman AD Control automático de resolución para el método de volumen finito, parte 2: Refinamiento de malla adaptativa y engrosamiento. Transferencia numérica de calor, Taylor y Francis, 38: 257–271, 2000.
[10] Thompson David S. Soni Bharat K., Koomullil Roy y Thornburg Hugh. Solución de estrategias de cuadrícula adaptativa basadas en la redistribución de puntos. Métodos computacionales en mecánica aplicada e ingeniería, 189: 1183-1204, 2000.
[11] Venditti David A. y Darmofal David L. Estimación de error adjunta y adaptación de la cuadrícula para salidas funcionales: aplicación al flujo cuasi-unidimensional. Journal of Computational Physics, 164: 204–227, 2000.
[12] Balasubramanian R. y Newman JC Comparación de la adaptación de cuadrícula basada en características y contigua para salidas funcionales. Revista internacional de métodos numéricos en fluidos, 53: 1541–1569, 2007.
[13] Hartmann Ralf. Estimación de errores y adaptación basada en adjuntos en aerodinámica. En la Conferencia Europea sobre Dinámica de Fluidos Computacional, 2006.
fuente
Estaba (todavía estoy) buscando buenas respuestas para esto. Trabajo con cuadrículas adaptativas multinivel donde utilizo algún tipo de criterio para el refinamiento. Las personas que realizan FEM disfrutan, bastante barato (computacionalmente), de rigurosas estimaciones de error que utilizan como criterio de refinamiento. Para nosotros haciendo FDM / FVM, no he tenido la suerte de encontrar tales estimaciones.
En este contexto, si desea ser riguroso con respecto al refinamiento, es decir, refinarlo basándose en una estimación del error real, su (casi) única opción es la Extrapolación de Richardson. Esto es lo que, por ejemplo, Berger y Oliger (1984) utilizaron para su solucionador hiperbólico AMR estructurado en bloque. La metodología es general en el sentido de que puede usar la Extrapolación de Richardson para prácticamente cualquier problema. El único problema es que es costoso, especialmente para problemas transitorios.
Aparte de la Extrapolación de Richardson, todos los demás criterios (en mi humilde opinión) son solo ad hoc. Sí, puede establecer un cierto umbral en una "cantidad de interés" y refinar en función de eso. Puede usar flujos o derivados de cierta cantidad para alertar a un gradiente grande y usarlo. O si está rastreando una interfaz, puede refinar según lo cerca que esté de la interfaz. Todos estos son muy baratos, por supuesto, pero no tienen nada de riguroso.
En cuanto a la interpolación entre cuadrículas, generalmente necesita algo que sea al menos tan preciso como el solucionador. A veces es posible construir interpolaciones que satisfacen ciertas propiedades, por ejemplo, conservar masa o son convexas, por lo tanto, no introducen nuevos extremos. He observado que esta última propiedad a veces es muy importante para la estabilidad del esquema general.
fuente
Si realmente es 1D, entonces probablemente no necesitará ninguna malla adaptativa aquí, por un problema tan simple, probablemente pueda resolver todo lo que necesita con una red estática, con la potencia informática de una estación de trabajo moderna. Pero es una estrategia perfectamente razonable, en el proceso de integración de tiempo, identificar periódicamente áreas donde se enfatiza la resolución numérica, agregar puntos de cuadrícula allí (y eliminar puntos de cuadrícula de áreas sobre resueltas) e interpolar a la nueva cuadrícula. Pero esto no debe hacerse con demasiada frecuencia porque la interpolación puede ser costosa y agregaría un error numérico en el cálculo general.
fuente