Что значит "класс" в Modelica? - PullRequest
0 голосов
/ 17 января 2019

Я не понимаю значения слова "класс" в контексте Modelica

Из учебника modelica.org: «В Modelica основным структурирующим элементом является класс. Существует семь ограниченных классов с конкретными именами, такими как модель ...». У кого-нибудь есть более простое объяснение? Я очень новичок в Modelica.

Ответы [ 2 ]

0 голосов
0 голосов
/ 18 января 2019

Если вы откроете библиотеку Modelica в таком инструменте, как Dymola или OpenModelica, все, что вы увидите в пакете или браузере библиотеки, - это классы.

Как только вы используете один из этих классов, например, перетаскивая на слой диаграммы, вы создаете новый компонент этого типа класса. Созданный экземпляр компонента является не копией класса, а ссылкой на него. Поэтому, если вы обновите определение класса, вы также обновите поведение всех компонентов, которые являются экземплярами этого класса.

Существует несколько видов классов. Самый общий класс на самом деле называется class, но он используется не очень часто. У него нет ограничений, поэтому он может содержать все, что возможно с Modelica: уравнения, алгоритмы, открытые и защищенные компоненты и т. Д.

Существуют более конкретные типы классов, которые ограничивают использование. Это помогает правильно использовать класс. Например, function или record не могут быть смоделированы.

Наиболее важные типы ограниченных классов:

  • package: используется для группировки других классов
  • model: обычно используется для компонентов с физическим разъемом и для примеров, которые имитируются
  • block: используется для компонентов с причинным разъемом (только входы и выходы, поэтому все, что у вас есть в Modelica.Blocks)
  • function: используется для вызовов функций, сравнимо с другими языками программирования
  • record: часто используется для хранения наборов данных для других компонентов (что позволяет быстро изменить полный набор данных)
  • connector: используется для определения переменных интерфейса, которые необходимы для подключения различных компонентов домена (например, v и i в электрическом домене)
  • type: обычно используется для определения физических величин, таких как масса, длина или время, с их единицей (например, все единицы СИ в упаковке Modelica.SIunits)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...