Как моделировать/моделировать давление и потоки в сети трубопроводов

Мне трудно найти информацию о том, как моделировать/симулировать это. Я приложил пару файлов, оба из которых показывают пример сети резервуаров и насосов. Это просто ерунда, которую я придумал для этого поста, но она показывает, какую систему я пытаюсь смоделировать.

(Вместо этого я просто разместил его в Интернете: ссылка на pdf, ссылка на vsd )

Я искал в Интернете информацию о том, как это сделать, но постоянно сталкивался с формулами, которые намного сложнее, чем то, что мне нужно сделать. Я просто хочу знать, какое давление и расход в любом узле системы с точностью 80% или около того. Нет необходимости учитывать сжатие жидкости, и мы можем просто использовать константу для сопротивления, испытываемого клапанами или сужающимися трубами. Нам не нужно учитывать трение жидкости о трубопровод. Мы можем игнорировать тепло. Важно еще раз отметить, что мне не нужна полная точность, гораздо важнее поведение моделируемой системы.

Я пробовал это в обоих направлениях, то есть следуя по пути потока вниз от резервуаров/источников и распространяя изменения давления через систему, и я также пробовал это непосредственно из рассматриваемого узла, и учитывая, что каждый узел имеет количество исходных узлов по напорам и потокам. Обе эти смоделированные системы SW становятся очень неустойчивыми по мере того, как они находятся дальше по течению от насосов, которые вы устанавливаете, и чем больше двухпозиционных клапанов я устанавливаю в систему.

Даже если бы вы просто сказали мне, где искать или какую книгу прочитать, это было бы огромной помощью. Если где-нибудь есть пример исходного кода, который делает это, я куплю вам 60 унций пива на ваш выбор.

Заранее спасибо.


(пост редактирование 4/12)

Спасибо за ответы до сих пор, я потратил довольно много времени на поиск решения, которое уже существует, потому что я просто был убежден , что многие сталкивались с этой проблемой раньше, и знал, что она решаема в общем смысл. Одна из причин, по которой я был так заинтересован в общем решении, заключается в том, что я могу разобрать еще 12 таких симуляций, которые я должен сделать быстро и точно, если это так.

Я нашел другое программное обеспечение под названием EPAnet, которое кажется более простым решением, чем то, что было перечислено ниже, и в данный момент я просматриваю их SDK и играю с ним. Я буду держать вас в курсе, те немногие, кто заинтересован... для большинства это может не иметь большого значения, но для тех немногих, кому это важно, это будет иметь огромное значение, поэтому я напишу, что найду.


(редактировать 4/13)

Последние два дня я провел за созданием надежной оболочки вокруг набора инструментов программиста EPAnet и созданием временной программы, которая делает некоторые вещи, которые я хочу делать. (Между прочим, я побил новый рекорд по количеству раз в день, когда LabVIEW мог быстро и бесшумно завершить работу.)

Это действительно довольно сложно внутри, и я в восторге от того, сколько математической мощи я могу выдержать. Я не думаю, что они конкретизировали все проблемы, поэтому я работал над некоторыми из них. Но похоже, что пока с вероятностью 80% это сработает для того, чего я хочу.

Вы продолжаете сталкиваться с ужасными трудностями, потому что полная задача является одной из пробных «трудных» проблем в физике (и, если уж на то пошло, в вычислительных методах). Это не моя область, но я знаю нескольких человек, которые в ней работают. Я не думаю, что они когда-либо использовали такую ​​простую систему, как вы описываете.
60 унций пива звучит для меня как щедрое вознаграждение :) Просто чтобы было ясно (извините, если я слеп): ваша ситуация стационарна (т.е. с постоянным потоком) или нет (из-за конечного количества воды в этих резервуарах)?
Это не стационарно, но если бы я мог хотя бы заставить правильно работать стационарную модель, я был бы намного лучше, чем сейчас. Я думаю, что мог бы добавить специальные условия, чтобы достаточно правильно смоделировать нестационарную систему.
@ Бен Филлипс Вы думали о том, чтобы преобразовать свою проблему в электрическую цепь? Ваше упрощенное поведение кажется поддающимся электрической аналогии (бомба -> источник, труба -> резистор, бак -> конденсатор, ...).
Простите за наивный вопрос, но не могли бы вы объяснить различные символы на схеме? Танки достаточно очевидны. Я предполагаю, что эта штука с двумя треугольниками - это клапан. А как насчет двух маленьких кругов с линиями через них? А треугольник из горизонтальных линий (выглядит как символ электрического заземления)? Кроме того, каково действие клапана? Ограничивает ли он скорость потока фиксированным значением, или просто имеет фиксированную апертуру, или...?
Я подозреваю, как упоминает @mmc, что в описанном вами приближении вы могли бы записать это как систему линейных уравнений.
@nibot: Нет проблем, но я не буду объяснять это прямо - хорошо задавать такие вопросы, когда вы не знаете, гораздо лучше, чем позировать, как вы. Попробуйте погуглить что-нибудь вроде "Схема клапанов Visio" или "Схематические символы трубопроводных систем". И дайте нам знать, что вы найдете!

Ответы (2)

Мой совет — изучить решеточный метод Больцмана, который является надежным и простым для атермических несжимаемых течений. Попробуйте это программное обеспечение с открытым исходным кодом GPL3, например:

http://www.lbmethod.org/palabos/

Спасибо за ответ, похоже, я буду много читать об этом и использовать GCC на этой неделе.
lbmethod.org/numerics:matlab_samples хорошее место для начала.
Я не думаю, что это хорошая идея — в данном случае явный CFD — это огромный перебор. К сожалению, я не могу помочь с этим, но наверняка есть какое-то инженерное программное обеспечение только для этого.
@mbq: Я тоже так думаю, и это уже сделано. Я использую инструментарий, который дает гораздо больше информации, чем мне нужно, но мне удалось ее сократить. Это то, что я планирую написать через пару дней, когда буду знать наверняка. Инструментарий EPAnet пытается смоделировать качество воды, но для этого им сначала нужно сделать то, что меня интересует, а именно давление в каждом узле и поток через трубы. Красивый!

Оказывается, EPAnet действительно может делать то, что я хочу. Немного неудобно пытаться подключиться, так как я не думаю, что какие-либо настоящие обновления появлялись в течение 5 или более лет, но есть несколько коммерческих продуктов, базовый движок которых основан на EPAnet, даже если они немного расширяют или настраивают его. Этот небольшой факт придал мне больше уверенности в том, что я не прыгаю в кроличью нору.