Ошибка при использовании внутренней переменной компонента - PullRequest
0 голосов
/ 10 января 2020

Я использую Библиотеку Тепловой Энергии от Modelon. В библиотеке теплоэнергетики есть конденсатор, который используется для моделирования электростанций. Область теплообмена по умолчанию для wall_2 в компоненте конденсатора составляет 0.8*A_heat_tot, переменная A_heat_tot является внутренней переменной в компоненте конденсатора, но когда я пытаюсь использовать эту переменную, возникает ошибка, показывающая, что эта переменная не Не определено.

Мой вопрос заключается в том, что если я могу использовать внутреннюю переменную напрямую. Если нет, то как мне его использовать?

enter image description here enter image description here enter image description here

1 Ответ

4 голосов
/ 10 января 2020

Краткий ответ: вам необходимо обратиться к переменной с полным путем, то есть wall_2.A_heat_tot.

A_heat_tot определено в StandardWall и, таким образом, может быть указано непосредственно внутри класса. Однако, когда вы вносите изменения в A_heat вне экземпляра StandardWall (т.е. вне wall_2), вы должны указать на origin из A_heat_tot, так как в противном случае это неизвестно в область действия, из которой вы пытаетесь его использовать.

Аналогично, если вы вносите изменения в вашу имитационную модель (Preheater_Model_Validation2), вы должны использовать полный путь, то есть hex.wall_2.A_heat = hex.A_heat_tot

Кстати, это не имеет ничего общего с классификатором inner на языке Modelica.

С уважением,

Rene Just Nielsen

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