0
Авг 09
Здравствуйте, коллеги!
Есть здесь такие, кто занимался вопросами создания программ для гидродинамического моделирования, а именно:
- Постановка математической модели в виде дифф. уравнений в частных производных
- Дискретизация уравнений математической модели методом конечных разностей
- Реализация численной модели в компьютерной программе.
Можно обмениваться опытом.
У самого есть некоторое количество знаний, которыми с удовольствием могу поделиться.
Опубликовано
03 Авг 2009
Активность
36
ответов
5776
просмотров
12
участников
0
Рейтинг
В книжках вроде рассказано, что вы в списке привели. Каким опытом вы хотели бы поделится, ну и что вообще хотите?
У меня довольно специфическая проблема. Я создал программу, реализующую метод совместного решения (SS-метод) уравнений одномерной двухфазной фильтрации несжимаемых флюидов в несжимаемой пористой среде с учетом капиллярного давления. Однако, расчет не получается - программа вешается на этапе решения алгебраических уравнений. Тут может быть несколько вариантов: может это ошибка в алгоритме программы, или принципиально неверна математическая или численная модель а может быть есть еще что-то, что я не могу понять.
В общем, кто хоть что-то знает - прошу отозваться!
P.S. Тот же самый процесс легко реализуется методом IMPES, но для тех случаев с которыми мне приходится иметь дело нужны очень маленькие временные шаги. Все это очень затягивает расчет.
Если ошибки в программе, то их легко выявить на этапе трассировки...Шаг за шагом прогнал расчет, во время прогонки сразу же выявишь ошибку (по другому никак). Тем более если ты написал программу, то должен быть более чем знаком с этой процедурой.
Если в программе все нормально, то перепроверяй численную или математическую модели.
Перепроверь еще раз алгоритм решения системы уравнений. На этом этапе проблемы в проге?
Судя по постановке 1D, несжимаемая среда и флюиды, программа не должна очень большой. Если есть читабельная теоретическая часть, могу проверить код (С++, C#, Pascal).
Продолжив изыскания в литературе и в других источниках обнаружил, что расчет может не получаться из-за метода, который используется при расчете производных. Но это не окончательно.
В общем, как решу эту проблему, о результатах обязательно напишу
Есть программы симмуляторов с выложенным кодом
В понедельник выложу здесь трехфазный симмулятор excele c описаловом
Автор не предлагает ничего нового в моделировании, следовательно велосипедов не изобретает. Самостоятельно реализовать в коде - задача повышающая самооценку.
Вот меня как раз это интерисует, просьба выложить, и если есть то и другие подобные программы, интерисуют именно с кодом и желательно с описанием, и хорошо если есть расписанная математика.
В общем посмотрел я этот симулятор в Экселе.
Если посмотреть мануал на странице 8, можно прочитать следующее:
BOAST-NFR employs the implicit pressure - explicit saturation (IMPES) formulation for solving its system of finite-difference equations.
Как говорилось ранее, проблем с реализацией IMPES-метода, обычно, не возникает. Другое дело - SS метод, который не реализован в BOAST-NFR. Однако, на сайте есть другие программы, написанные на Фортране. Возможно там можно что-то найти.
Я надеюсь вам знакома книга "Математическое моделирование пластовых систем" Х.Азиз, Э.Сеттари.
В ней рассматриваются SS, IMPES, SEQ методы решения.
Все такие умные, да еще советы дают очень полезные
Вот человека бы найти, который взял и запрограммировал бы все это своими ручками.
С какой целью? Все уже запрограмировали по нескольку раз.
ну знаем таких и что, им за это деньги большие платят, а вам?
а вот зачем опять изобретать велосипед не понятно
Сколько мне платят - это далеко не ваше дело! Если нечего сказать - лучше воздержитесь!
Вопрос был скорее риторический. Что-то реакция нездоровая. Наболело?
Все, это уже какой-то базар начался. Как будет что-нибудь по теме, тогда напишу.
вопрос был абсолютно здоровый, и подразумевал в себе следующее - прога пишется по-приколу для себя или для кого-то за денюжки.
соответсвенно от ответа можно будет или продолжать дискуссию или просто забить
А может проблема в том что все несжимаемое Ибо в этом случае будет работать принцип дальнодействия: открываем скважину и поле давлений должно мгновенно распространиться на всю модель. Теоретически без сжимаемости алгоритм тоже может работать, но практически будет сложно добиться сходимости, как мне кажется.
Я делал IMPES симулятор, без кап давления но со сжимаемым флюидом и 2-х фазным насыщением.
VIT
Сначала я тоже думал, что все дело в сжимаемости. Однако реализация симулятора с несжимаемыми флюидами и несжимаемым пластом по методу IMPES прекрасно работает. Значит решение по SS методу тоже по идее должно работать.
XFactor
Признаю, не понял вопроса из-за того как он был сформулирован. А программа пишется чисто из исследовательского интереса без коммерческой ориентированности.
Повторюсь: фактически нужная программа уже есть и она работает. Просто хочется сократить время вычислений, используя бОльшие временные шаги - вот и все.
Подниму тему.
Ребята для научных расчетов(и себя попрактиковать в численных метотад и реализации расчета) хочу решить одномерное двуфазное вытеснение нефти водой.
Вопрос по поводу метода impes.
Я понимаю сути но не могу понять как вычислять насыщенность. Складываю уравнения для двух фаз- избавлюясь от насыщенности в левой части. Пока предполагаю что давление от насыщенности не зависит, решаю уравнение на P (по координате, метод прогонки). Потом надо считать S на шаге тау. ДАвление уже посчитанно, но как записать S через P Я не могу понять. Пробывал в лоб расписать две производные для уравнения на водную фазу, но оказывается так делать нельзя, из чего собственно и возник метод IMPES.
У меня жидкости не сжимаемы, нет капилярных сил. Но в Асис Сетари при первом просмотре я не нашел нужную мне часть.
Если времени нет объъяснить(как расписать численно двивергенцию произведения не раскрывая скобки как производная от произведения), то хотябы укажите где это написанно в этой книге.
Petroleum Reservoir Simulation" by Khalid Aziz, Antonin Settari
Кстати русский аналог, это её перевод или новая книга от авторов? ("Математическое моделирование пластовых систем" Х.Азиз, Э.Сеттари.)
в общем, ответ на последний вопрос. Да. это её полный аналог, но перевод ущербный, хотя видно что автор старался. Моё предположени что с развалом СССР всё нормальные переводчики вымерли, хотя делали свою уникальную работу за копейки, но уровень был потрясающий( читал книгу разрущение, терминалогия высший класс!) . а эта книга 2004.. новых коллег не появилось.
Я точно уже не помню как там должно быть, но вроде насыщеность можно вычислить через разницу сколько какждой фазы вытекло и сколько пришло, плюс акумуляция флюида в ячейке из-за сжимаемости.
Это вроде называется "материальный баланс" :)
Уравнение материального баланса лежит в основе уравнений Навье-Стокса(проде так они называются),
Автор сладывает уравнения для разных фаз(поделив на плотность), и избавляется от зависимости от насыщения- получается уравнение на давление. оно решается не явно(параболического типа).
Но проблема в том, что дальше для решения насыщенности, надо брать одно из исходных уравнений баланса(например для воды), и
а) явно выражать насыщенность из него. Это делается расписыванием производное по времени от произведение(PS). но это не выход, так как уравнение на S гиперболическое и не линейное!(есть члены S^N S и множитель у dS/dx тоже зависит от S. Помимо того, что оно решается в явном виде неустойчиво(два требования на размер сеток), так ещё это процесс усложняет решение уравния на Р(они решаются парально на каждом шаге). У меня получаются большие осциляции. И ещё умные люди сказали что не будет сохраняться материальный баланс.
б) делать ещё что-то мне не понятно(типа раскрывать дивергенцию ) я этой фразы не понимаю.
Может есть какие-то более точные придпосылка как искать S? пока буду разбираться с Азисом.
Я смотрел эту книгу, написанно на Sw нечто следующей, немного не втой главе где это метод описывается.
Я моуг понять что слева написанн [S(t+nтау, n)-S (t, n)]/тау так?, а как можно понять что обозначаю другие буквы??
To vaque:
Я, если честно, не понимаю почему возникла сложность. Еще раз повторим что было сказано: по методу impes находим давления, потом зная перепады давления и закон дарси считаем перетоки между ячейками. Потом по мат балансу пересчитываем насыщеность. В чем сложность.
Кстати вместо метода прогонки лучше использовать итерационные методы, особенно на больших моделях.
Метод прогонки для решения СЛУ пригоден только в случае одномерной задачи.
Товарищ под уравнением материального баланса подразумивал, наверное уравнение неразрывности. А уравнение Навье-Стокса -- это уравнение движения, т.е. второй закон Ньютона.
Вообще-то алгоритм решения СЛУ больших размерностей лежит в основе симулятора и насколько внимательно инженер отнесётся к реализации этой задачи настолько успешным будет и всё предприятие.
Кстати, есть довольно-таки забавная библиотечка на C++, DealII, где решение уравнения Н.-С. приводится в примерах.
пока до двухмерной и более задачи не дошел. мне надо одномерный случай.
Но пока не понимаю какое уравнение на материальный баланс надо взять? сложность в явной записи S на шаге t+тау через Pt Pt+тау St. пока у меня не получается получить стабильное решение. пробую расписать зависимость насщенности для водной фазы, и при расписание в лоб произодных произведения возникает трабл(типа табулирую функцию P) из-за этого решение не стабильно.
библиотечку буду искать, а у вас случайно её не завалялось?
нашел то что вы описываете http://www.dealii.org/7.0.0/doxygen/tutorial/index.html пример21
но из за сложности синтаксиса С++ мне это не легче чем статья азиса. Тогда уточню. Авторы используют формулу (3).
F=S^2/(S^2+yiu(1-S)^2). чтобы взять градиент мне надо заранее знать зависимость S(x). или можно воспользоваться приближением (Sn-1 - Sn+1)/2dx?
пока не получилось проиходит колебания решения на S-ведь разрыв там..
Я так понимаю ребята либо сильно заняты, либо не хотят поделиться. опытом. Ну чтоже будем разбираться. не бросать же дело на половине))
Кто-нибудь может отправить эту книжечку Aziz-а на мыло? А то с работы не выйдешь на всякие "шары". Буду премного благодарен.
Есть английский и переведенный русский вариант. Могу скинь на выходных
В общем в азисе всё запутанно и муторно, есть потрясающая книга,
http://www.twirpx.com/file/501668/
аторы уже давно в этой индустрии, мне она очень нравится, формулы понятнее, и без лишних слов.Теория таже, но в азисе методы решения конечно разностные,а у них конечных элементов.
повторилось
На амазоне рецензия на эту книгу не очень, хотя отклик всего один