Я хотел бы использовать библиотеку Modelica.Fluid для моделирования потока в кровеносных сосудах, где диаметр сосуда (и, следовательно, сопротивление потоку и объем жидкости) зависит от внутреннего и окружающего давления, а также от управляющих входов. Есть ли способ сделать диаметр и площадь поперечного сечения моделей динамической трубы (и цепочку базовых классов) переменными, а не параметрами, или это "нарушит" основные допущения библиотеки Fluid ? Если бы это было возможно, функции реверсивного потока, потока энтальпии и потока следовых компонентов были бы очень полезны при моделировании физиологических систем - возможности, недоступные в Modelica Physiolibrary.
Использование библиотеки жидкостей modelica для эластичных труб
Ответы (1)
Как правило, в Modelica вы не можете просто изменить параметр на переменную непрерывного времени или привязать параметр к переменной непрерывного времени.
Причина в том, что уравнения, возможно, придется адаптировать к изменениям - с параметром «V» вы можете взаимозаменяемо писать der(V*rho)
или V*der(rho)
, но для переменной непрерывного времени «V» верна только одна из этих формулировок.
Таким образом, в Modelica не должно быть возможности обойти это.
Итак, прямой ответ: нет, выхода быть не должно. Однако возможно было бы переписать DynamicPipe (и некоторые из его базовых классов), чтобы изменить диаметр и т. Д., Чтобы они были переменными непрерывного времени - это может потребовать изменения некоторых уравнений из-за проблемы выше и, по крайней мере, проверки того, что они верный.
DynamicPipe переменного диаметра может быть прямой заменой обычного DynamicPipe - и в большинстве случаев он будет таким же эффективным, как и исходный.
Но я не знаю, сколько это было бы работы.