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