Diferencia entre revisiones de «Modelica»

De Wikipedia, la enciclopedia libre
Contenido eliminado Contenido añadido
Se insertó la plantilla "Destruir"
He añadido algunas referencias, parcialmente traducido de la versión en enwiki
Línea 1: Línea 1:
{{Destruir|G9}}
{{Destruir|G9}}
{{Traducción incompleta}}
'''Modelica''' es un lenguaje orientado a objetos desarrollado para describir de manera sencilla modelos de sistemas dinámicos que podrían llegar a ser muy complejos. Además de las características básicas de todo lenguaje orientado a objetos. Modelica contiene herramientas específicas que permiten describir las relaciones constitutivas de los distintos componentes de cada modelo y las relaciones estructurales que definen la interacción entre dichos componentes. De esta manera, el lenguaje permite asociar cada componente de un sistema a una instancia de una clase de Modelica. Adicionalmente, los componentes típicos de los sistemas de distintos dominios de la física como la termodinámica, sistemas hidráulicos, de los procesos químicos como reacciones químicas, disolución de gases, difusión, transportes de membrana, flujos osmóticos, celdas electroquímicas, electrodos y de la ingeniería, que pueden agruparse en librerías de clases para ser reutilizados. De hecho, existe una librería estándar de clases de Modelica, que contiene los principales componentes básicos de sistemas eléctricos, mecánicos(traslacionales, rotacionales y multi cuerpos), térmicos, y diagramas de bloques. Otras librerías, disponibles en Internet, contienen componentes. <ref>{{Cita publicación|url=https://modelica.org/publications/papers/imacs97.pdf|título=The Architecture of the Smile/M Simulation Environm|publicación=Technical University of Berlin|fechaacceso=20-01-2023}}</ref><ref>{{Cita libro|título=Introduction to physical modeling with Modelica|url=https://www.worldcat.org/oclc/46520213|editorial=Kluwer Academic Publishers|fecha=2001|fechaacceso=2023-01-20|isbn=0-7923-7367-7|oclc=46520213|nombre=Michael, Ph.D.|apellidos=Tiller}}</ref>


Aunque Modelica se parece a los lenguajes de programación orientados a objetos, como C++ o Java, difiere en dos aspectos importantes. En primer lugar, Modelica es un lenguaje de modelado más que un lenguaje de programación convencional. Las clases de Modelica no se compilan en el sentido habitual, sino que se traducen en objetos que luego son ejercitados por un motor de simulación. El motor de simulación no está especificado en el lenguaje, aunque sí lo están ciertas capacidades necesarias.
==Modelica es un lenguaje orientado a objetos==


En segundo lugar, aunque las clases pueden contener componentes algorítmicos similares a las sentencias o bloques de los lenguajes de programación, su contenido principal es un conjunto de ecuaciones. A diferencia de una sentencia de asignación típica, como
Modelica es un lenguaje orientado a objetos desarrollado para describir de manera sencilla modelos de sistemas dinámicos que podrían llegar a ser muy complejos. Además de las características básicas de todo lenguaje orientado a objetos. Modelica contiene herramientas específicas que permiten describir las relaciones constitutivas de los distintos componentes de cada modelo y las relaciones estructurales que definen la interacción entre dichos componentes. De esta manera, el lenguaje permite asociar cada componente de un sistema a una instancia de una clase de Modelica. Adicionalmente, los componentes típicos de los sistemas de distintos dominios de la física como la termodinámica, sistemas hidráulicos, de los procesos químicos como reacciones químicas, disolución de gases, difusión, transportes de membrana, flujos osmóticos, celdas electroquímicas, electrodos y de la ingeniería, que pueden agruparse en librerías de clases para ser reutilizados. De hecho, existe una librería estándar de clases de Modelica, que contiene los principales componentes básicos de sistemas eléctricos, mecánicos(traslacionales, rotacionales y multi cuerpos), térmicos, y diagramas de bloques. Otras librerías ,disponibles en Internet contienen componentes . <ref>Principles of Object Oriented, Modeling and Simulation with Modelica 3.3, A Cyber-Physical Approach, Peter Fritzson</ref>


x := 2 + y;
==Ejemplos==
Reprensentacion de funciones matemáticas.


en la que al lado izquierdo de la sentencia se le asigna un valor calculado a partir de la expresión del lado derecho, una ecuación puede tener expresiones tanto en el lado derecho como en el izquierdo, por ejemplo
Calcular la derivada segunda, de una función trigononometrica, utilice un editor de texto , por ejemplo OMShell para escribir este código.


x + y = 3 * z;
class derivada


Las ecuaciones no describen asignaciones sino igualdades. En términos de Modelica, las ecuaciones no tienen una causalidad predefinida. El motor de simulación puede (y normalmente debe) manipular las ecuaciones simbólicamente para determinar su orden de ejecución y qué componentes de la ecuación son entradas y cuáles son salidas.
Real l;
Real z=sin(w*time);
Real m;
parameter Real w = 1;


== Historia ==
equation
El esfuerzo de diseño de Modelica fue iniciado en septiembre de 1996 por Hilding Elmqvist. El objetivo era desarrollar un lenguaje orientado a objetos para el modelado de sistemas técnicos con el fin de reutilizar e intercambiar modelos de sistemas dinámicos en un formato estandarizado. Modelica 1.0 se basa en la tesis doctoral de Hilding Elmqvist y en la experiencia con los lenguajes de modelado Allan, Dymola, NMF ObjectMath, Omola, SIDOPS+, y Smile. En septiembre de 1997 se publicó la versión 1.0 de la especificación de Modelica, que sirvió de base para una implementación prototipo dentro del sistema de software comercial Dymola. En el año 2000, se creó la Asociación Modelica, sin ánimo de lucro, para gestionar el lenguaje Modelica, en continua evolución, y el desarrollo de la biblioteca estándar gratuita Modelica. Ese mismo año comenzó el uso de Modelica en aplicaciones industriales.
l=der(z) ;
[[Categoría:Programación orientada a objetos]]
m=der(l);


== Referencias ==
end derivada;
<references />

Luego de escribir el texto del proceso a estudiar, escribimos
simulate ( derivada, startTime=0 , stopTime=10 )

y a continuacion se el procesador no encontro ningun problema, podemos ver la grafica de las variables en funcion del tiempo, por ejemplo
plot(z)


[[Archivo:Derivada_segunda_1.png|miniaturadeimagen|centro|]]

Aplicación a sistemas eléctricos.

[[Archivo:Generador corriente carga capacitor 1.png|miniaturadeimagen|centro|]]

[[Categoría:Programación orientada a objetos]]

Revisión del 15:13 20 ene 2023

Modelica es un lenguaje orientado a objetos desarrollado para describir de manera sencilla modelos de sistemas dinámicos que podrían llegar a ser muy complejos. Además de las características básicas de todo lenguaje orientado a objetos. Modelica contiene herramientas específicas que permiten describir las relaciones constitutivas de los distintos componentes de cada modelo y las relaciones estructurales que definen la interacción entre dichos componentes. De esta manera, el lenguaje permite asociar cada componente de un sistema a una instancia de una clase de Modelica. Adicionalmente, los componentes típicos de los sistemas de distintos dominios de la física como la termodinámica, sistemas hidráulicos, de los procesos químicos como reacciones químicas, disolución de gases, difusión, transportes de membrana, flujos osmóticos, celdas electroquímicas, electrodos y de la ingeniería, que pueden agruparse en librerías de clases para ser reutilizados. De hecho, existe una librería estándar de clases de Modelica, que contiene los principales componentes básicos de sistemas eléctricos, mecánicos(traslacionales, rotacionales y multi cuerpos), térmicos, y diagramas de bloques. Otras librerías, disponibles en Internet, contienen componentes. [1][2]

Aunque Modelica se parece a los lenguajes de programación orientados a objetos, como C++ o Java, difiere en dos aspectos importantes. En primer lugar, Modelica es un lenguaje de modelado más que un lenguaje de programación convencional. Las clases de Modelica no se compilan en el sentido habitual, sino que se traducen en objetos que luego son ejercitados por un motor de simulación. El motor de simulación no está especificado en el lenguaje, aunque sí lo están ciertas capacidades necesarias.

En segundo lugar, aunque las clases pueden contener componentes algorítmicos similares a las sentencias o bloques de los lenguajes de programación, su contenido principal es un conjunto de ecuaciones. A diferencia de una sentencia de asignación típica, como

x := 2 + y;

en la que al lado izquierdo de la sentencia se le asigna un valor calculado a partir de la expresión del lado derecho, una ecuación puede tener expresiones tanto en el lado derecho como en el izquierdo, por ejemplo

x + y = 3 * z;

Las ecuaciones no describen asignaciones sino igualdades. En términos de Modelica, las ecuaciones no tienen una causalidad predefinida. El motor de simulación puede (y normalmente debe) manipular las ecuaciones simbólicamente para determinar su orden de ejecución y qué componentes de la ecuación son entradas y cuáles son salidas.

Historia

El esfuerzo de diseño de Modelica fue iniciado en septiembre de 1996 por Hilding Elmqvist. El objetivo era desarrollar un lenguaje orientado a objetos para el modelado de sistemas técnicos con el fin de reutilizar e intercambiar modelos de sistemas dinámicos en un formato estandarizado. Modelica 1.0 se basa en la tesis doctoral de Hilding Elmqvist y en la experiencia con los lenguajes de modelado Allan, Dymola, NMF ObjectMath, Omola, SIDOPS+, y Smile. En septiembre de 1997 se publicó la versión 1.0 de la especificación de Modelica, que sirvió de base para una implementación prototipo dentro del sistema de software comercial Dymola. En el año 2000, se creó la Asociación Modelica, sin ánimo de lucro, para gestionar el lenguaje Modelica, en continua evolución, y el desarrollo de la biblioteca estándar gratuita Modelica. Ese mismo año comenzó el uso de Modelica en aplicaciones industriales.

Referencias

  1. «The Architecture of the Smile/M Simulation Environm». Technical University of Berlin. Consultado el 20 de enero de 2023. 
  2. Tiller, Michael, Ph.D. (2001). Introduction to physical modeling with Modelica. Kluwer Academic Publishers. ISBN 0-7923-7367-7. OCLC 46520213. Consultado el 20 de enero de 2023.