Русскоязычное программирование

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Русскоязычное программирование » Валентина-2 » Валентина-2 и Моделика, кто круче?


Валентина-2 и Моделика, кто круче?

Сообщений 1 страница 2 из 2

1

https://ru.wikipedia.org/wiki/Modelica

Иерархическая модель составляется из базовых моделей с помощью базовых моделей-примеров за счёт соответствующих значений параметров модели и за счёт связей моделей с помощью соединителей.

В Моделике не очень понятно, "какой движок лежит под капотом".

Цель состоит в том, чтобы связное множество компонентов модели приводило к системе дифференциальных, алгебраических и дискретных уравнений, у которых число уравнений совпадает с числом неизвестных.

Ну то есть, вот понаописывали они объекты и уравнения - как это потом симулируется/вычисляется мне не ясно.

Классы Modelica не компилируются в обычном смысле, но преобразуются в объекты, которые затем используются специализированным процессором. Специализированный процессор языком не определятся, хотя к нему предъявляются определённые требования.

Что значит решить систему дифференциальных уравнений?
Это значит, найти такие функции, которые удовлетворяют уравнениям системы.
Принцип очень похож на обычные системы линейных уравнений. Только там корнями являются числа, а здесь – функции.

Для системы ДУ можно решить задачу Коши, то есть, найти частное решение системы, удовлетворяющее заданным начальным условиям.

М.Л. Краснов, А.И. Киселев, Г.И. Макаренко, Дифференциальные уравнения.

Отредактировано Лис (2018-02-14 20:21:42)

0

2

В Моделике не очень понятно, "какой движок лежит под капотом".

Как я понял там есть какие-то описания правил и способы соединения этих правил между собой. На основании этих данных и выводятся уравнения. Ну самый простой, напрашиваемый способ вывода это просто просуммировать в том порядке в котором идет описание присоединения правил друг к другу.

Ну то есть, вот понаописывали они объекты и уравнения - как это потом симулируется/вычисляется мне не ясно.

Ну вот я рассматривал там пример элеткрической схемы. Сначала Вы описываете электрику (ну там закон Ома например, понятия сила тока, сопротивления, напряжения и пр.), затем сами элементы (ну типа R1=10). Затем вы соединяете эти описанные элементы между собой (прямо вот pin1 R10 и pin1 C1). Так и строится схема. А объектами расчета в данных функциях выступают какие-то меняющиеся во времени величины (ну например, то же самое напряжение/сила тока от источника питания).
То есть там есть начальный источник данных, который по идее должен их непрерывно откуда-то брать или генерировать. Потом они скармливаются построенной Вами системе уравнений, потом Вы это дело где-то получаете в системе отчетов - циферки, зависимости или график.

Что значит решить систему дифференциальных уравнений?
Это значит, найти такие функции, которые удовлетворяют уравнениям системы.

Нет, функции вы там описываете явно. Как что должно выглядеть, прямо вот ручками прописываете либо с нуля, либо берете из библиотеки элементов. А система сама по Вашим указаниям собирает некоторую систему уравнений, где суммирует (или может еще что делает) Ваши функции и зависимости. Там типа уравнений со многими неизвестными в системе уравнений. Вот эти неизвестные Вы получаете потоком данных, так чтобы система уравнений работала.  Например, подаете напряжение, а там по цепочке генерится сила тока, так чтобы удовлетворялись условия системы уравнений.

Валентина-2 и Моделика, кто круче?

Это абсолютно разные вещи и не сравнимые между собой. Моделика это прежде всего система моделирования. Причем моделирования строго аналогового типа (функционального). Возьмите какого-нибудь монстра типа AnyLogic - там только черта в ступе не хватает, а так он все симулировать умеет. Вот эти две шутки сравнивать между собой можно. В-2 это просто язык программирования (в идеале общего назначения) со своими загибонами - иерархия и все есть система (а значит и базовые  операции для манипулирования объектами одинаковы для кода и данных). В Моделике полная статика, потому что в математике формулы статичны - чистая функциональщина. В В-2 мы получаем результат наоборот путем некоторых изменений систем (состава, структуры, параметров).

Иерархическая модель

В Моделике это явно не выражено. Там просто из более простых блоков собираете более сложные, а в конце моделика все это собирает в одну кучу. Там нет работы с иерархиями, на этом не делается акцент.

Отредактировано utkin (2018-02-15 10:15:31)

0


Вы здесь » Русскоязычное программирование » Валентина-2 » Валентина-2 и Моделика, кто круче?