2010-11-26 4 views
3

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

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

ответ

3

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

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

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

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

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

+0

Спасибо, спецификация достаточно читаема, чтобы понять. Как я могу узнать, соответствует ли моя среда Modelica этой спецификации (версия OpenModelica ubuntu repo), есть ли какая-то команда, которую я могу проверить? Но эй, кто-то создал тег для меня. У меня будет другой вопрос, но мне нужно будет написать минимальный пример. Еще раз спасибо! – 2010-11-27 14:57:22

+0

О, да, я имел в виду книгу Питера Фрицсона. Есть ли какой-нибудь более новый материал, или я должен продолжать его и дополнять спецификацией? – 2010-11-27 15:33:34

1

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

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

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

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

С уважением, Рул