Разработка программного обеспечения для персонального компьютера по автоматизации проектирования гидродинамики цементирования обсадных колонн нефтяных скважин
Цементирование обсадных колонн нефтяных скважин. Состав информационного обеспечения программного комплекса автоматизированного проектирования. Реализация инфологической модели и организация взаимодействия программного обеспечения с базой данных.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 22.07.2013 |
Размер файла | 2,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ВВЕДЕНИЕ
Важным условием повышения качества работ по проектированию нефтяных скважин является наличие компьютерной динамической модели, которая позволяет проводить многовариантные расчеты для выбора оптимального способа строительства скважин и моделирования процессов, происходящих при этом строительстве, еще на стадии проектирования. Для обеспечения этого условия необходимо наличие программного средства, позволяющего не только автоматизировать трудоемкие инженерные работы, но и получать адекватные модели по результатам проектных расчетов, отражающие реальные процессы.
Одним из сложнейших этапов строительства скважин является ее цементирование -- крепление ствола скважины путем закачки в нее различных жидкостей по определенным правилам, в заданных объемах и последовательности.
Важность качественной проектной проработки цементирования обусловлена тем, что цементирование -- заключительный этап строительства скважины, неудачи при его выполнении могут свести к минимуму ожидаемый эффект, стать причиной неправильной оценки перспективности разведываемых площадей, появления «новых» залежей нефти и, особенно, газа в коллекторах, перетоков флюидов, грифонообразования, газопроявлений и т.п. Стоимость скважин, особенно глубоких, высока, а ущерб от некачественного их крепления может быть еще большим. Процесс цементирования скважин -- операция необратимая, ремонт и восстановление их связаны со значительными затратами материальных, людских ресурсов и времени [1].
Совершенствование средств автоматизации проектирования путем включения в них блоков моделирования различных процессов, применение новых информационных технологий в данной области позволит повысить качество проектных работ, снизив вероятность появления случайностей, исключив нежелательные, а порой и недопустимые ошибки. Этим обуславливается актуальность разработки системы автоматизации проектирования гидродинамики цементирования нефтяных скважин.
Существующий на данный момент набор наиболее известных и распространенных программных средств автоматизации проектирования нефтяных скважин в основном специализируются на одном из многочисленных этапов такого проектирования и ограничиваются в предоставляемом пользователю функциональном наборе: производят проектный расчет, генерируют чертежи, не имея при этом функций построения моделей, как самой скважины, так и процессов, происходящих при ее строительстве, что не дает возможности пользователю наглядно оценить результаты своей работы. Разработанная программа, получившая название «HydroDynamic Modelling Tool» или в сокращенном варианте «HDM-Tool», реализовывает все перечисленные выше функции, что наделяет ее довольно высокой степенью новизны.
Целью данной дипломной работы является разработка программного обеспечения для персонального компьютера по автоматизации проектирования гидродинамики цементирования обсадных колонн нефтяных скважин.
Достижение указанной цели потребовало решения следующих задач:
- исследования теоретических аспектов цементирования обсадных колонн нефтяных скважин;
- проведения анализа требований, предъявляемых к автоматизированным системам проектирования строительства нефтяных скважин, исходных данных к проектированию, расчету и моделированию гидродинамических процессов, формулирования постановки задачи на разработку;
- разработки математической модели, позволяющую визуализировать процесс закачки буровых и тампонажных смесей в затрубном и внутритрубном пространстве скважины;
- разработки, верификации и апробации системы компьютерного динамического моделирования гидродинамики цементирования обсадных колонн нефтяных скважин.
В соответствии с поставленными задачами данная работа включает семь разделов.
1. ОБЗОР И АНАЛИЗ МЕТОДОВ И СРЕДСТВ АВТОМАТИЗАЦИИ ПРОЕКТНЫХ ЗАДАЧ ПРИ СТРОИТЕЛЬСТВЕ СКВАЖИН
1.1 Организация цементирования обсадных колонн нефтяных скважин
Буровые работы при строительстве скважин состоят из нескольких этапов, на каждом из которых бурение производится на определенную глубину долотами различных диаметров, уменьшающихся от этапа к этапу.
После завершения каждого из этапов бурения образованный ствол скважины подлежит креплению, для чего в скважину спускают обсадные колонны различного назначения в зависимости от стадии бурения. Колонны собираются (скручиваются или реже свариваются) из отдельных секций -- обсадных труб различного диаметра, толщины стенок и длины. Схематическое изображение конструкции скважины представлено на рисунке 1.1.
Рисунок 1.1 -- Конструкция двухколонной скважины: 1 -- обсадная труба; 2 -- промежуточная колонна; 3 --эксплуатационная колонна; 4 -- внутритрубное пространство; 5 -- затрубное пространство
После завершения первого этапа бурения в скважину опускают обсадную трубу, называемую кондуктором, ее центрируют и фиксируют, выполняя технологическую операцию цементирование. Далее пробуривается следующий участок скважины меньшего диаметра. Этот участок также закрепляется обсадными трубами. Колонну из этих труб называют промежуточной. При чем в скважине в зависимости от ее глубины, вида проходимых горных пород и других факторов может быть различное число промежуточных колонн, тогда их соответственно называют первой промежуточной колонной, второй и т.д. Завершается процесс бурения при достижении забоя (проектной отметки на глубине). На данном этапе на всю глубину скважины опускаю последнюю колонну обсадных труб, называемую эксплуатационной [2].
Пространство внутри колонн называется внутритрубным, а пространство, образовавшееся между спущенной колонной и стенками пробуренной горной породы -- затрубным.
Как уже упоминалось ранее, после каждого спуска обсадных колонн производится цементирование, целью которого является получение прочного, водогазонефтенепроницаемого, концентрично расположенного в затрубном пространстве кольца цементного камня, который по своей высоте обеспечивал бы разобщение и надежную изоляцию вскрытых скважиной продуктивных горизонтов и зон осложнений [3].
Сущность цементирования скважины заключается в закачке тампонажного раствора (раствора, полученного после затворения тампонажного цемента водой или иной жидкостью и обработанного химическими реагентами) в затрубное пространство скважины для того, чтобы при помощи затвердевшего цементного камня создать прочную перемычку, разобщающую вскрытые нефтяные пласты от водяных.
В зависимости от геологического строения месторождения и условий залегания продуктивных пластов, применяются следующие способы цементирования нефтяных скважин: одноступенчатое, двухступенчатое, манжетное, цементирование хвостовика, обратное цементирование, цементирование под давлением. Названные способы различаются схемой подачи тампонажного раствора в затрубное пространство и особенностями используемых приспособлений [4].
Возможны два варианта подачи тампонажного раствора в затрубное пространство:
- раствор, закачанный внутрь цементируемой обсадной колонны, проходит по ней до башмака (основания) и затем поступает в затрубное пространство, распространяясь снизу вверх (цементирование по прямой схеме);
- тампонажный раствор с поверхности подают в затрубное пространство, по которому он перемещается вниз (цементирование по обратной схеме).
Если через башмак скважины обсадной колонны в затрубное пространство продавливают весь тампонажный раствор в один прием, то такой способ называется одноступенчатым цементированием. Если обсадная колонна на разных уровнях оснащена дополнительными приспособлениями (заливочными муфтами), позволяющими подавать тампонажный раствор в затрубное пространство поинтервально на разной глубине, то такой способ цементирования -- многоступенчатый.
Наиболее простым и распространенным в промышленных масштабах является одноступенчатое цементирование по прямой схеме. Моделирование именно этого способа цементирования реализовано в данной работе.
Графическая схема одноступенчатого цементирования по прямой схеме показана на рисунке 1.2.
Рисунок 1.2 -- Схема цементирования обсадной колонны: I -- состояние скважины после бурения с опущенной колонной; II -- закачка буферной жидкости во внутритрубное пространство; III -- подача порции цементного раствора по обсадной колонне; IV -- закачка продавочной жидкости; V -- окончание продавки; 1 -- манометр; 2 -- цементировочная головка; 3 -- цементируемая обсадная колонна; 4 -- стенки скважины; 5 -- буровой раствор; 6 -- буферная жидкость; 7 -- тампонажный раствор; 8 -- продавочная жидкость; 9 -- цементный стакан
Упрощенно порядок цементирования можно представить следующим образом. После бурения в скважину спускается обсадная колонна, на которую закрепляется цементировочная головка. В это время в скважине ещё остаётся буровой раствор. Для предотвращения его смешивания с тампонажным раствором первоначально во внутритрубное пространство колонны закачивается буферная жидкость (воды, водные растворы солей или щелочей). Она также способствует лучшему сцеплению тампонажного раствора с горными породами, слагающими стенки скважины [5]. Затем в колонну закачивается расчётное количество тампонажного раствора. После этого во внутритрубное пространство подаётся продавочная жидкость для выталкивания цемента из пространства колонны и заполнения затрубного пространства (подъема тампонажного раствора на проектную высоту). При чем проталкивание производится не всей порции тампонажного раствора, а так, чтобы у башмака колонны образовался цементный стакан расчетной высоты.
Процесс цементирования скважин осуществляется комплексом специального оборудования, которое обеспечивает доставку необходимых материалов на буровую, механизированное приготовление тампонажного раствора и нагнетание этого раствора и других жидкостей в затрубное пространство скважины.
Все это оборудование работает не разрозненно, а расстанавливается и объединяется в соответствии с заранее разработанной схемой обвязки. Основным оборудованием, находящимся в обвязке, являются:
- цементно-смесительные машины, предназначенные для приготовления цементных растворов;
- цементировочные агрегаты, предназначенные для нагнетания тампонажного раствора и продавочной жидкости в скважину, а также для подачи затворяющей жидкости в смесительное устройство при приготовлении раствора;
- блок манифольда, необходимый для обвязки насосных установок с устьем скважины при ее цементировании, и служащий для перераспределения или смешения потоков жидкостей.
В настоящее время в различных нефтегазовых районах применяют несколько отличающихся друг от друга технологических схем приготовления и нагнетания тампонажных растворов. Это отличие обусловлено спецификой геолого-технических, а иногда и климатических условий данного района, что определяет выбор конструкции скважины, способа цементирования и тампонажного материала для каждого конкретного района.
Отличие схем обвязки агрегатов заключается в использовании различного числа цементировочных агрегатов и цементно-смесительных машин, а также в применении специальных устройств или механизмов, повышающих качество раствора или цементирования в целом и улучшающих условия труда обслуживающего персонала.
Число и типы агрегатов, находящихся в обвязке и участвующих в цементировании скважины, являются расчетными параметрами и зависят от технологии цементирования, объемов закачиваемых жидкостей и параметров работы агрегатов (потребной скорости закачки смесей на каждом этапе цементирования; давления, развиваемого насосом агрегата; производительностью агрегата на работающей скорости и пр.). При этом важно предусмотреть такое соотношение между количеством цементно-смесительных машин и цементировочных агрегатов, при котором обеспечивается бесперебойное приготовление и нагнетание тампонажного раствора в скважину с заданным темпом [4]. Проверить правильность такого расчета можно промоделировав процесс цементирования скважины с использованием разработанной в рамках данной работы системы.
1.2 Автоматизация проектирования строительства скважин
Автоматизация проектирования строительства скважин проводится с целью сокращения времени на разработку проектно-сметной документации на это строительство. Главная цель автоматизации -- избавить специалиста-проектировщика от рутинной работы по выбору режимных параметров, применяемого оборудования и пр., а сосредоточиться на их оптимизации, на разработке новых, улучшенных технологических решений [6]. Автоматизированная система проектирования не призвана заменить специалиста, но может предложить некий исходный вариант проекта работ. Задача специалиста -- проанализировать и оптимизировать данный вариант, применительно к конкретной ситуации, основываясь на данных, которые невозможно учесть на этапе автоматизированного проектирования из-за их нечеткости и неформализованности.
На сегодняшний день существует достаточно большое количество различных систем автоматизированного проектирования добычи нефти, т.е. процессов, производимых уже после строительства скважин. Что же касается систем проектирования непосредственно нефтяных скважин, то их количество также достаточно велико и представлено такими наиболее известными и распространенными продуктами, как:
- Gibbs -- мощный инструмент для повышения качества проектирования и эксплуатации нефтяных и газоконденсатных месторождений;
- Pegasus Vertex CEMVIEW -- система расчета параметров цементирования скважин и протекающих гидродинамических процессов;
- Drillbench -- программный комплекс для проектирования и сопровождения широкого спектра операций строительства скважин.
Далее приведена характеристика каждой из выше перечисленных программ с описанием их основных функций.
Gibbs -- это компьютерная система комплексного моделирования технических процессов технологической подготовки строительства нефтяных и газовых скважин. При использовании ПО GIBBS, инженер-технолог не просто работает с изображением технологической схемы, как в большинстве аналогичных программ. Он может создавать сложные многоуровневые модели платформ, объединяющие несколько скважин и технологических комплексов на забое [7].
Данная компьютерная система не производит расчеты, а предоставляет возможность проверки сформированной модели на соответствие требованиям технических нормативно-правовых актов, техническому заданию, наличие ошибок в ранее произведенных расчетах и полученных результатах. Система обладает развитым аналитическим аппаратом, учитывающим такие сложные процессы, как испарение и конденсация флюидов, сепарация газа и жидкости, адиабатическое сжатие и расширение в компрессоре и детандере, включая энергообмен в системах детандеpа-тоpмозного компрессора, противоточный теплообмен двух потоков во внутритрубном и затрубном пространствах и др.
Одним из отличительных особенностей ПО Gibbs является то, что оно содержит подсистему, позволяющую пользователю создавать, отлаживать и использовать дополнительные модули собственной разработки, написанные на любом языке программирования высокого уровня с использованием внешних компиляторов, в том числе для наделения программы расчетными функциями.
Pegasus Vertex CEMVIEW предназначена для подготовки технологического раздела плана работ (подбора параметров процесса) на цементирование обсадных колонн различного типа (в том числе хвостовиков) для вертикальных, наклонно-направленных и скважин с горизонтальным участком. Программный продукт основан на современных научно-технических разработках и знаниях гидродинамических процессов при цементировании скважин [8].
Программа обеспечивает выбор:
- способа цементирования;
- места установки муфты ступенчатого цементирования;
- режима цементирования;
- плотности тампонажных растворов и высоты их подъема (при заданной общей высоте подъема), обеспечивающие отсутствие осложнений;
- график подачи цементировочных агрегатов.
Pegasus Vertex CEMVIEW производит расчет:
- объемов тампонажных растворов и продавочной жидкости;
- количества материалов (воды, цемента и т.д.);
- гидравлических сопротивления, возникающие в процессе цементирования.
Результатом работы программы является оптимизированный план работ на технологический процесс цементирования, который обеспечивает:
- высокое качество цементирования вследствие более полного замещения бурового раствора цементным за счет
- поддержания турбулентного или пробкового режима течения цементного раствора в зоне цементирования;
- исключение осложнений, связанных с технологическим режимом крепления ствола скважины.
Выходными данными программы являются технологические карты, оформленные в соответствии с требованиями действующих стандартов.
Drillbench - программный комплекс для численного моделирования и сопровождения процесса строительства нефтяных скважин [9].
Этот программный продукт имеет модульную структуру и состоит из независимых модулей, объединённых единым форматом хранения моделей и библиотеками флюидов и инструмента. Модели, созданные в одном модуле, могут быть загружены в другой и с минимальными дополнениями использованы для расчётов других показателей.
В состав Drillbench входят следующие модули:
- Presmod и Hydraulics предназначены для моделирования процесса промывки скважины: Presmod -- в динамическом (с течением времени), Hydraulics - в статическом (для заданного момента времени) режиме.
- Cemcalc -- модуль для моделирования процесса цементирования.
- Kick -- модуль, позволяющий реалистично моделировать газонефтеводопроявления (ГНВП) и поглощения в скважинах любой сложности.
- DynaFlodrill и SteadyFlodrill -- это, соответственно, динамический и статический симуляторы для моделирования процесса бурения на депрессии.
- FrictionMaster и Critical -- статические модули для механического расчёта колонн, соответственно, замковых и гибких труб.
Модуль Cemcalc производит построение множества графиков и диаграмм для отображения уровней закачки различных жидкостей в цементируемую скважину и отображения уровней жидкостей в предназначенных для их хранения емкостях.
К уникальным способностям данного программного продукта относят то, что во-первых, Drillbench -- это не «буровой калькулятор», а трёхмерный гидродинамический симулятор процесса бурения. А во-вторых, Drillbench -- единственный на данный момент программный продукт для бурения, который позволяет учитывать пространственный теплоперенос в скважине и динамически оценивать влияние температурного режима в скважине на реологические и объёмные показатели флюидов. Из названия программного комплекса ясно, что он ориентирован в первую очередь на моделирование такой стадии строительства скважины, как бурение (drill с английского -- бурить).
Произведя анализ и сравнение описанных системы, можно сделать вывод, что в своем функциональном наборе эти программные комплексы ограничиваются проведением проектного расчета и построения чертежей, не имея функций построения модели скважины, процессов, происходящих при ее строительстве, что не дает возможности пользователю наглядно оценить результаты своей работы, за исключением программного комплекса Drillbench, однако, он ориентирован на автоматизацию другой стадии строительства скважин, нежели той, которая предусмотрена темой дипломной работы.
В данной работе предлагается создание автоматизированной системы, которая будет производить моделирование такого этапа строительства нефтяной скважины, как цементирование и протекающих при этом гидродинамических процессов, с предоставлением визуальной анимированной динамической модели.
Основными требованиями, предъявляемыми к компьютерной модели различных стадий процесса строительства скважин, являются:
- адекватное отражение происходящих физических процессов;
- возможность моделирования крупных объектов (участков или скважины в целом);
- модульный принцип построения, позволяющий наращивать существующие модели дополнительными блоками и т.п.
Задача автоматизации расчетов и моделирования гидродинамических процессов в обсадной колонне и затрубном пространстве при цементировании нефтяных скважин является актуальной ввиду отсутствия ее достаточной проработки и реализации. Кроме того, такая автоматизация предоставляет следующие преимущества:
- сокращение времени проведения расчетов;
- повышение качества и точности расчетов;
- простота корректировки данных на любом этапе расчета;
- предоставление результатов и отчетов в удобной форме для пользователя и в формах, определенных стандартами и техническими кодексами, и, вместе с тем, минимизация затрат времени на ведение документации;
- динамическая визуальная демонстрация процесса выполнения строительных работ.
Исходя из указанных выше преимуществ и формируется постановка задачи на проектирование системы компьютерного моделирования процесса цементирования обсадных колонн нефтяных скважин, которая, помимо непосредственно основного блока моделирования, должна также содержать мощный аппарат проектного расчета, выполняющий всю подготовительную работу по вычислению исходных данных с возможностью их многократной корректировки.
1.3 Обзор инструментария проектирования программного комплекса по автоматизации расчета гидродинамики цементирования скважин
Microsoft Windows -- операционная система (ОС), в которой будет эксплуатироваться разрабатываемая программа. Она предоставляет пользователям оболочку графического интерфейса (GUI -- Graphic User Interface), которая обеспечивает стандартную среду пользователя и программиста [10]. GUI предлагает более сложное и дружелюбное окружение пользователя, чем, например, командно-управляемый интерфейс MS-DOS и др. Работа в Windows основана на интуитивно понятных принципах, ориентированных в первую очередь на конечного пользователя. Здесь легко переключиться с задачи на задачу и осуществлять обмен информацией между ними благодаря поддерживаемому принципу многозадачности, возможности организации распределенных вычислений и пр.
В настоящее время существует и активно применяется программистами множество языков и сред программирования для создания программ (от небольших до разветвленных комплексов) для ОС Windows. Причин такому разнообразию множество: различные технологии создания ПО, прикладная направленность языков программирования для разнообразных сфер применения, и, несомненно, большое число авторов языков программирования и конкуренция между ними. Так язык С++ предназначен для программирования системных приложений, С# и Java -- некоторых пользовательских классов и наиболее широко применяются для платформы .Net, Delphi, Perl и Python -- для прикладного ПО. Существует мнение, что хорошие программы пишутся сразу на нескольких языках, однако, в рамках данной дипломной работы стоит задача проанализировать доступные средства разработки программного обеспечения для ОС Windows и выбрать среди них ту, на которой будет осуществляться реализация поставленной задачи. Приоритет следует отдать языкам, предоставляющим возможности объектно-ориентированного программирования (ООП). К таким языкам относят следующие:
- Borland Delphi;
- C#;
- Java.
Все эти языки программирования имеют как свои преимущества, в основном заключающиеся в простоте и особенностях построения программ и пользовательских интерфейсов, так и недостатки: отсутствие достаточного количества документированной справки, необходимость в обращении к вспомогательным средам разработки для программирования нестандартных решений, сложности во взаимодействии с базами данных и другие.
Далее производится краткое описание перечисленных языков программирования, с указанием на их наиболее важные преимущества перед остальными и недостатки.
Borland Delphi -- это скорее среда программирования, чем язык. Delphi принадлежит к классу нестандартных языков, представляющих собой традиционные (процедурные или функциональные) языки, дополненные средствами ООП [11]. В основе Delphi лежит развитый объектно-ориентированный язык Object Pascal (позже переименованный в Delphi) и уникальные по своей простоте и мощи средства доступа к базам данных. Delphi обеспечивает визуальное проектирование пользовательского интерфейса позволяет легко создавать собственные компоненты и строить из них профессиональные программы.
Благодаря имеющимся средствам визуальной разработки Delphi позволяет работать с объектами, всегда доступными в поле зрения для контроля за изменением их состояния, получая результаты практически мгновенно. Размещение объектов в Delphi связано с более тесными отношениями между объектами и реальным программным кодом. Объекты помещаются на форму, при этом код, отвечающий объектам, автоматически записывается в исходный файл. Этот код компилируется, обеспечивая существенно более высокую производительность, чем визуальная среда, которая интерпретирует информацию лишь в ходе исполнения программы.
Синтаксис Delphi является более громоздким и прямолинейным, чем синтаксис многих других языков программирования, использующих специальные символы. Однако, при написании программы в последних версиях Delphi необходимые операторы вставляются в программу автоматически, т.е. нет необходимости тратить время на набор их вручную и при этом сохраняется наилучшая читабельность кода написанной программы, поскольку операторы языка, обозначения типов данных, процедур, методов, функций, в большинстве своем, представляют собой слова английского языка.
Delphi не использует байт-код, а компилирует исходный текст программы в машинный код, что обеспечивает платформенную независимость создаваемого ПО.
Написанные на Delphi программы требуют для исполнения по оценке экспертов меньше виртуальной памяти в сравнении с программами, написанными на других распространенных языках программирования, но, при этом, занимают больше дискового пространства.
К преимуществам Delphi, которые крайне важны при реализации поставленной задачи в рамках данной дипломной работы, можно отнести:
- Delphi позволяет с разной степенью сложности использовать все технологические стандарты, имеющиеся в ОС Windows: DDE, VBX, OLE, OCX, OpenDoc и др.;
- обеспечивается наращиваемость за счет встраивания новых компонент и инструментов в среду Delphi, в том числе имеется возможность разработки новых компонент и инструментов собственными средствами;
- удачная проработка иерархии объектов;
- большое количество визуальных компонентов сторонних разработчиков как на бесплатной, так и на платной основах.
C# -- объектно-ориентированный язык разработки приложений для платформы Microsoft .NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270 [12]. Компилятор C# входит в стандартную установку .NET Framework для OC Windows. C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, т.е. большинство возможностей для работы с объектами (классами и их экземплярами), которые поддерживают большинство современных языков программирования.
C# разрабатывался в компании Microsoft как язык программирования прикладного уровня для общеязыковой исполняющей среды (CLR -- Common Language Runtime) пакета Microsoft .NET Framework и, как таковой, зависит, прежде всего, от возможностей самой CLR. Присутствие или отсутствие тех или иных выразительных особенностей языка диктуется тем, может ли конкретная языковая особенность быть транслирована в соответствующие конструкции CLR определенной версии, т.е. возможность для программиста применения тех или иных возможностей языка C# зависит от версии надстройки .NET, установленной у него или у пользователя.
Язык C# обладает набором усовершенствованных удобных операторов, отсутствующих в других языках, например оператор цикла foreach, благодаря использованию которого при переборе некоторого набора данных значительно сокращается объем кода программы. Имеются также возможность передачи параметров в метод по ссылке, автоматического преобразование встроенных типов в объекты при необходимости, методы с переменным числом параметров и другое. Все это, несомненно, добавляет положительных баллов языку C#, но, при этом, может рассматриваться лишь как дополнительное удобство для программиста, а не значительное преимущество данного языка по сравнению с другими.
Еще одним преимуществом языка C# до недавнего времени была современная интерактивная среда разработки Microsoft Visual Studio, но последние версии других современных языков программирования (Java, Delphi) переняли опыт Microsoft усовершенствовав свои среду разработки.
К преимуществам языка C# можно отнести также следующие:
- возможность создавать хранимые процедуры, триггеры и даже типы данных на платформе .Net;
- поддержка 64-разрядных вычислений, что кроме всего прочего, позволяет увеличить адресное пространство и использовать 64-разрядные примитивные типы данных;
- использование обобщённых или параметризованных типов, работающих на уровне виртуальной машины;
- использование анонимных методов, обеспечивающих функциональность замыкания.
К недостаткам языка программирования C# можно отнести следующие:
- C# не поддерживает множественное наследование классов
- для C# основной библиотекой, реализующей графический интерфейс пользователя в настольных приложениях, является Windows.Forms, принадлежащая Microsoft и реализованная только для Windows, их перенос на другую платформу становится затруднительным.
- сложность работы с бинарными файлами.
Язык программирования Java имеет довольно много сходств с языком C# -- это два очень похожих между собой современных языка с функциями динамического удаления неиспользуемых экземпляров классов и компиляцией при выполнении с C-подобным синтаксисом. В основном отличия представлены в синтаксисе, некоторых аспектах механизма работы с динамическими данными, используемых типов данных, порядке обработки событий, перегрузке операций, исключениях и расположении исходного текста в файлах.
Java старше, чем C# и построена на большой и активной пользовательской базе и стал общепринятым языком, используемым во многих современных областях информатики, особенно таких, где задействованы сети. Зрелость и популярность языка Java привели к появлению большого числа открытых библиотек.
В отношении Java можно услышать критику, что этот язык программирования медленно развивается, в нем не хватает некоторых возможностей, которые облегчают модные шаблоны программирования и методологии. Язык C# критикуют в том, что его разработчики, возможно, слишком спешат угодить сиюминутным течениям в программировании ценой фокусировки и простоты языка. Очевидно, проектировщики Java заняли более консервативную позицию по добавлению крупных новых возможностей в его синтаксис, чем в других современных языках -- возможно, не желая привязать язык к течениям, которые в долгосрочной перспективе могут потерять свою актуальность.
Что же касается разработки прикладных программ с привычным интерфейсом для ОС Windows, то в силу особенностей языка ручное использование графических библиотек Java несколько более затруднительно, чем в Delphi и C#. Архитектура графических библиотек Java более сложна для понимания разработчика.
Подготовительным этапом в разработке любой программы является проработка ее функциональной модели. В настоящее время существует общепринятый стандарт, именуемый IDEF0, для передачи информации о конкретной системе средствами графического языка.
Методология IDEF0 предписывает построение иерархической системы диаграмм -- единичных описаний фрагментов системы [13]. Сначала проводится описание системы в целом и ее взаимодействия с окружающим миром (контекстная диаграмма), после чего проводится функциональная декомпозиция -- система разбивается на подсистемы и каждая подсистема описывается отдельно (диаграммы декомпозиции). Затем каждая подсистема разбивается на более мелкие и так далее до достижения нужной степени подробности.
Каждая IDEF0-диаграмма содержит блоки и дуги. Блоки изображают функции моделируемой системы, дуги, в свою очередь, связывают блоки вместе и отображают взаимодействия и взаимосвязи между ними. Функциональные блоки на диаграммах изображаются прямоугольниками, означающими поименованные процессы, функции или задачи, которые происходят в течение определенного времени и имеют распознаваемые результаты. Каждая сторона блока имеет особое, вполне определенное назначение. Левая сторона блока предназначена для входов, верхняя -- для управления, правая -- для выходов, нижняя -- для механизмов. Такое обозначение отражает определенные системные принципы: входы преобразуются в выходы, управление ограничивает или предписывает условия выполнения преобразований, механизмы показывают, что и как выполняет функция.
Взаимодействие работ с внешним миром и между собой описывается в виде однонаправленных стрелок (дуг), при этом предполагается, что стрелка несет в себе некую информацию определенного характера: информацию или управляющий сигнал.
Необходимо отметить, что любой функциональный блок по требованиям стандарта должен иметь по крайней мере одну управляющую интерфейсную дугу и одну исходящую. Это и понятно -- каждый процесс должен происходить по каким-то правилам (отображаемым управляющей дугой) и должен выдавать некоторый результат (выходящая дуга), иначе его рассмотрение не имеет никакого смысла. Обязательное наличие управляющих интерфейсных дуг является одним из главных отличий стандарта IDEF0 от других методологий классов DFD (Data Flow Diagram) и WFD (Work Flow Diagram).
Специализированным средством создания IDEF0-диаграмм является BPWin, признанная лучшим средством в своем классе. Модель в BPWin рассматривается как совокупность работ, каждая из которых оперирует с некоторым набором данных. Большим преимуществом BPWin по сравнению с другими изобразительными средствами данного класса является то, что при построении иерархических диаграмм потоки родительской диаграммы, входящие в дочернюю, автоматически переносятся туда. И, наоборот, выходящие из дочерней, сразу отображаются в родительской. Если в родительской диаграмме удалить дугу, то в дочерней ее вход заключается в скобки. Это очень удобно, так как позволяет отслеживать потоки между уровнями. Кроме того, BPWin формирует депозитарий информационных потоков и функций, что позволяет избежать двойственности понятий при обозначении одних и тех же данных, средств управления и источников разными наименованиями. С помощью BPWin предоставляет возможность изобразить дерево функций. Это делается автоматически и не требует усилий.
Произведя анализ рассмотренных выше наиболее распространенных и развитых систем программирования для ОС Windows, можно сделать вывод о явных преимуществах языка Delphi по сравнению с остальными, т.к. он наиболее прост в использовании, имеет достаточный для выполнения данной дипломной работы набор компонентов, средств, методов, исходных библиотек, а при отсутствии необходимых позволяет создавать собственные, предоставляет полную документальную поддержку и пр. А наиболее весомым преимуществом является то, что среда разработки Turbo Delphi 2006 Explorer является бесплатной, также имеется большой набор бесплатных компонентов для визуализации моделей, построения графиков, формирования и подготовки отчетов.
2. ФУНКЦИОНАЛЬНОЕ И МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ СИСТЕМЫ АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ
2.1 Функциональная модель задачи автоматизации проектирования гидродинамики при строительстве скважин
Первым этапом в создании компьютерной системы автоматизации проектирования гидродинамики цементирования нефтяных скважин является разработка ее функциональной модели, которая включает следующие основные компоненты:
- расчет параметров скважины;
- расчет параметров цементирования;
- расчет количества и режимов работы цементно-смесительных машин и цементировочных агрегатов;
- расчет гидродинамики цементирования;
- динамическое визуальное моделирование процесса цементирования обсадных колонн нефтяных скважин.
Каждый компонент функционирует самостоятельно. Работа системы -- поступательная последовательная разнонаправленная. Это значит, что информация, полученная в результате одного расчета используется как входная информация для последующего, при этом должна быть предусмотрена возможность возврата на необходимую стадию с корректировкой данных и повторным расчетом.
Для отражения очередности функционирования, управления и взаимосвязи перечисленных компонент укрупненная функциональная модель создана в нотации семейства IDEF. Она показывает, каким образом выходные данные вычисляются по входным данным, не рассматривая порядок и способ реализации вычислений.
Первый верхний уровень функциональной модели разрабатываемого программного комплекса представлен контекстной диаграммой системы, которая приведена на рисунке 2.1. Она представляет собой самое общее описание системы и ее взаимодействия с внешней средой.
Здесь в качестве входных исходных данных выступают информация о цементируемой скважине и справочные данные о закачиваемых в нее флюидов, а также оборудованию, осуществляющему выполнение технологического процесса. Выходная информация системы представляется в двух видах:
- числовая и текстовая: результаты проведенных расчетов;
- графическая: компьютерная динамическая модель.
К качестве управляющей информации служит техническое задание на проектирование, требования которого обязательны для соблюдения, технические нормативно-правовые акты и утвержденные методики расчета. Исполнителем, управляющим работой системы и использующим получаемые результаты является инженер-проектировщик.
Для дальнейшего анализа функциональной модели задачи автоматизации проектирования гидродинамики при строительстве скважин необходимо произвести декомпозицию контекстной диаграммы, описав последовательность функционирования разрабатываемого программного обеспечения. В результате становится возможным построить диаграмму декомпозиции, представленную на рисунке 2.2, которая описывает каждый фрагмент системы, полученный в результате функциональной декомпозиции, и их взаимодействие.
На рисунке 2.2 видны направления потоков информации, связывающие весь функционал программного комплекса, а так же процессы, которые происходят в системе, механизмы управления и преобразуемые сущности. Таким образом, подтвердилось предположение о принципе работы системы, заключающемся в жесткой последовательности выполнения действий.
Дальнейшей декомпозиции подвергается блок расчета параметров цементирования, IDEF0-диаграмма которого представлена на рисунке 2.3.
Блок расчета параметров цементирования включает в себя расчет параметров скважины, включая определение коэффициента аномальности, расчет параметров буферной жидкости, бурового, тампонажного и продавочного растворов. После выполнения указанных действий программный комплекс переходит в следующий режим работы по расчету гидродинамики цементирования. Это очередной блок, диаграмма декомпозиции которого приведена на рисунке 2.4.
На этом этапе работы программы производится выбор цементосмесительных и цементировочных агрегатов, далее автоматически осуществляется определение оптимальных диаметров втулок, после чего рассчитываются режимы работы агрегатов и гидродинамические параметры закачиваемых в скважину жидкостей.
Финальной стадией работы программы является построение динамической модели на основе ранее рассчитанных параметров.
2.2 Математическая модель гидродинамических процессов при цементировании нефтяных скважин
Конечная цель строительства скважины -- создание долговечного герметичного канала, связывающего продуктивный горизонт с дневной поверхностью [14]. Решающее значение при креплении скважины, как одного из этапов ее строительства, играют жидкости и тампонажные растворы, участвующие в этом процессе, а также динамика протекания процесса цементирования. Чтобы безаварийно и грамотно проводить технологические процессы крепления, нужно провести серьезную трудоемкую работу по гидродинамическому расчету процесса цементирования.
Существует множество методик проведения таких расчетов, однако, несмотря на некоторые различия, они также обладают рядом общих принципов.
Различия в методиках обусловлены следующими причинами:
- каждая методика расчета подходит для конкретного способа цементирования скважины (а их, к слову, большое множество);
- при расчетах учитываются специфика и характеристики приспособлений для выполнения работ;
- различные методики применяются расчета цементирования различных типов скважин (тангенциальных, S-образных, J-образных);
- выбор методики зависит от вида обсадной колонны, для которой ведется расчет (кондуктор, промежуточная, эксплуатационная).
Схожесть, в свою очередь, обусловлена тем, что:
- все способы цементирования имеют одну цель -- вытеснить буровой раствор тампонажным из затрубного пространства скважины и поднять последний на заданную высоту, заполнив затрубное пространство и образовав там цементный камень;
- вне зависимости от способа цементирования, оно осуществляется с применением того же набора материалов и основного оборудования;
- схожесть этапов технологического процесса цементирования;
- схожесть учитываемых факторов, от которых зависит успех: геологических, технико-технологических, субъективных и пр.
Различными авторами предложен ряд методов расчета цементирования скважин. Применяемые методики расчета излагаются в одной и той же последовательности и предусматрива.т определение [1]:
- потребного количества цементного раствора, цемента и воды для приготовления раствора;
- потребного количества бурового раствора для продавки цементного раствора в затрубное пространство;
- давления на головке колонны к моменту окончания цементирования;
- количества цементного и бурового растворов, закачиваемых на различных скоростях агрегата;
- времени, потребного на цементирование скважины, а также количества агрегатов и цементосмесительных машин.
В целом, расчет протекающих процессов при цементировании нефтяных скважин состоит из двух этапов:
- расчет цементирования;
- гидродинамический расчет.
Расчет цементирования состоит из большого числа элементов, одним из основных является оптимальный выбор режимов работы цементировочных агрегатов и цементно-смесительных машин. Для каждого агрегата подбираются его тип, скорость работы на каждом этапе цементирования, производительность м.куб./мин. Далее выстраивается последовательность работы машин, которая является основой для проведения гидродинамического расчета.
Основная задача гидродинамического расчета -- построение графиков зависимости динамики продвижения нагнетаемых в скважину жидкостей в колонне и затрубном пространстве от времени.
В результате становится возможным определение момента времени, в который любой из видов жидкости и цемента будет находиться на определенной высоте в затрубном пространстве, а также высоту, на которую поднимаются цементный раствор и жидкости в момент закачки (прямая и обратная задачи).
При проведении расчетов обычно принимается ряд допущений, таких как:
- считается, что внутренний диаметр цементируемой колонны постоянный, либо рассчитывается как средний из диаметров всех его участков;
- принимается постоянным диаметр скважины, равный диаметру долота, производившего бурение и пр.
Начальным этапом расчета является расчет профиля скважины и опущенной в нее обсадной колонны.
Исходным данными для построения профиля скважины являются:
- глубина проектного забоя;
- отклонение проектного забоя от вертикали, проходящей через устье скважины;
- азимут цели по отношению к устью;
- данные о длине, форме, кривизне и прочих параметров каждого интервала скважины.
Для наиболее распространенной тангенциальной скважины, состоящей из трех участков -- вертикального, набора зенитного угла и наклонного прямолинейного, необходимое значение максимального зенитного угла находят по формуле [15]:
, (2.1)
где R -- радиус искривления второго участка ствола, м;
А -- смещение забоя от вертикали, м;
H -- интервал глубин по вертикали второго и третьего участков ствола скважины, м.
Координаты точек окружности, описывающей второй участок скважины удовлетворяют следующей системе уравнений:
, (2.2)
где Hв -- длина вертикального участка скважины.
Воспользовавшись этими формулами можно произвести расчет профиля скважины и определить траекторию движения жидкостей.
следующие значения:
1) Объем Vц.р. цементного раствора, подлежащего закачке в скважину по формуле:
, (2.3)
где k' -- коэффициент, учитывающий увеличение объема скважины за счет образования каверн, трещин и пр. (значение его колеблется в пределах от 1,05 до 1,3);
DД, DН, dвн -- соответственно диаметр долота, наружный и внутренний диаметр колонны, мм;
Hц.р. -- высота подъема цементного раствора за колонной, м;
h -- высота цементного стакана, м.
2) Потребное количество сухого цемента рассчитывается по формуле:
, (2.4)
где W -- водоцементное соотношение;
ц.р. -- удельный вес цементного раствора.
3) Потребное количество воды для затворения цемента определяется по формуле:
. (2.5)
4) Объем продавочной жидкости вычисляется по формуле:
, (2.6)
где FT -- площадь внутреннего сечения обсадной колонны, м2;
L -- длина колонны, м.
5) Давление на головке колонны в конце цементирования.
Значение давления, которое должен преодолеть насос цементировочного агрегата, состоит из двух значений:
. (2.7)
где p -- давление, затрачиваемое на преодоление разности удельных весов и столбов глинистого и цементного раствора в колонне и затрубном пространстве;
pr -- давление, затрачиваемое на преодоление гидравлических сопротивлений.
Так как в скважине при цементировании движутся различные жидкости, то обычные формулы трубной гидравлики неприемлемы, поэтому пользуются эмпирическими формулами.
При работе одного или двух цементировочных агрегатов давление, затрачиваемое на преодоление гидравлических сопротивлений определяется по формуле
, (2.8)
а при работе трех и более агрегатов -- по формуле
. (2.9)
Значение p при определяется по формуле [16]:
, (2.10)
где -- удельный вес глинистого раствора в колонне;
-- удельный вес глинистого раствора в затрубном пространстве.
Если , то второй член уравнения (2.10) равен нулю, т.е.
. (2.11)
6) По значению pк выбирают цементировочный агрегат.
7) Количество жидкости, закачиваемой на различных скоростях агрегата:
а) для многих случаев при максимальном значении pIV давления, допускаемого при работе агрегата на IV скорости, (при pIV > pr) весь цементный раствор может быть закачан на этой скорости, а если pIV < pr, то столб цементного раствора, который должен быть закачан на скорости III до переключения агрегата на скорость IV, может быть определен по формуле
; (2.12)
б) высоты столбов глинистого раствора, которые могут быть закачаны при работе агрегата на различных скоростях:
, (2.13)
где Fк -- площадь кольцевого пространства скважины с учетом увеличения объема за счет каверн;
в) количество жидкости, закачиваемой на различных скоростях агрегата:
. (2.14)
8) Время цементирования при условии работы одного цементировочного агрегата определяется по формуле:
, (2.15)
где tIV, tIII, tII, tI -- время работы агрегата на скоростях IV, III, II, I соответственно, которые рассчитываются по следующим формулам:
; (2.16)
; (2.17)
; (2.18)
, (2.19)
где qIV, qIII, qII, qI -- производительность агрегата на скоростях IV, III, II, I соответственно.
9) Потребное количество цементно-смесительных машин вычисляется по двум формулам исходя из различных подходов к определению этого числа:
а) по грузоподъемности:
, (2.20)
где GМ -- емкость бункера одной цементно-смесительной машины;
б) по производительности:
, (2.21)
где -- суммарная производительность всех агрегатов при работе на высшей скорости;
qМ -- максимальная производительность одной цементно-смесительной машины.
Число цементно-смесительных машин, также как и число агрегатов, принимается большим из полученных при двух вариантах подсчета.
После проведения расчетов подготовки процесса цементирования, выбора агрегатов, которые будут его выполнять, режимов их работы, параметров применяемых материалов и пр., следует расчет гидродинамики цементирования -- процесса прохождения жидкостей по скважине во внутритрубном в затрубном пространствах.
Охарактеризуем соотношения, которые применяются для расчета этого процесса.
Рассмотрим момент цементирования, когда уровни цементного раствора в колонне и за колонной выровнялись. К этому моменту в колонну закачано уже некоторое количество глинистого раствора. В момент выравнивания уровней цементного раствора в скважине давление на головке колонны, которое должен преодолеть насос, равно [17]:
а) давлению на преодоление гидравлических сопротивлений pr, которое определяется заранее -- при одинаковом удельном весе глинистого раствора в колонне и за колонной (т.е. );
б) некоторому давлению, определяемому по формуле (2.22) при неодинаковом удельном весе глинистого раствора (т.е. ).
, (2.22)
где l0 -- высота столба глинистого раствора над верхней пробкой.
При дальнейшей закачке глинистого раствора в колонну его высота столба в колонне будет увеличиваться, цементного раствора -- уменьшаться, а в кольцевом пространстве -- возрастать. Давление на головке колонны будет возрастать за счет создания разности высот столбов цементного и глинистого растворов в колонне и заколонном пространстве. Давление на головке колонны будет увеличиваться пропорционально снижению уровня цементного раствора в колонне (при условии постоянного внутреннего диаметра колонны и постоянного диаметра скважины), т.е. пропорционально повышению столба глинистого раствора над верхней пробкой [18].
Исходя из этого, можно составить уравнение для любого промежуточного момента цементирования.
При увеличении высоты столба глинистого раствора в колонне от l0 до l -- давление на головке колонны возрастает от p0 (pr) до p, т.е.
. (2.23)
или
. (2.24)
Из уравнений (2.23) и (2.24) может быть определено значение l при и при заданном p:
, (2.25)
а при получаем:
, (2.26)
В формулах (2.23 - 2.26): a1 -- коэффициент пропорциональности, показывающий на сколько метров должен увеличиться столб глинистого раствора над верхней пробкой, чтобы давление на головке колонны возросло на 1 кг/см2. Значение этого коэффициента может быть определено при использовании конечных значений p и l, исходя из следующих рассуждений: при увеличении столба глинистого раствора в колонне от l0 до lк (это время окончания цементирования) давление на головке колонны возрастает от p0 до pк. Подставив в уравнение (2.25) pк вместо p и lк вместо l, и решив уравнение относительно a1, получим:
. (2.27)
Исходя из равенства столбов глинистого и цементного растворов, заменяем разность столбов глинистого раствора разностью столбов цементного раствора.
. (2.28)
После подстановки и при условии получаем уравнение для нахождения коэффициента a1:
Подобные документы
Методы концептуального, логического и физического проектирования баз данных для автоматизации работы объекта. Обследование предметной области; тестирование и реализация информационного и программного обеспечения. Подготовка конструкторской документации.
курсовая работа [4,0 M], добавлен 16.05.2012Разработка программного обеспечения для управления базой данных. Место задачи в системе автоматизации. Семантическое моделирование данных. Разработка программного обеспечения и базы данных. Расчет трудоемкости и себестоимости этапов проектирования.
дипломная работа [2,9 M], добавлен 04.02.2016Схемы взаимодействия между заказчиком и разработчиком программного обеспечения. Качество программного обеспечения и определение основных критериев его оценка на современном этапе, особенности управления на стадиях жизненного цикла, анализ достаточности.
презентация [114,7 K], добавлен 14.08.2013Обоснование необходимости систем управления базами данных на предприятиях. Особенности разработки программного обеспечения по управлению базой данных, обеспечивающего просмотр, редактирование, вставку записей базы данных, формирование запросов и отчетов.
курсовая работа [1,5 M], добавлен 23.01.2010Понятие технологии разработки программы. Основа проектирования программного обеспечения. Модели жизненного цикла, возникшие исторически в ходе развития теории проектирования программного обеспечения. Спиральная (spiral), каскадная и итерационная модели.
презентация [1,0 M], добавлен 11.05.2015Цели и задачи программной инженерии. Понятие программного обеспечения. Шесть принципов эффективного использования программного обеспечения. Виды программного обеспечения: общесистемное, сетевое и прикладное. Принципы построения программного обеспечения.
курсовая работа [30,4 K], добавлен 29.06.2010Порядок проектирования и разработки базы данных и программного обеспечения. Информация о структуре базы данных, созданных таблицах, формах, отчетах, запросах, хранимой информации. Логическая и концептуальная модели данных; выбор программного обеспечения.
курсовая работа [906,6 K], добавлен 20.01.2010Создание базы данных в СУБД ACCESS для автоматизации работы служащих аэропорта, этапы проектирования реляционной БД. Построение инфологической модели ПО. Разработка средств обеспечения безопасности данных; функциональное назначение программного средства.
курсовая работа [3,8 M], добавлен 25.06.2011Порядок автоматизации расчетов себестоимости и длительности программного обеспечения производственного предприятия. Выбор языка программирования и системы управления базами данных. Разработка алгоритмов расчета себестоимости программного обеспечения.
дипломная работа [1,7 M], добавлен 13.06.2017Структура и классификация систем автоматизированного проектирования. Виды обеспечения САПР. Описание систем тяжелого, среднего и легкого классов. Состав и функциональное назначение программного обеспечения, основные принципы его проектирования в САПР.
курсовая работа [37,7 K], добавлен 18.07.2012