¿Por qué necesitamos aprender C ++ en CFD estudiando, por qué no otro idioma?

CFD (supongo que te refieres a la dinámica de fluidos computacional) es extraordinariamente intensivo en recursos. La mayoría de las simulaciones se ejecutan en grupos y los problemas turbulentos, incluso con escalas relativamente pequeñas, son esencialmente imposibles de resolver.

Debe usar las herramientas más eficientes para estos problemas y C ++, si está escrito correctamente, tiende a ofrecer programas mucho más eficientes que cualquier otra cosa. Entonces, casi todos los que trabajan en CFD usan C ++ si escriben sus propios códigos, generalmente junto con MPI.

Además, cosas como las interfaces gráficas de usuario o la integración del navegador son totalmente irrelevantes para las simulaciones numéricas. Esto significa que hay poca ventaja en el uso de idiomas con bibliotecas amplias que sirven para estos fines. Sólo quieres matemáticas en bruto, rápido.

La única otra alternativa en la que puedo pensar es en Fortran y usted simplemente no quiere aprender eso en 2015.

Cualquier lenguaje de programación servirá. La programación del fluido computacional se puede realizar en cualquier idioma. Pero muchos libros siguen el entorno de programación de C ++, por eso su profesor le ha pedido que vaya a C ++. También puede utilizar el entorno de programación MATLAB o Python para el código CFD.

Probablemente por el bien de establecer un punto de referencia común para todos los miembros de su clase. No puede tener un curso que salte directamente a CFD a menos que tenga algún tipo de prerrequisito; de lo contrario, tiene un grupo de estudiantes sin antecedentes comunes con los que explorar el tema.

Estoy prediciendo que su curso específico de CFD se centrará en CFD con un fondo de C ++, posiblemente cubriendo bibliotecas de CFD basadas en C ++ existentes (posiblemente de código abierto). Hay muchos caminos para llegar a Roma, pero ayuda mucho si toda la clase está tomando el mismo.

Hay otros enfoques, incluso podrían haber elegido uno más propietario que evita los idiomas de propósito general, pero pueden estar vigilando su presupuesto. Una licencia educativa para MATLAB, por ejemplo, es de $ 500 por asiento, creo (es más barato para uso “personal”, pero la escuela no puede usar legalmente la licencia personal y es un gasto más para descargar a los estudiantes). C ++ es esencialmente gratuito, al igual que las numerosas bibliotecas de código abierto.

Lo hice con MatLAB (lo cual es muy importante ya que usted vincula datos a través de Comsol / Solidworks / Ansys, etc.).

C ++ apesta para codificar códigos de mecánica computacional (CFD, FEM, etc.).