Modelica - как реализовать конструктор для записи - PullRequest
3 голосов
/ 26 ноября 2010

Каков наилучший способ реализации конструктора для записи? Кажется, что функция должна быть в состоянии вернуть объект записи в экземпляре записи в какой-то более поздней модели выше по дереву, но я не могу заставить это работать. Сейчас я просто использую группу parameters в верхней части записи, которая заполняет переменные, хранящиеся в записи, но, похоже, это будет работать только в простых случаях.

Может кто-нибудь пролить немного света? Возможно, я должен использовать не запись, а модель. Также кто-нибудь знает, как функционирует PDE? Книга только говорит о том, что оно грядет, но я видел некоторые другие вещи вокруг.

Ответы [ 2 ]

3 голосов
/ 27 ноября 2010

Кажется, у меня нет возможности добавлять теги (что имеет смысл, поскольку моя «репутация» ниже вашей), поэтому извините за это. Я думал, что на самом деле добавил один в один момент, но, возможно, я ошибаюсь.

Я думаю, вам нужно четко понимать, что вы подразумеваете под конструктором, поскольку он имеет очень специфическое значение для Modelica. Если я правильно понимаю ваш вопрос, звучит так, как будто вы хотите создать экземпляр записи с полями, указанными в аргументах конструктора, и из этих аргументов вычисляется куча других полей в записи. Это правильно?

Если так, то для этого есть механизм. Вы упоминаете «книгу», но не ясно, какую вы имеете в виду. Если он мой, он определенно не упоминает об этих так называемых «конструкторах записей», потому что он слишком старый. Я не знаю, упоминает ли их книга Питера Фрицсона. Однако они существуют и описаны в разделе 12.6 спецификации Modelica 3.2 .

Что касается PDE, в подобных вещах была работа, но ничего не было сделано в группе разработчиков по этой теме. Я бы добавил, что если вы хотите решать как эллиптические, так и параболические PDE на регулярных сетках, это не так уж сложно, даже с текущим языком. Единственным реальным недостатком является то, что большинство инструментов, вероятно, не очень эффективно справляются с разреженностью. Нерегулярные сетки также возможны, но тогда вы попадаете в сложные базовые функции. Наконец, гиперболические PDE, на мой взгляд, довольно сложны (в любой среде) из-за неявных физических ограничений между временем и пространством, которые трудно выразить (то есть условие CFL).

Надеюсь, это пока отвечает на ваши вопросы.

1 голос
/ 19 января 2011

Я могу только прокомментировать ваш вопрос относительно книги Питера Фрицсона.Он подтвердил, что работает над обновлением и надеется подготовить его «в течение 2011 года».

Оригинальный пост здесь:

http://openmodelica.org/index.php/forum/topic?id=50

И спасибодля инициации тега modelica, я могу быть полезен в ближайшем будущем и для меня ...: -)

regards, Roel

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...