0
Фев 10
Поставил себе задачу разобраться с гидродинамическим моделированием в симуляторах. Собсбвенно, образование геологическое, никаких предметов по разработке не было. Гидродинамика только поверхностно.
Товарищи по цеху, подскажите пожайста
- с чего начать обучение?
- какие книжки, статьи, лекции и курсы почитать перед тем как приступать к мануалам и курсам по гидродиническим симуляторам?
- на что стоит обратить внимание, а что не столь полезно?
- какие параметры залежи изучить по подробнее и т.п.?
Опубликовано
05 Фев 2010
Активность
29
ответов
6504
просмотра
16
участников
0
Рейтинг
начни с того, что установи себе гидродинамический симулятор, найди и изучи в нем хелп и примеры
Могу посоветовать следующее:
1) Пролистать учебник по разработке, например Желтова, почитать про основные принципы разработки и обязательно про основы теории многофазной фильтрации
2) Бегло прочитать книжку Каневской "Математическое моделирование гидромеханических процессов разработки месторождений углеводородов" - при первом прочтении стоит обратить особое внимание на требуемые исходные данные
3) Первые два пункта лучше совмещать с выполнением туториалов для симулятора, постепенно начнут возникать вопросы которые будут перекликаться с тем, что ты будешь читать в книжках
4) Не стоит сильно углубляться в численные схемы, но лучше уяснить основные принципы дискретизации уравнений для пласта и различия явной и неявной численных схем (есть в Каневской, хотя и не очень хорошо написано)
Ну вот, в принципе, то с чего надо начинать
Первое что надо сделать - это прочитать книгу по основам Reservoir Engineering, чтобы понимать , что ты "симулируешь",
а потом уже тыкать кнопки в проге.
В противном случае - на вопросы, почему такой результат получился, будет ответ "а это прога посчитала, это правлиьно, ведь прога не ошибается"
Мне кажется можно начинать с теории фильтрации, а лучше с теории притока к скважине.
К примеру Бузинова С.Н. книга хороша. Потом методом повторения примеров в книге ручками
в екселе посчитать по уравнениям скважину - пласт.
Потом поставить задачу матчинга данных по логам с обработки и ГДИ. Уже неплохой курс.
Потом поробовать прочитать Дейка + Кричлоу, а потом уже Каневскую.
А чтобы комплексно закрепить неплохо ознакомитсья детально с Максимовым М.И. Геологические основы разработки нефтяных месторождений.
но, это - уже лично мой рецепт...
Я бы начал с Басниева - Подземная гидромеханика.
Если нужно - скину.
Коллеги! очень большая просьба поделиться книгами которые могут действительно помочь в познании гидродинамического моделирования. Перечисленные выше учебники мне бы очень пригодились ! или может кто знает где их можно найти в сети ?
Кто-нибудь может полностью описать процесс моделирования?
Как всё происходит?
Откуда берутся входные данные и куда они вносятся?
Где выполняется рассчет и как происходит запуск?
Каковы средние масштабы рассчетов (время счета)?
Каков примерный объем выходных файлов и что они из себя представляют?
Как происходит визуализация результата?
и трудоемкий ли это процесс(визуализация)?
а дальше что?
Желательно на примере какого-нибудь ГД пакета, типа Eclipse, Moar и т.д.
ппц у вас вопросы, это ж книгу можно написать
В общем для начала моделирования нужно усвоить - закон дарси, PVT свойства нефти воды и газа, азы геологии ( а лучше не азы), мат. баланс, понять откуда берутся уравнения в моделировании и как численно они решаются.
Успехов вам! )
Особенно если туда еще обзор и сравнение всех современных симуляторов заложить...
Напишем? )))
для моделирования надо созреть.. так сказать дорасти головой.. т.к. что бы понимать эти заумные книжки.. нужна светлая голова желательно с промысловым опытом работы, что бы всякую фигню не получать в результате расчетов
2V.Volkov:
Спасибо Вам большое за ответ!
Теперь в моей голове сложилось образное представление о ГД моделировании.
Мои вопросы не преследуют цель стать первоклассным специалистом в области моделирования. У меня другая область деятельности, связанная с Grid-технологиями (не путать с сеткой моделируемой области в симуляторах).
Я хочу понять, что из себя представляет работа модельера, какие ставятся перед ним задачи и с какими неудобствами он сталкивается в процессе моделирования.
Под неудобствами понимается не специализированные трудности (типа сложность подбора модельных параметров или расхождение с историей), а неудобства программно-аппаратного характера, связанные с процессом запуска модели на кластере, временем ожидания, мониторингом состояния считающейся модели, получением и визуализацией результатов и т.д. и т.п.
Хочу разработать систему (назовём её грид), которая максимально облегчит работу специалистов в области моделирования.
Пример:
Специалист создал модель. Всё что ему необходимо сделать, так это бросить эту модель в грид и...
-не мучаться от того, что его машина загружена на 99%; система отправит модель на кластер
-не беспокоиться о том, на каком кластере считается его модель; система сама сделает выбор и поставит модель на счет
-не проверять периодически состояние вычислений; система сама уведомит об окончании счета
-не рыться в хранилище кластера в поисках результатов; система сама загрузит результаты на его машину
-...
Но чтобы начинать что-то подобное разрабатывать необходимо выяснить, какие технические неудобства могут возникать у специалистов??
Кстати, а как у симуляторов обстоят дела с параллельными расчетами??
Я читал, что у Eclipse имеется существенный участок кода, который не поддается распараллеливанию, поэтому существует верхний порог количества ядер, перешагивая который мы снижаем эффективность параллельного счета.
На кластере не работаю.
Не вижу смысла заниматься написанием такой системы. Задача "максимально облегчить работу специалиста" этой системой не решается.
"Процесс запуска", "мониторинг состояния", "получение", "визуализация" - меня конечно поправят, но это не проблема. Тем более у вас нет опыта "визуализации", писать что-то не имея опыта моделирования...сомнительно. Вьюшек (говорят) много написано, сам пишу, все пишут!
А вот "время ожидания" есть проблема, но не в рамках вашей системы. Вы её не решите.
По-моему вы неправильно поняли человека. Он хочет сделать софт для расчетов в кластере. Там гидродинамику знать не надо. Такой грид вещь нужная. Только чем он будет отличаться от уже существующих? Ведь таких проектов уже много есть. Я сам не пользовался, но что-то слышал про Кондор, например.
То есть он хочет сделать софт, который берет все равно, какую как сказать, программу что-ли, и отсылает для расчета на кластер? Это я почитал описание Condor. Я ещё раз перечитал, и про распараллеливание и про визуализацию результатов расчета. Да, это сбило с толку. Я решил, что мальчик хочет написать гидродинамический симулятор для кластеров.
2DmitryB
Condor, как и прочие системы пакетной обработки заданий (например Torque или LoadLeveler) является кластерной системой управления. А грид - это географически распределенная система, которая управляет потоками заданий в кластерном окружении.
2RomanK
Я не хочу писать специализированное ПО для нефтяников, я хочу создать специализированную для нефтяников оболочку (грид-инфраструктуру), в которой будет функционировать их ПО на распределенных вычислительных ресурсах.
Я плохо объяснился, поэтому для лучшего понимания попробую описать саму задачу...
Имеется:
-организация (пусть будет, например, Газпром)
-множество географически распределенных вычислительных ресурсов (кластеры, например), принадлежащих Газпрому.
-множество ресурсоемких задач, возникающих у Газпрома
-множество специализированного ПО, предназначенное для решения упомянутых задач
-множество специалистов (работают на Газпром), которые с помощью упомянутого ПО решают упомянутые задачи с использованием каких-либо вычислительных ресурсов
(Задача) Предлагается создать инфраструктуру (грид), которая:
-объединит все кластеры Газпрома в единую аппаратно-программную среду.
-предоставит специалистам Газпрома простой и надежный доступ к вычислительным мощностям компании для решения ресурсоемких задач
-позволит специалистам запускать задачи на мощных вычислительных ресурсах из любой точки Земного шара (пусть то объект разработки, дача в Комарово или пробка в дороге на работу)
-позволит грппе удаленных друг от друга специалистов работать над одной задачей
-предоставит удобный инструментальный интерфейс
=================
Лирическое отступление:
Подобно тому, как в 80-х гг. CERN стал пионером в использовании Интернета, в 90-х гг. он же стал пионером в использовании Grid-технологий. В Россию интернет пришел в 90-х, а Grid-технологии в начале 2000 г. Без интернета сейчас трудно себе представить жизнь, Grid-технологиям также пророчат стать неотъемлемой частью общества.
Я не занимаюсь нумерологией))) просто смотрю на тенденцию развития IT за "бугром" ))
=================
Пример2 (простое описание):
1.Специалист подготовил задачу для запуска расчетов.
2.При отправке задачи в грид он указывает:
-какое ПО использовать для его задачи (обязательно)
-сколько использовать вычислительных ядер (опционально)
-любые другие требования к железу (опционально)
3.Нажимает на кнопку...
4.Грид из множества кластеров выбирает те, которые удовлетворяют заданным требованиям (наличие определенного ПО, кол-во ядер и т.д.). Далее из полученного подмножества грид выбрает наиболее разгруженный кластер и запускает задачу.
5.После расчетов грид возвращает результат на рабочее место специалиста и оповещает его об этом.
Что даст грид:
-равномерная загрузка всего вычислительного парка компании; не будет такого, что кластер в Новосибирске лопается от наплыва задач, а кластер в Екатеринбурге большую часть времени простаивает, чем считает
-географически распределенные специалисты смогут объединяться в виртуальную группу для совместной работы над одной задачей.
-остановка какого-либо кластера на обслуживание или ремонт не остановит работу специалистов.
-ускорение работы специалиста за счет того, что задачи будут считаться на высокопроизводительном оборудовании, а не на рабочем месте, загружая компьютер.
В России уже запустили подобный проект по созданию грид-инфраструктуры в области нанотехнологий. Но этот проект больше научный, чем промышленный.
В области нефтяной промышленности такого проекта в России пока не наблюдается.
За бугром существует проект PEgrid (Petroleum Engineering Grid), но насколько я понял, то он больше направлен на обучение бедных студентов средствами богатых нефтяных компаний. Т.к. современное ПО нефтяников не по карману студентам, поэтому студни ковыряются в ПО десятилетней давности. А т.к. нефтяникам нужны хорошие кадры, то они и запустили проект PEGrid.
http://www.opensciencegrid.org/About/What_...earch_Highlight
(статья на английском... может смысл немного исказил... всю жизнь немецкий учил )
Помимо многовариантного моделирования и обычного моделирования течения флюидов какие еще ресурсоемкие задачи возникают при разработке месторождения?
Я думал, что визуализация 3D моделей или 3D "мультика" - это тоже ресурсоемкий процесс!
Неудобства очень часто связаны с качеством входных данных - грид-технология данную проблему не решает.
Управление очередями заданий есть (будь то LSF, workq или встроенная в Виндовс 2008) - пусть даже в рамках одного кластера - эти ресурсы инженерами не утилизируются 100%, и нагрузка на кластер чаще всего носит пиковый характер.
Верхний порог количества ядер обусловлен не конкретным гидродинамическим симулятором, а существенно нелинейным возрастанием интенсивности потоков обмена данными между ядрами при N (количестве доменов - параллельных потоков) стремящемся в бесконечность. Это возрастание происходит от природы конечно-разностной численной схемы решения.
Я понимаю, что верхний порог количества ядер зависит от применяемой численной схемы и задачи. Я хочу узнать у людей, считающих модели параллельно примерную оценку этого порога для их задач. Т.к. я лично подобные эксперименты не проводил.
Буду признателен, если у кого-нибудь найдутся эксперементальные графики с зависимостью ускорения счета от количества используемых ядер.
Спасибо за ответ
Я так понимаю, ты не пользовался Condor если так пишешь.
Все что ты писал уже воплощено в Condor и даже больше, он может останавливать задачу и перекидывать на другой комп и оттуда запускать там, где остановился расчет, работает как на Windows так и на Linux (а так же в смешаной среде).
Примерно то же самое воплощено от Java Grid Computing, есть коммерческая версия и бесплатная.
Думаю не зачем заново изобретать велосипед, хотя возможно подогнать ее интерфейс под удобно пользовательский, а то все в командной строке как в старые ДОСовские времена.
Перекидывание задач с компа на комп - это хорошее свойство системы управления пакетной обработки, которое для Grid является средством локального управления ресурсами (PBS, Condor, LSF, Sun Grid Engine и т.д.), т.е. является частью Grid.
Не хочу Вас утомлять, ссылая на внешний материал, но если интересно, то вот статейка на русском языке
http://www.osp.ru/os/2003/01/182396/
Раздел "Архитектура программного обеспечения Grid"
Очень маленький рынок сбыта, не очень хорошо. Большие корпорации на Г и на Л не пускают к себе маленьких производителей с улицы. Если есть связи внедрят, а если нет...
Речь пока идет о разработе в рамках учебного проекта (аспирантура)))
Связи есть, но не в таких гигантах как Г и Л...
График приложить могу - результаты расчета тестовой модели.
Как видно - результат зависит не только от количества ядер.
Но и от пропускной способности сетевого интерфейса - на машинах с gigabit расчеты начинают замедляться, использование infiniband позволяет таки получить прирост производительности при большом количестве параллельных потоков
bench.JPG
2Гоша
Спасибо за график!
Квадратики и крестики - это infiniband, а ромбики и треугольники - это gigabit. (для тех, кто не в курсе )
А у Вас, случайно, нет статьи или презентации на эту тему?
1.5-2 года назад был на одном семинаре, там ребята из Роснефти делали доклад на тему сравнения параллельных решателей в существующих симуляторах и приводили экспериментальные данные для одной задачи, решенной на разных симуляторах и последовательно увеличивающемся количестве ядер.
Я потерял их доклад, а в интернете подобные корпоративные материалы найти практически невозможно.
Доклад из Роснефти вам удобнее брать в самой Роснефти, тут я подсказать не могу.
Какая именно модель использовалась в РН - не знаю, но очень интересно было бы узнать - когда это тестирование делалось? И какая моделька?
Тестовые модели (масштабируемость производительности расчетов на которых гарантирована) распространяются вместе с дистрибутивами симулятора ECLIPSE и не представляют тайны.
Статью я никакую не публиковал - выложив график с реальных железок, я тем не менее не могу сказать для кого конкретно, когда и на каких машинах это тестирование выполнялось.
Ориентиром производительности процессоров для ECLIPSE на данный момент являются Xeon 55nn.
На других симуляторах не тестировал... но может из других компаний люди отпишутся.