Я строю собственную модель флюида, которая в конечном итоге учитывает трехмерную скорость. Я разработал уравнения таким образом, чтобы модель работала со следующими граничными условиями:
pressure_out = 500000;
hin=3000e3;
mdot[1] = 66.3;
В этом случае все давление на входе, энтальпия на выходе и массовый расход на выходе должны быть рассчитаны с помощью модели. Затем я вставил выходной разъем (стандартный порт жидкости Modelica с именем Outlet):
Outlet.m_flow + mdot[3]=0;
Outlet.p = pressure_out;
Outlet.h_outflow = hout;
и соответственно удалил граничное условие для Pressure_out, чтобы:
hin=3000e3;
mdot[1] = 66.3;
, и модель по-прежнему сбалансировано. Однако, как только я добавляю входной соединитель и устанавливаю его соединения:
Inlet.m_flow =mdot[1];
Inlet.p = pressure_in;
Inlet.h_outflow = hin;
я удаляю граничные условия, потому что модель должна быть способной получать информацию о давлении, массовом расходе и энтальпия. Однако, когда я удаляю свои граничные условия, модель полагает, что мне не хватает уравнения. Я не могу за свою жизнь понять, что делать. Если я повторно добавлю в любое из начальных граничных условий, модель ломается, потому что граница переопределена в единственном числе. В итоге,
pout = 500000; replaced by Outlet.p = pout;
hout = states[2].h; add Outlet.h_outflow = hout;
p[1] = pin; add Inlet.p = pin;
hin=3000e3; replaced by Inlet.h_outflow = hin;
mdot[1] = 66.3; replaced by Inlet.m_flow = mdot[1];
Я пытался использовать inStream для переменных потока, я пытался обойти свои внутренние переменные, и я пробовал каждый порт по одному за раз. Входной порт несчастен, и я в недоумении, почему это так.