¿Con qué lenguaje de programación trabajas en ingeniería mecánica?

Como ingeniero mecánico y aeroespacial en una vida pasada, he trabajado con los siguientes lenguajes de programación y herramientas de programación para propósitos especiales:

  1. C y C ++: un lenguaje fantástico y rápido de uso general útil para una amplia gama de cosas. Escribí un código de análisis de elementos finitos (FEA) de una naturaleza muy básica, cuando aprendí el enfoque de FEA. C ++ es efectivo en una variedad de simulaciones.
  2. FORTRAN: Utilizado para el código FEA, antes de que aparecieran C y C ++. En muchos sentidos, FORTRAN fue el primer lenguaje de ingeniería y programación científica.
  3. Visualization Toolkit (VTK): VTK es ampliamente utilizado en el mundo de la ingeniería mecánica y aeroespacial para estudios de ingeniería computacional que requieren visualización de datos con fines especiales. Esto es especialmente popular para gráficos 3D.
  4. ANSYS / APDL: APDL es un lenguaje de dominio específico (DSL) para realizar varios tipos de análisis de elementos finitos (análisis estructural, térmico, dinámico y otros tipos)
  5. MATLAB: MATLAB y Simulink se utilizan ampliamente en equipos de ingeniería para operaciones de álgebra lineal, análisis de datos, simulación y optimización. MATLAB también tiene fantásticas bibliotecas de procesamiento de señales.
  6. Python: las herramientas empresariales para FEA, como Abaqus, usan Python en el back-end para varios tipos de tareas de ingeniería computacional. Aparte de eso, Python tiene muchos casos de uso graves en el mundo de la ingeniería, ya que es muy adecuado para el análisis de datos, la simulación y tales actividades.
  7. Julia: Esperaría que Julia, con una gran cantidad de análisis numéricos y bibliotecas de computación científica, gane terreno como una solución de código abierto y gratuita que hace las mismas cosas que MATLAB y Python son capaces de hacer.
  8. Minitab: los ingenieros industriales y los ingenieros de fabricación utilizan Minitab para el análisis de datos en proyectos de mejora continua, como los proyectos Six Sigma y, en algunos casos, los proyectos Lean. Minitab también se usa para actividades como Diseño de experimentos, que muchas organizaciones usan para optimizar los diseños de productos y procesos.

Estoy seguro de que dentro del espacio de la ingeniería mecánica, hay otros softwares y DSL de propósito especial que funcionan como lenguajes de programación y están destinados a la ingeniería computacional seria, análisis y simulación.

Depende de lo que entiendas por “ingeniería mecánica”. CAD / CAM de componentes mecánicos? ¿Cálculos de carga de estrés para la arquitectura naval? Robótica?

La única área que conozco es el control por computadora de la maquinaria que fabrica componentes mecánicos (como piezas de automóviles) y la respuesta es C para programar los dispositivos que controlan los servomotores y sensores [1], todos orquestados por el código lateral del servidor Python que también impulsa el control de un usuario y Interfaz de monitoreo impulsada por JavaScript.

[1] Estas tareas generalmente son realizadas por microcontroladores como PIC16 y STM32 que se conectan en red utilizando protocolos como Modbus y CANBus. Usted programa el procesador directamente en tales casos (en lugar de hacerlo a través de un sistema operativo) y no hay espacio para intérpretes, compiladores JIT, recolección de basura, tipeo dinámico, etc. (a menos que sea en el sentido de punteros de conversión). Es por eso que C gobierna este espacio. Por lo general, ni siquiera desea OOP debido a la sobrecarga de memoria de las tablas de métodos virtuales, etc. (48kb es una cantidad típica de RAM disponible en mi caso).

Puede usar C ++ nativo para escribir y modelar ecuaciones para el flujo de fluidos, transferencia de calor y cálculos de ingeniería generales. En general, la mecánica de fluidos se puede modelar mejor utilizando paquetes CFD, pero podría escribir sus propios cálculos nativos. En particular, el flujo de fluido laminar no es difícil de modelar y con la mayoría de los fluidos se aplica un flujo de tubería incompresible. La velocidad de flujo en A es igual a la velocidad de flujo en el punto B. Puede aplicar la ecuación de Bernoullis usando la variación del cabezal de la mecánica de fluidos. En casos de flujo turbulento, deja de haber líneas de flujo de fluido paralelas, por lo que debe verificar el número de Reynolds y usar los coeficientes de rugosidad de la superficie junto con los gráficos suministrados del rendimiento de la bomba para resolver el problema. Hay paquetes para hacer este bit, también puedes usar C ++ nativo.