Aquellos en los que puede encontrar un método estable y explícito para resolver una ecuación diferencial parcial (como diferencia finita / elemento / volumen, espectral, multirrejilla, etc.).
Trataré de explicar usando el ejemplo de Wiki para la ecuación de calor 1D.
Tiene [matemática] U_t = U_ {xx} [/ matemática] (los subíndices denotan diferenciación parcial) con condición de límite [matemática] U (0, t) = U (1, t) = 0 [/ matemática] y condición inicial [ matemáticas] U (x, 0) = U_0 (x) [/ matemáticas].
- ¿Cuáles son algunos de los proyectos prácticos de informática?
- ¿Cuál es el significado de las funciones de conjunto submodular?
- ¿Qué significa hacer investigación en aprendizaje automático?
- ¿Sigue siendo el libro de Nancy Lynch la mejor introducción a los algoritmos distribuidos?
- ¿Cuál es el equivalente de Xerox Parc / Bell Labs / JPL hoy?
Imagina que tomas tu cuadrícula espacial y la cortas en pedazos, [matemáticas] x_0, …, x_J [/ matemáticas], y lo mismo con tu tiempo, [matemáticas] t_0, …, t_N [/ matemáticas], y la diferencia es [ matemática] h [/ matemática] para la diferencia de espacio y [matemática] k [/ matemática] para la diferencia de tiempo. Para abreviar, usemos [math] u (x_j, t_n) = u ^ n_j [/ math].
El concepto básico es que puedes reformular la primera ecuación con las piezas cortadas que acabas de hacer, para que se vea así:
[matemáticas] \ frac {u ^ {n + 1} _j – u ^ n_j} {k} = \ frac {u ^ n_ {j + 1} – 2u ^ n_j + u ^ n_ {j-1}} {h ^ 2}. [/ Matemáticas]
Y luego, para cada paso siguiente [matemáticas] n + 1 [/ matemáticas], puede usar esta ecuación:
[matemáticas] u ^ {n + 1} _j = (1 – 2 \ frac {k} {h ^ 2}) u ^ n_j + \ frac {k} {h ^ 2} u ^ n_ {j-1} + \ frac {k} {h ^ 2} u ^ n_ {j + 1} [/ math]
Entonces, ahora toma todos sus puntos de espacio y los divide entre la cantidad de procesadores que tiene, y asigna ese número a cada procesador. Todo lo que tiene que hacer es asegurarse de que cada procesador se comunicará con su “vecino” los valores de borde de su mini-grid, ya que esas serán las condiciones de borde para el otro tipo.
Ahora el problema con esto es que no siempre podrá encontrar un método explícito para resolver sus ecuaciones, al menos no uno que sea estable y convergente. Siempre podría intentar ayudarlo haciendo que su cuadrícula y espacio de tiempo sean más finos, pero en algún momento será ridículo y sería mejor usar otro tipo de método (como uno implícito o un operador dividido). Hay varias formas de hacer esos cálculos en paralelo que implican hacer cosas divertidas con los cálculos matriciales, pero son bastante complicados y es mejor dejar que las personas que desarrollan las bibliotecas lo hagan (ver ScaLAPACK, por ejemplo, o cuBLAS para CUDA- GPU habilitadas).
——————————————————
Craig Heile en los comentarios me preguntó cómo estas cosas son beneficiosas. Es una pregunta muy interesante y amplia, y creo que la mayoría de la gente se sorprendería de lo esencial que son estos métodos para hacer ciencia e ingeniería computacional. De todos modos, aquí estaba mi respuesta:
Los PDE son realmente increíblemente útiles en una gran cantidad de áreas. Como mencionó, el CFD se usa en muchas cosas: diseño de motores, aerodinámica, energía eólica, generadores de captación de corrientes oceánicas / fluviales, ingeniería naval y muchos más.
Pero CFD no es lo único que usa PDE en gran medida. Investigué en astrofísica y gases cuánticos, y en astrofísica se parecía mucho a CFD, donde tienes que modelar colapso estelar, nubes de gas impactantes entre sí, dinámica galáctica (incluidas colisiones), simulaciones de materia oscura y simulación de galaxias y cúmulos para modelar el universo.
En gases cuánticos, trabajé en condensados de Bose-Einstein, que es un tipo de materia que se compone de un montón de partículas que están todas en el mismo estado cuántico y, por lo tanto, comparten una función de onda común. Entonces, la función de onda se puede modelar mediante métodos que son extremadamente similares a la ecuación de calor anterior que mostré. Los BEC de especies múltiples también son posibles utilizando estos métodos, y los fermiones a veces se pueden modelar de manera similar. Hay muchos modelos cuánticos que se pueden hacer de esta manera. También hay dinámica molecular también.
También existe el campo del modelado estructural que a veces toma prestado un poco de los modelos de partículas en CFD, pero también utiliza el modelado de malla para modelar las tensiones en un edificio, avión o tubería. La mayoría de las cosas en las que puede pensar que trabajan los ingenieros estructurales deben modelarse de esa manera.
Los ingenieros de acústica y vibraciones (relacionados con la estructura, en cierto sentido) también deben preocuparse por estas cosas. Pueden modelar un ala de avión, avión, nave espacial, motor o altavoz utilizando los métodos anteriores.
En cierto modo, es una respuesta muy barata a una pregunta muy amplia. Es casi equivalente a preguntar, ¿cómo son útiles las PDE en física? La respuesta a eso es prácticamente todo. Cualquier cosa caótica. Demonios, cualquier cosa no caótica. La primera ley de Newton es una ecuación diferencial, aunque separable y que no necesariamente requiere métodos numéricos sofisticados para resolver.
Y acabo de pasar por la física. Hay mucho más que encontrar en la dinámica de la población, el control del tráfico, la investigación de logística / operaciones, el comportamiento de la mafia, la economía, el modelado financiero (algo importante en wall st.), El modelado del cerebro, el modelado de sangre y venas, la mayoría de las partes del cuerpo se pueden modelar manera (esto se está arrastrando un poco a la física), y mucho más. El mundo se describe mediante ecuaciones diferenciales.