Кажется, у меня нет возможности добавлять теги (что имеет смысл, поскольку моя «репутация» ниже вашей), так что извините за это. Я думал, что на самом деле добавил один в какой-то момент, но, возможно, я ошибаюсь.
Я думаю, вам нужно четко понимать, что вы подразумеваете под конструктором, поскольку в Modelica он имеет очень специфическое значение. Если я правильно понимаю ваш вопрос, похоже, что вы хотите создать экземпляр записи с некоторыми полями, указанными в аргументах конструктора, и из этих аргументов вычисляется множество других полей в записи. Это правильно?
Если да, то для этого есть механизм. Вы упоминаете «книгу», но неясно, какую именно. Если он мой, то в нем определенно нет упоминания об этих так называемых «конструкторах записей», потому что он слишком старый. Я не знаю, упоминаются ли они и в книге Питера Фрицсона. Однако они существуют и описаны в разделе 12.6 спецификации Modelica 3.2.
Что касается PDE, над этим велась работа, но в группе дизайнеров ничего не было сделано по этой теме. Я бы добавил, что если вы хотите решить эллиптические или параболические уравнения в частных производных на обычных сетках, это не так уж сложно даже с текущим языком. Единственным реальным недостатком является то, что большинство инструментов, вероятно, не очень эффективно справляются с разреженностью. Нерегулярные сетки также возможны, но тогда вы получаете сложные базисные функции. Наконец, гиперболические УЧП, на мой взгляд, довольно сложны (в любой среде) из-за неявных физических ограничений между временем и пространством, которые трудно выразить (например, условие CFL).
Я надеюсь, что ответил на ваши вопросы до сих пор.
person
Michael Tiller
schedule
27.11.2010