¿Qué tan útil es el conocimiento de los algoritmos informáticos tradicionales para escribir códigos CFD?

Un descargo de responsabilidad inicial es que los gráficos no son algoritmos. En el campo de la informática, los gráficos son una estructura de datos. Es importante entender la diferencia.

Las mallas finitas no estructuradas a veces se pueden representar como gráficos, por ejemplo, donde cada nodo del gráfico es un elemento de malla k-dimensional y los bordes representan las conectividades de este elemento. En ese sentido, podría necesitar desarrollar un método numérico que pudiera usar algoritmos relacionados con gráficos. Recuerdo un esquema estocástico que usaba algún tipo de búsqueda de profundidad en la malla para calcular las realizaciones estocásticas de las variables deseadas, por ejemplo.

También puede usar estructuras de datos inteligentes como octrees para la recuperación rápida de puntos, dada una coordenada. En otras palabras, una forma rápida de obtener el punto de una malla arbitraria que está más cerca de una coordenada dada sería usar octrees. Lo he usado para la interpolación de datos de malla a malla, donde puede encontrar qué elemento de una malla (por ejemplo, m1) contiene un punto de la otra malla (por ejemplo, m2) e interpolar datos de los puntos del elemento desde malla m1 al punto desde m2.

Por lo tanto, es importante conocer algoritmos y estructuras de datos si está desarrollando su propio software. Querrá que su software se ejecute lo más rápido posible, para que pueda obtener resultados más rápido. Necesita comprender esos algoritmos y su complejidad de tiempo.

Obviamente, estos son solo algunos ejemplos. El campo de CFD está hirviendo con algoritmos y estructuras de datos, y probablemente siempre lo estará.

Buscar y ordenar son las cosas que no conozco. Pero los gráficos, etc. forman parte del procesamiento posterior del CFD. Le ayudará a interpretar los resultados.

Pero un código CFD implica tres partes, a saber, discretización (mallado), resolución y procesamiento posterior. Para el segundo necesitas técnicas / métodos numéricos. He hecho una dicretización básica, así que no hagas lo mismo.

Pero sí, si los algos tradicionales contienen algo como reducir el tiempo para ejecutar el número de instrucciones, como reducir el uso del bucle, etc., entonces sí tiene una ventaja.

More Interesting

¿Cuál es el algoritmo más difícil que has implementado? ¿Por qué fue difícil? ¿Cuánto tiempo te llevó?

¿Cuál es el algoritmo de clasificación más rápido con la menor complejidad?

Cómo hacer un juego de programa de asesor de IA en Unity3D

¿Cuál es el algoritmo para expulsar a los pasajeros del avión si está sobrevendido?

¿Cómo es diferente la cola circular del algoritmo de inserción?

¿Qué algoritmos y estructuras de datos debo aprender para ZCO e INOI?

¿Cuál es la forma más eficiente de recoger pelotas de tenis en una cancha?

¿Cuál es el beneficio de resolver un problema de HackerRank.com?

Si hay una matriz de 101 números que consiste en números del 1 al 100 con el número repetido, ¿cómo encuentra el número repetido en el número mínimo de iteraciones (en el programa C)?

Cómo hacer un horario para aprender DS y algoritmos en un mes

En la programación de computadoras, ¿es cierto que una recursión funcionará mejor para encontrar todas las rutas posibles que los bucles anidados?

¿Cuál es la forma más eficiente de ordenar un millón de enteros de 32 bits?

¿Tengo que estudiar matemáticas discretas, algoritmos y estructura de datos para convertirme en un buen desarrollador de Android?

¿Cuáles son los usos del algoritmo simplex en la programación competitiva? He visto muchos equipos superiores con el algoritmo simplex en sus cuadernos de equipo. ¿Hay algunos lugares específicos donde se puede usar simplex?

¿Cuáles son las aplicaciones de la vida real del algoritmo de Prim?