Simulación con Modelica

En esta sección se proporciona material para iniciarse en la simulación con Modelica. Modelica es un lenguaje para el modelado de sistemas ciber-físicos complejos.

Este lenguaje es una especificación abierta, públicamente accesible que es mantenida por la Asociación Modelica y usado en los principales softwares de simulación como: Dassault Systemes Dymola, Modelon Impact, Wolfram System Modeller, Siemens Amesim, OpenModelica, ESI SimulationX, etc…

Además, la Asociación Modelica es la desarrolladora de los estándares FMI, eFMI, SSP, DCP, etc… usados en el intercambio de modelos entre las distintas plataformas.

Las principales características de este lenguaje son:

  • Acausal: Las ecuaciones se escriben de la misma forma que aparecen en los libros de texto, sin necesidad de despejar variables. Esto produce modelos acausales donde dichos conectores no tienen una causalidad definida de entrada ó salida de datos, lo que permite una mayor reusabilidad y se mantienen la comprensión física del problema a modelar.
Modelado Causal Block-Based – (c) Peter Fritzson OSMC
Modelado Acausal Object-Oriented – (c) Peter Fritzson OSMC
  • Multi-dominio: Al ser un lenguaje pensado para resolver sistemas de ecuaciones diferenciales, cualquier campo de la física puede ser modelizado y, por lo tanto, varios campos de la física pueden simularse al mismo tiempo.
Modelado multidominio – (c) Peter Fritzson OSMC
  • Jerárquico: Es un lenguaje orientado a objetos, donde la encapsulación y herencia juegan un papel clave en la construcción de modelos. Esto permite crear modelos complejos con la agregación y encapsulación de componentes más simples conectados entre sí.
Jerarquía de modelos
  • Visual: El código fuente define la forma de visualizar el diagrama del sistema y los iconos de los componentes, lo que permite un uso a alto nivel que apenas requiere el uso del código fuente.
  • Híbrido: Es capaz de modelizar sistemas de ecuaciones continuas en el tiempo y también eventos. En estos eventos un sistema de ecuaciones diferente entra en funcionamiento para modelizar lo que ahí sucede. Por ejemplo, una pelota que rebota en el suelo genera un evento puntual en el que la velocidad vertical cambia de dirección y es disminuida por un factor de elasticidad.
  • Documentado: El código fuente y los modelos pueden ser fuertemente documentados, desde un manual en HTML hasta la documentación de variables y ecuaciones, lo cual permite un mantenimiento simple del modelo debido a su facilidad de comprensión.

Estas ventajas se traducen en una drástica reducción en la creación de modelos y alta reusabilidad, lo que se convierte en una excelente forma de generar componentes para el gemelo digital.