Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Использование решения задачи потокораспределения для анализа водоснабжения города



Использование решения задачи потокораспределения для анализа водоснабжения города

 

Дипломная работа

 

 

Выполнила студентка

5 курса 1251 группы

Симдянкина Елена Николаевна

___________________

(подпись)

 

 

Научный руководитель

старший преподаватель

Борисова С.П.

___________________

(подпись)

 

 

Допустить к защите                                                                        Работа защищена

Зав. кафедрой                                                                                  «___»__________2006г.

д-р ф.-м.наук, профессор                                                                    

Степанов А.Н.                                                                                 Председатель ГАК

__________________                                                                      ___________________

«___»_________2006г.                                                                   ___________________

                                                                                                          ___________________

                                                                                                                                                   

 

 

Самара 2006

Содержание

Введение........................................................................................ 3

1 Постановка задачи........................................................................ 4

1.1 Теория графов...................................................................... 4

1.2 Математическая постановка задачи........................................ 4

2 Методы решения задачи потокораспределения................................ 6

2.1 Устройство гидравлических сетей......................................... 6

2.1.1 Примеры гидравлических сетей........................................... 6

2.1.2 Системы водоснабжения..................................................... 6

2.2 Обзор методов решения........................................................ 8

2.2.1 Графические и аналитические методы.................................. 9

2.2.2 Алгебраический и экстремальный подходы

к расчету потокораспределения................................................. 10

2.2.3 Методы поконтурной и поузловой увязки

и их модификации.................................................................... 11

3 Программная реализация решения задачи потокораспределения

в гидравлических сетях................................................................. 16

3.1 Описание программы.......................................................... 16

3.2 Вычислительный эксперимент............................................. 20

Заключение..................................................................................... 23

Список литературы....................................................................... 24

Приложение А.............................................................................. 25

Приложение Б............................................................................... 26

 

 

Введение

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

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

К ним относятся: глобальные системы, такие как электроэнергетическая и газоснабжающая система страны; межрегиональные (объединенные энергосистемы, магистральные нефте- и газопроводы, системы каналов и групповые водопроводы для переброски вод и обводнения больших территорий); системы электро-, тепло -, водо- и газоснабжения городов и промышленных центров; системы отопления, вентиляции и другие.

Гидравлические и, в частности, трубопроводные системы играют весьма существенную роль в экономике страны. Только стальных труб в России ежегодно используется более 20 млн.т.[1] При этом наряду с бурным ростом магистрального трубопроводного транспорта нефти, газа и воды на расстояние в сотни и тысячи километров основное место занимают трубопроводные системы коммунального и промышленного назначения.

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

Достаточно полно теория гидравлических сетей изложена в работах [1], [3], [8].

Данные факторы, а именно: народнохозяйственная важность гидравлических систем и их многообразие, с одной стороны, а также принципиальная общность математических моделей и алгоритмов для их расчета и оптимизации, с другой – вызвали огромный поток математических и отраслевых работ, во многом дублирующих друг друга.

Систематизация, обобщения исследований работ по данной теме были даны А.П.Меренковым и В.Я.Хасилевым в работе «Теория гидравлических цепей».[19]

Моделирование гидравлических сетей, является важной задачей в процессе наладки сложных трубопроводов, а также при управлении существующими гидравлическими системами. Модели, описывающие такие сети с большим количеством участков, представляют собой системы нелинейных уравнений большой размерности. В силу возрастающей сложности реальных объектов постоянно требуется совершенствование старых и разработка новых методов их моделирования и расчета. Еще более актуальной данная задача становится в рамках перехода от задач эффективного управления (поскольку огромное количество гидравлических сетей уже построено и эксплуатируется.) к задачам проектирования трубопроводных систем (для создания новых высокоэффективных гидравлических сетей). При этом на первый план выходят более сложные задачи эффективного управления существующими трубопроводными сетями. При проектировании гидравлических сетей населенного пункта или промышленного предприятия, необходимо учитывать, что все потребители должны обеспечиваться водой в заданном количестве и с требуемым напором.

Целью данной дипломной работы было применение метода поузловой увязки для решения задачи потокораспределения в гидравлических сетях для эффективного управления существующими трубопроводными сетями и проектирования новых трубопроводных систем. В связи с этим в данной работе необходимо было решить следующие задачи:

· изучить структуру и устройство гидравлических сетей;

· исследовать существующие методы решения задачи потокораспределения в гидравлических сетях, анализируя их достоинства и недостатки;

· из всех методов выбрать наиболее подходящий;

· на основе этого метода разработать алгоритм, позволяющий решать задачу управления и проектирования большими гидравлическими сетями.

 

Постановка задачи

Теория графов

Графы очень часто используются в приложениях, поскольку они возникают как модель при изучении многих объектов. Например, структура молекулы является графом, в котором вершинами являются атомы, а ребрами - валентные связи. Блок-схема алгоритма представляет собой орграф, в котором вершинами являются отдельные операторы, а дуги указывают переходы между ними. Другие примеры графов: элементы и соединения в электрической цепи, схема перекрестков и дорог, множество предприятий с указанием двухсторонних связей между ними, группа людей с указанием их психологической совместимости, структура управления с указанием объектов и их подчиненности друг другу и т. д.

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

Вершины графа, которые не принадлежат ни одному ребру, называются изолированными.

Граф, состоящий только из изолированных вершин, называется нуль-графом.

Граф, в котором каждая пара вершин соединена ребром, называется полным.

Степенью вершины называется число ребер, которым принадлежит вершина.

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

Граф, который можно представить на плоскости в таком виде, когда его ребра пересекаются только в вершинах, называется плоским.

Многоугольник плоского графа, не содержащий внутри себя никаких вершин или ребер графа, называют его гранью.

Циклом называется путь, в котором совпадают начальная и конечная точка.

Простым циклом называется цикл, не проходящий ни через одну из вершин графа более одного раза.

Длиной пути, проложенного на цикле, называется число ребер этого пути.

Две вершины A и B в графе называются связными, если в нем существует путь, ведущий из A в B.

Две вершины A и B в графе называются несвязными, если в нем не существует путь, ведущий из A в B.

Граф называется связным, если каждые две его вершины связны; если же в графе найдется хотя бы одна пара несвязных вершин, то граф называется несвязным.

Деревом называется связный граф, не содержащий циклов.

Несвязный граф, состоящий исключительно из деревьев, называется лесом.

Упорядоченное корневое дерево - это корневое дерево D, в котором задан порядок его поддеревьев D1, D2,..., Dm.

Ориентированным деревом называется корневое дерево, все ребра которого ориентированы к корню. В ориентированных деревьях нет ориентированных циклов. Но это не единственные графы, обладающие этим свойством.

Ориентированным ациклическим графом называется любой ориентированный граф, в котором нет ориентированных циклов.

Вершина ориентированного графа называется истоком, если в нее не входит ни одна дуга.

Вершина ориентированного графа называется стоком, если из нее не выходит ни одной дуги.

Методы решения задачи потокораспределения

Примеры гидравлических сетей

Трубопроводные и другие гидравлические системы при всем разнообразии их назначения и физико-технических особенностей имеют геометрически аналогичные конфигурации, подчиняются одним и тем же «сетевым постулатам» Кирхгофа и однотипным законам гидравлического сопротивления. Эта общность отчетливо проявляется при моделировании данных систем с помощью гидравлических сетей и перехода к математическим формулировкам и численным методам решения задач их расчета, оптимизации и управления.

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

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

Особый класс гидравлических систем составляют нефтегазотранспортные и нефтегазоснабжающие системы, а также смешанные ( с точки зрения состава элементов, осуществляющих транспортировку среды) системы типа «пласт – скважины – нефтегазосборная сеть».

Системы водоснабжения

Система водоснабжения – это комплекс инженерных сооружений, предназначенных для забора воды из источника водоснабжения, ее очистки, хранения и подачи к потребителям.

Системы водоснабжения (водопроводы) классифицируют по ряду признаков.

По виду обслуживаемого объекта системы водоснабжения делят на городские, поселковые, промышленные, сельскохозяйственные, железнодорожные и другие.

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

По способу подачи воды различают самотечные водопроводы (гравитационные) и водопроводы с механической подачей воды (с помощью насосов).

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

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

Существуют два вида источников водоснабжения: подземные и поверхностные. К подземным источникам водоснабжения относятся подземные воды, образующиеся вследствие просачивания в землю атмосферных и поверхностных вод. Подземные воды могут быть безнапорными и напорными (артезианскими).

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

Напорные (артезианские) воды, как правило, характеризуются высоким качеством и в большинстве случаев могут использоваться для хозяйственно-питьевых целей без очистки.

К поверхностным источникам водоснабжения относятся реки, водохранилища и озера.

Для транспортирования воды от источников к объектам водоснабжения служат водоводы. Их выполняют из двух или более ниток трубопроводов, укладываемых параллельно друг другу. Трубопровод называют простым, если он не имеет ответвлений. Простые трубопроводы могут быть соединены между собой так, что они образуют последовательное соединение, параллельное соединение или разветвленный трубопровод. Трубопроводы могут быть сложными, содержащими как последовательные, так и параллельные соединения или ветви разветвления. Разветвленным соединением является совокупность нескольких простых трубопроводов, имеющих одно общее сечение – место разветвления (или смыкания) труб. Для подачи воды непосредственно к местам ее потребления (жилым зданиям, цехам промышленных предприятий) служит водопроводная сеть. При трассировании линий водопроводной сети необходимо учитывать планировку объекта водоснабжения, размещение отдельных потребителей воды, рельеф местности.

По конфигурации в плане различают водопроводные сети разветвленные, или тупиковые, и кольцевые, или замкнутые. Разветвленные водопроводные сети выполняют для небольших объектов водоснабжения, допускающих перерывы в снабжении водой. Эти сети целесообразны при сосредоточенном потреблении воды в отдаленных друг от друга точках сети. Кольцевые водопроводные сети выполняют при необходимости бесперебойного водоснабжения, что гарантируется в данном случае возможностью двухстороннего питания водой любого потребителя. Протяженность и стоимость кольцевых сетей больше, чем разветвленных.

В хозяйственно-питьевых и производственных водопроводах, как правило, применяют кольцевые сети вследствие их способности обеспечивать бесперебойную подачу воды. В противопожарных водопроводах устройство кольцевой сети обязательно.

В водопроводной сети различают магистральные (главные) и распределительные (второстепенные) линии. Расчет проводят только для магистральных линий.

В любой гидравлической системе различают три ее основные составляющие (подсистемы):

1) источники давления или расхода (например, насосные или компрессорные станции, аккумулирующие емкости и др.), обеспечивающие притоки транспортируемой среды и привносящие энергию в систему;

2) трубопроводную или гидравлическую сеть (в виде совокупности взаимосвязанных трубопроводов, воздуховодов и открытых каналов), соединяющую источники с множеством потребителей и доставляющую эту среду;

3) абонентские подсистемы (или просто потребители).

Такое деление, в общем-то, довольно условно и зависит от целей изучения реальной системы и характера решаемых задач, степени детализации, а также и от режимов ее работы. Например, в качестве потребителей могут рассматриваться как отдельные установки, так и здания или, скажем, кварталы города или даже город в целом. Сеть в одних случаях включает лишь основные магистрали между источниками и укрупненными потребителями, а в других она может отображать и конкретизировать эти связи вплоть до разводящих линий и фактических потребителей. Точно так же и источники могут задаваться вместе со своей «начинкой» (оборудованием) или лишь выходными параметрами. Одни и те же аккумулирующие емкости в системе в режимах их заполнения являются потребителями, а в режимах опорожнения – источниками и т.п.

При математическом моделировании все эти подсистемы находят соответствующее отражение в расчетной схеме цепи: участки сети, включающие арматуру и другие местные сопротивления, - в виде ветвей; места расположения источников расхода (притоков) и потребителей (стоков), а также соединений ветвей – в виде узлов (вершин); источники напора (а иногда и расхода) могут относиться как к узлам, так и к ветвям.

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

Первые программы гидравлического расчета появились еще 30 лет назад, задолго до массового распространения персональных компьютеров и графических дисплеев. Как только были созданы надежные и эффективные системы гидравлического расчета, на первый план вышли проблемы создания удобных пользовательских оболочек. Они должны были «уметь» выполнять простые, но необходимые функции (первоначальный ввод исходных данных, контроль корректности данных, визуализация и анализ результатов, корректировка исходных данных и др.).

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

С появлением персональных компьютеров создание систем гидравлического расчета претерпело революционные изменения по двум направлениям. Во-первых, исходные и расчетные данные стали храниться в стандартных реляционных базах данных, а не в разнообразных двоичных файлах. Во-вторых, расчетная схема, изображаемая теперь на графическом мониторе компьютера, стала и основным источником исходных данных, и средством анализа результатов расчета.

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

Гидравлический расчет производится по всем связным компонентам сети, имеющим среди принадлежащих к ним узлов хотя бы один источник. По связным компонентам, не смежным ни с одним источником, гидравлический расчет не проводится за очевидной его бессмысленностью.

Обзор методов решения.

Вопросы математического описания и расчета гидравлических систем имеют несомненную общность ряда исходных физико-математических положений с вопросами математического описания и расчета электротехнических систем. Однако если теория электрических цепей существует уже более 150 лет, начиная с работ Ома, Кирхгофа, Гельмгольца, Максвелла, и уже давно определилась как самостоятельная дисциплина, то для гидравлических систем работы обобщающего характера начали интенсивно проводиться лишь с появлением вычислительных машин.

В теории электрических цепей важно выделить такие основные открытия и выводы, как известный закон Ома, устанавливающий пропорциональную зависимость между силой постоянного тока и разностью потенциалов; два закона Кирхгофа, которые сам он сформулировал так: «Пусть задана система из проводников 1, 2, …, n, которые произвольным образом соединены между собой и в каждом из которых имеется своя электродвижущая сила, тогда для определения силы токов  в проводниках можно построить необходимое число линейных уравнений на основе использования следующих 2-х правил:

1. Если проводники  образуют замкнутую фигуру и  означает сопротивление проводника K, а -электродвижущую силу, имеющую положительную величину в случае ее действия в направлении течения тока , то  взятые положительными в соответствующем направлении, удовлетворяет уравнению: ;

2. Если проводники  соединяются в одной точке и те из  которые отвечают токам, направленным к этой точке, берутся положительными, то »;

и, наконец, теорему Д.К.Максвелла о принципе наименьшего теплового действия для электрических цепей. Эти основные открытия и используются в теории гидравлических сетей.

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

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

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

Потокораспределение в сети определяется двумя группами достаточно простых и очевидных условий или, что то же самое, двумя правилами Кирхгофа [19]:

а) общий расход, притекающий к любому узлу, равен общему расходу, покидающему его;

б) общее изменение потенциала вдоль любого замкнутого контура равно нулю.

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

Ниже будут рассмотрены вычислительные возможности увязочных методов, а также приведен обзор работ по применению различных подходов, математических методов для расчета трубопроводных систем.

Описание программы

В данной дипломной работе задача потокораспределения в гидравлических сетях решается методом поузловой увязки путем одностороннего прохода по всем вершинам. Для написания программы была использована инструментальная среда Delphi 7.0. Программы в Delphi создаются на основе современной технологии визуального проектирования, которая, в свою очередь, базируется на идеях объектно-ориентированного программирования. Delphi является наглядной и простой средой, имеет интуитивно-понятный интерфейс.

 

  Определенные в программе классы

 

Класс узла:

 

cHouse = class(TObject)

public

No: integer; // порядковый номер

XCoord: integer; //координата X расположения узла на экране

YCoord: integer; //координата У расположения узла на экране

Pressure: real; // давление

IsSet: boolean; //если true – давление задано (НФС)

Next: pointer; //указатель на следующий узел в цепочке

Prev: pointer; //указатель на предыдущий узел в цепочке

Name: AnsiString; // адрес узла

kind: AnsiString; // тип

function IsInside(x: integer; y: integer): boolean; // проверка нахождения курсора над узлом

//путем сравнения текущих координат курсора и областей экрана, занимаемых //узлом. В параметрах передаются координаты курсора. Возвращаемое значение: //true – если курсор над узлом, false – в противном случае

procedure Draw(); // процедура рисования узла на экране. В зависимости от того, задано ли        давление, рисует НФС или собственно узел

procedure Del(forDel: pointer); // процедура удаления узла из цепочки. В параметре //передается указатель на удаляемый узел

constructor cHouse(p: pointer); // задание начальных параметров узла

end;

 

Класс трубы:

 

cTube = class

public

StartHouse: pointer; // номер узла, из которого исходит труба

FinishHouse: pointer; // номер узла, в который входит труба

params: array[0..1] of real; //массив параметров трубы – диаметр и длина

Next: pointer; //указатель на следующую трубу в цепочке

Prev: pointer; //указатель на следующую трубу в цепочке

kind: integer; //тип трубы: 0 – труба, 1 – задвижка открыта, 2 – насос, 3 – задвижка закрыта

AddPress: real; //добавочное давление (когда тип - насос)

constructor cTube; // задание начальных параметров трубы

end;

 

Переменные:

Base: pointer; // указатель на первый узел в цепочке

BaseTube: pointer; //указатель на первую трубу в цепочке

E: real=0.1; // параметр точности вычислений

P1: array[0..4] of real; // массив параметров жидкости

BasePrice: real; //давление в НФС

maxD: real; // максимальный диаметр трубы

minD: real; // минимальный диаметр трубы

Константы:

 -максимально возможное число вершин графа, для которого проводится расчет

-максимально возможное число дуг графа, для которого проводится расчет,

AL-коэффициент, используемый в методе нахождения начального интервала, AL=1

-максимально возможное число параметров, характеризующих транспортируемую жидкость

-максимально возможное число параметров потока, характеризующих одновременно все дуги сети

E- Маленькое число, характеризующее точность решения данной задачи

EPS-маленькое число, характеризующее точность численного решения уравнения при нахождении P

Все описанные константы, кроме E, EPS, AL необходимы для описания размерности массивов в программе, причем числовые данные констант удовлетворяют требованиям контрольных примеров и их можно изменить при решении конкретного вида задач.

 

Исходные данные:

M, N, KX, KPP-переменные, имеющие тот же смысл, что и , , , , описанные в разделе констант, но их значения отражают характеристики расчетов конкретной заданной сети

P-массив, определяющий давление (начальное приближение) для всех узлов сети

[i]-номер вершины, являющийся началом дуги

 [i]- номер вершины, являющейся концом дуги

PP-массив, определяющий вершины, в которых задана величина P

Например, если PP[i]=0- давление P  не задано и его надо найти, если PP[i]=1- давление в вершине P  задано.

KK-массив, характеризующий параметры транспортируемой жидкости.

Результаты:

SH-счетчик итераций

P- массив, определяющий давление в узлах сети

J, K, I, S- целочисленные рабочие переменные, используемые для организации циклов

PD- вещественная рабочая переменная

PR, - вещественные рабочие массивы

 

Процедуры и функции, относящиеся к алгоритму расчета:

 

function QR1 (PH: real; PK: real; P1: array of real; P2: array of real; kind: integer

; addit: real): real;

var QQ: real;

begin

QQ: =sqrt(abs(PH+addit-PK)/(P1[0]*P1[1]*P1[2]*P1[3]*P1[4]*P2[1]));

if (PH+addit< PK)

 then begin QR1: =-QQ; exit; end

else begin QR1: =QQ; exit; end;

end;

 

Здесь:

PH – давление в узле, из которого исходит труба;

PK – давление в узле, в который входит труба;

P1 – массив параметров жидкости;

P2 – массив параметров трубы;

Kind – вид трубы;

Addit – добавочное давление (задано только для типа «насос»)

Считается, что насос вырождается в трубу с увеличенным на величину накачиваемого насосом давления в начальном узле; открытая задвижка есть труба; закрытая задвижка – отсутствие связи между узлами

 

 

function Q (Press: real; C: cHouse): real;

var temp: cTube;

Q1, Q2: real;

begin

if (BaseTube=nil)

then begin Q: =0; exit; end;

temp: =cTube.Create;

pointer(temp): =BaseTube;

Q1: =0; Q2: =0;

while(1=1) do begin

if (temp.kind< > 3) then begin

if (temp.StartHouse=pointer(C))

then Q1: =Q1+QR1(Press, (cHouse(temp.FinishHouse)).Pressure, P1, temp.params, temp.kind, temp.AddPress);

if (temp.FinishHouse=pointer(C))

then Q2: =Q2+QR1( (cHouse(temp.StartHouse)).Pressure, Press, P1, temp.params, temp.kind, temp.AddPress);

end;

if (temp.Next=nil)

then break;

pointer(temp): =temp.Next;

end;

Q: =Q2-Q1;

end;

 

Здесь:

Press – давление в узле, для которого происходит расчет на данной итерации;

С – указатель на узел, для которого происходит расчет на данной итерации

Расчет не требуется, если kind=3 (задвижка закрыта), т.к. этот случай приравнивается к отсутствию трубы

Результат выполнения функции есть значение, характеризующее правильность рассчитанного давления (при условии Q< E)

 

 

function LOS (I: cHouse): real;

var Y, A, B, QA, QB, QY, DEL, PD: real;

temp: cTube;

begin

A: =100000000.0;

B: =0.0;

if (BaseTube=nil) then begin LOS: =0; end;

 temp: =cTube.Create;

pointer(temp): =BaseTube;

while(1=1)do begin

if (temp.kind< > 3) then begin

if (temp.StartHouse=pointer(I)) then begin

if (A> (cHouse(temp.FinishHouse).Pressure))

then A: =cHouse(temp.FinishHouse).Pressure;

if (B< (cHouse(temp.FinishHouse).Pressure))

then B: =cHouse(temp.FinishHouse).Pressure; end;

if (temp.FinishHouse=pointer(I)) then begin

if (A> ((cHouse(temp.StartHouse).Pressure)+temp.AddPress)) then

A: =cHouse(temp.StartHouse).Pressure+temp.AddPress;

if(B< ((cHouse(temp.StartHouse).Pressure)+temp.AddPress)) then

B: =cHouse(temp.StartHouse).Pressure+temp.AddPress; end;

end;

if (temp.Next=nil) then break;

pointer(temp): =temp.Next;

end;

QA: =Q(A, I);

QB: =Q(B, I);

if (QA=0.0) then PD: =A;

if (QB=0.0) then PD: =B;

if ((QA> 0)and(QB< 0))

then begin

Y: =B;

B: =A;

A: =Y;

Y: =QB;

QB: =QA;

QA: =Y;

end;

if ((QA< 0)and(QB> 0)) then

while ((abs(QA)> =EPS)or(abs(QB)> =EPS)) do begin

Y: =(A+B)/2.0;

QY: =Q(Y, I);

if (abs(QY)< EPS) then

begin

PD: =Y;

LOS: =PD;

exit;

end;

if (QY> 0.0) then B: =Y else A: =Y;

end;

PD: =(A+B)/2;

LOS: =PD;

end;

 

Здесь:

I – указатель на узел, для которого происходит расчет на данной итерации

Результат выполнения функции есть значение давления в узле I на данной итерации

 

 

procedure TForm 1. Button 1 Click (Sender: TObject); //процедура расчета гидравлической сети //методом поузловой увязки. Вызывается путем нажатия на кнопку «Расчет»

var S, J: integer;

temp: cHouse;

begin

if (Base< > nil) then pointer(temp): =Base else exit;

while(1=1) do begin

if temp.IsSet=false then temp.Pressure: =0.0;

if (temp.Next=nil) then break;

pointer(temp): =temp.Next;

end;

P1[0]: =StrToFloat(StringGrid1.Cells[1, 1]);

P1[1]: =StrToFloat(StringGrid1.Cells[2, 1]);

P1[2]: =StrToFloat(StringGrid1.Cells[3, 1]);

P1[3]: =StrToFloat(StringGrid1.Cells[4, 1]);

P1[4]: =StrToFloat(StringGrid1.Cells[5, 1]);

S: =1;

while (S< > 0) do begin

S: =0;

if (Base< > nil) then pointer(temp): =Base else exit;

while(1=1) do begin

if (temp.IsSet=false) then

if (abs(Q(temp.Pressure, temp))> =E)

then begin

S: =S+1;

temp.Pressure: =LOS(temp);

end;

if (temp.Next=nil) then break;

pointer(temp): =temp.Next;

end;

end;

end;

 

Процедура последовательно рассчитывает давление для каждого узла, проверяет полученный результат на точность путем сверки с заранее установленным контрольным значением, и при неудовлетворительном результате производит пересчет давления до достижения приемлемых результатов.

 

Вычислительный эксперимент

Вычислительный эксперимент был проведен в нескольких вариантах

1.Задача была решена для графа линейной структуры (приложение А, рисунок 1).

Она была решена с помощью программы и вручную, результаты расчета совпали (приложение А, рисунок 2).

Входные данные:

N=5

M=4

P (0) =100

P (4) =20

Выходные данные:

P (1) =80

P (2) =60

P (3) =40

2.Задача была решена для графа произвольной структуры (приложение А, рисунок 3).Решение задачи проводилось с помощью программы и вручную. При сравнении результаты совпали.

Входные данные:

N=14

M=20

 

Количество вершин, в которых задано давление равно шести (приложение А, рисунок 4).

Результаты счета:

                             

                                                                 

                                                                  

Рисунок 3.2.1

3.После успешно пройденных этапов тестирования эта задача была решена для гидравлической сети реальной размерности. В качестве гидравлической сети был взят участок, осуществляющий водоснабжение Комсомольского района города Тольятти (приложение Б, рисунок 1).

Трубы в сети разной длины и диаметра, поэтому на форме они отображаются разным цветом(приложение Б, рисунок, 1 рисунок 2).

 

Входные данные:

 N=134

 M=148

Результаты счета:

Рисунок 3.2.2

В результате было рассчитано оптимальное давление для гидравлической сети Комсомольского района города Тольятти. Также была рассчитана стоимость воды для потребителей. Можно увидеть, что чем дальше находится потребитель от насосно-фильтровой станции, тем выше становится стоимость.


Поделиться:



Последнее изменение этой страницы: 2020-02-16; Просмотров: 157; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.268 с.)
Главная | Случайная страница | Обратная связь