Стохастическое моделирование пластов для оценки неопределенности при разбуривании и разработке месторождений углеводородов тема диссертации и автореферата по ВАК РФ 05.13.18, кандидат технических наук Коробкин, Сергей Владимирович

  • Коробкин, Сергей Владимирович
  • кандидат технических науккандидат технических наук
  • 2004, Москва
  • Специальность ВАК РФ05.13.18
  • Количество страниц 125
Коробкин, Сергей Владимирович. Стохастическое моделирование пластов для оценки неопределенности при разбуривании и разработке месторождений углеводородов: дис. кандидат технических наук: 05.13.18 - Математическое моделирование, численные методы и комплексы программ. Москва. 2004. 125 с.

Оглавление диссертации кандидат технических наук Коробкин, Сергей Владимирович

ВВЕДЕНИЕ

Глава 1. АНАЛИЗ МЕТОДОВ ГЕОСТОХАСТИЧЕСКОГО

МОДЕЛИРОВАНИЯ ПЛАСТОВ

1.1 Два основных подхода к построению геологических моделей

1.2 Методы объектного моделирования. Булевы модели

1.3 Гауссовские модели

1.4 Марковские модели

1.5 Модели нейронных сетей

1.6 Другие методики

Глава 2. ВЕРОЯТНОСТНО-МАТЕМАТИЧЕСКАЯ МОДЕЛЬ

ЛИНЗОВИДНОГО ПЛАСТА

2.1 Схематизация пласта и постановка задачи

2.2 Вероятности событий в системе «линзы-скважины»

2.3 Оценка эффективности проведения гидроразрыва и бурения горизонтальных скважин в линзовидных пластах

2.4 Применение метода максимального правдоподобия для оценки вероятностных характеристик системы линз для увеличения нефтеотдачи линзовидного пласта

2.5 Алгоритмы расчета вероятностей событий, возникающих в системе «линзы-скважины»

Глава 3. ПРИМЕР РАСЧЕТА ДЛЯ РЕАЛЬНОГО ОБЪЕКТА РАЗРАБОТКИ

3.1 Описание объекта моделирования

3.2 Оценка числа линз и расчет вероятностей

Глава 4. ОЦЕНКА ТЕХНОЛОГИЧЕСКИХ ПОКАЗАТЕЛЕЙ РАЗРАБОТКИ ЯРАЙНЕРСКОГО МЕСТОРОЖДЕНИЯ НА ОСНОВЕ

ГЕОСТОХАСТИЧЕСКОЙ МОДЕЛИ

4.1 Общие сведения и постановка задачи

4.2 Моделирование свойств

4.3 Оценка технологических показателей 69 ОСНОВНЫЕ РЕЗУЛЬТАТЫ И ВЫВОДЫ 72 СПИСОК ЛИТЕРАТУРЫ 73 ПРИЛОЖЕНИЕ

Рекомендованный список диссертаций по специальности «Математическое моделирование, численные методы и комплексы программ», 05.13.18 шифр ВАК

Введение диссертации (часть автореферата) на тему «Стохастическое моделирование пластов для оценки неопределенности при разбуривании и разработке месторождений углеводородов»

Актуальность темы.

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

Зачастую, наряду со сложным геологическим строением имеет место и другая проблема, связанная с недостаточной изученностью залежи. Поскольку основным и наиболее достоверным источником информации о месторождении являются пробуренные скважины, данная проблема особенно актуальна на ранней стадии разработки. Межскважинное пространство, где фактических щ данных не существует, и общие представления о неоднородности структуры являются основными источниками неоднозначности или, иначе говоря, многовариантности представлений относительно геологического строения месторождения в целом. В таких условиях составление эффективного плана по разбуриванию залежи является крайне затруднительной задачей, сопряженной с многочисленными рисками [3-5,12]. К таким рискам относится, например, риск пробурить скважину, не вскрывшую ни одну из насыщенных углеводородами линз. Поскольку каждая новая скважина, даже не вскрывшая коллектор, является источником дополнительной информации, целесообразным представляется составление гибкого плана бурения, который бы уточнялся, после введения в эксплуатацию очередной скважины. Стоит отметить, что показатели добычи такой неоднородной залежи также являются трудно Ф прогнозируемыми характеристиками [19, 32, 43, 69].

Учитывая выше сказанное наиболее уместным инструментом для решения проблем, связанных с геологическим моделированием, составлением плана бурения и оценкой влияния неоднородности пористой среды на фильтрационные процессы является аппарат стохастического моделирования [30, 42].

За рубежом технологии стохастического моделирования углеводородных залежей, начали осваиваться уже достаточно давно [55, 63, 65]. Однако в нашей стране подобные теоретические исследования не находили, до последнего времени, широкого практического применения. В данной работе на базе использования вероятностно-математической модели пласта и методик геостохастического моделирования предлагаются пути решения проблем, связанных с учетом влияния геологической неоднородности при проектировании геолого-технических мероприятий и оценке технологических показателей разработки.

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

В соответствии с указанной целью можно выделить следующие основные задачи исследования:

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

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

- разработать математическое, алгоритмическое и программное обеспечение для расчета вероятностных характеристик модели;

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

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

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

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

Для геологических построений, их последующего сравнительного анализа и гидродинамических расчетов использовались программные продукты фирмы Schlumberger — GeoFrame Property 3D и Eclipse .

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

Научная новизна работы состоит в следующем:

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

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

3. Разработаны алгоритмы и программы для расчета вероятности бурения скважины, не вскрывшей ни одну линзу, вероятности вскрытия и вероятности пропуска песчаной линзы группой скважин, а также для расчета вероятности вскрытия новой линзы трещиной гидравлического разрыва при

Щ ее распространении в пласте, в зависимости от длины трещины.

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

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

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

Основными защищаемыми положениями являются:

1. Вероятностное описание системы линзы-скважины для линзовидного щ пласта.

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

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

Апробация работы. Основные результаты диссертационной работы докладывались и обсуждались на 4-х научных конференциях: 64-ой конференции Европейской Ассоциации Геологов и Инженеров (Флоренция, 2730 мая 2002 г.), 8-ой Европейской конференции по применению # математических методов в нефтедобыче (Фрайберг, 3-6 сентября 2002 г.), на конференции «Актуальные проблемы развития нефтегазового комплекса

России» (Москва, РГУ НГ им. Губкина, 23-24 января 2003 г.) и на конференции «Нефтеотдача-2003» (Москва, РГУ НГ им. Губкина, 19-23 мая 2003г.), а также на семинарах Департамента планирования разработки месторождений ОАО «Сибнефть» и на научном семинаре кафедры Прикладной математики и компьютерного моделирования РГУ нефти и газа им. И.М. Губкина.

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

Структура и объем диссертации.

Диссертационная работа состоит из введения, четырех глав, заключения, библиографии и приложения. Общий объем работы составляет 125 страниц и включает в себя 17 рисунков и одну таблицу. Библиографический список содержит 91 наименование.

Похожие диссертационные работы по специальности «Математическое моделирование, численные методы и комплексы программ», 05.13.18 шифр ВАК

Заключение диссертации по теме «Математическое моделирование, численные методы и комплексы программ», Коробкин, Сергей Владимирович

ОСНОВНЫЕ РЕЗУЛЬТАТЫ И ВЫВОДЫ.

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

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

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

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

Список литературы диссертационного исследования кандидат технических наук Коробкин, Сергей Владимирович, 2004 год

1. Амбарцумян Р.В., Мекке Й., Штойян Д. Введение в стохастическую геометрию. - М.: Наука, 1989. - 400 с.

2. Афанасьев Н.Ф. и др. Математические методы в геологическом дешифровании аэрофотоснимков. М.: Недра, 1981. - 280 с.

3. Баишев Б.Т. Функция распределения проницаемости и учет неоднородности пласта при проектировании разработки нефтяных месторождений/ Труды ВНИИ, вып. XXVIII. М.: Гостоптехиздат, 1960.

4. Борисов Ю.П., Воинов В.В., Рябинина З.К. Влияние неоднородности пластов на разработку нефтяных месторождений. М.: Недра, 1970,288 с.

5. Борисов Ю.П., Козлов Н.В. О рациональной форме сетки скважин в прерывистых пластах// Теория и практика добычи нефти. М.: Недра, 1966.

6. Борисов Ю.П., Рябинина З.К., Воинов В.В. Особенности проектирования разработки нефтяных месторождений с учетом их неоднородности. — М.: Недра, 1976.-286 с.

7. Ван-дер-Варден. Математическая статистика. М.: ИЛ, 1960. - 434 с.

8. Вистелиус А.Б. Основы математической геологии. Л.: Наука, 1980. -388 с.

9. Вистелиус А.Б., Харламов Б.П. О трехмерной упаковке с марковскими линейными сечениями. Докл. АН СССР, 1979. - т. 245. - №2. - с.431-434.

10. Воинов В.В. Изучение неоднородности продуктивных пластов некоторых нефтяных месторождений/ Труды ВНИИ, вып. L. М.: Недра, 1967. -с. 145-151.

11. Воинов В.В., Лейбин Э.Л., Семин Е.И., Хрусталева З.А. Изучение неоднородности продуктивных пластов для проектирования систем разработки. Опыт разработки нефтяных и газовых месторождений. М.: Гостоптехиздат, 1963.

12. Горбань А.Н. Обучение нейронных сетей. М.: изд. СССР-США СП "ParaGraph", 1990. - 160 с.

13. Добрынин В.М., Венделыптейн Б.Ю., Кожевников Д.А. Петрофизика (Физика горных пород). М.: ФГУП Издательство «Нефть и газ» РГУ нефти и газа им. И.М. Губкина, 2004. - 368 с.

14. Дьяконов Д.И., Леонтьев Е.И., Г.С. Кузнецов Общий курс геофизических исследований скважин. М.: Недра, 1977. - 432 с.

15. Иванова М.М., Чоловский И.П., Брагин Ю.И. Нефтегазопромысловая геология: Учеб для вузов. М.: ООО «Недра-Бизнесцентр», 2000. - 414 с.

16. Исследования по математической геологии. Л.: Наука, 1978.

17. Кендалл М., Моран П. Геометрические вероятности. М.: Наука, 1972. -196 с.

18. Коллинз Р. Течение жидкостей через пористые материалы. М.: Мир,1964.-324 с.

19. Коробкин С.В. Об использовании стохастического подхода к моделированию геолого-физических параметров пластов// Автоматизация, телемеханизация и связь в нефтяной промышленности. 2004. — №5. - С. 20-22.

20. Крамер Г. Математические методы статистики. М.: Мир, 1975. - 648 с.

21. Марголин A.M. Методы геометризации разведуемых запасов полезных ^ ископаемых. Усовершенствованная процедура крайгинга. Матем. методыисследований в геологии. Обзор /ВНИИ экон. минер, сырья и геолгоразвед. работ, М.: ВИЭМС, 1983.

22. Матвеенко Г.В., Пудовкин А.А., Тищенко И.И. и др. Организация и технология обработки данных в сейсморазведке. М.: Недра, 1987. - 192 с.

23. Математическая геология и геологическая информация. Доклады 27-го Международного геологического конгресса, т. 20 (секция 10). М.: Наука, 1984.-135 с.

24. Математические методы идентификации в задачах геологии: Материалы симпозиума, февраль 1984. -М.: Наука, 1985. 164 с.

25. Матерон Ж. Основы прикладной геостатистики. М.: Мир, 1968. - 408 с.

26. Матерон Ж. Случайные множества и интегральная геометрия. М.: Мир, 1978.-320 с.

27. Методические указания по созданию постоянно действующих геолого-технологических моделей нефтяных и газонефтяных месторождений. Часть 1. Геологические модели/ Авербух А.Г., Билибин С.И., Болотник Д.Н., Гутман И.С. и др. М.: ОАО ВНИИОЭНГ, 2004.- 386 с.

28. Пилатовский В.П. О вероятностной оценке влияния линзовидных пластовых включений на фильтрационный поток несжимаемой жидкости в тонком пласте// Теория и практика добычи нефти. М.: Недра, 1966.

29. Проблемы и перспективы математизации и компьютеризации геологии: Материалы симпозиума, ноябрь 1986. -М.: Наука, 1989. 116 с.

30. Пыхачев Г.Б., Исаев Р.Г. Подземная гидравлика. М.: Недра, 1963. - 360 с.

31. Рыков В.В., Штойян Д. Модели и методы стохастической геометрии в геологии. Матем. методы и автоматизированные системы в геологии. Обзор/ ВНИИ экон. минер, сырья и геолгоразвед. работ. - М.: ВИЭМС, 1987.-74 с.

32. Сантало JI.A. Интегральная геометрия и геометрические вероятности. М.: Наука, 1983.-358 с.

33. Скворцов В.В. Математический эксперимент в теории разработки нефтяных месторождений. М.: Наука, 1970. - 224 с.

34. Смирнов И.В., Дунин-Барковский И.В. Курс теории вероятностей и математической статистики для технических приложений. М.: Наука, 1965.-510 с.

35. Турчак Л.И. Основы численных методов. — М.: Наука. Гл. ред. физ.-мат. лит., 1987.-320 с.

36. Уоссермен Ф. Нейрокомпьютерная техника: Теория и практика. М.: Мир, 1992.-140 с.

37. Феллер В. Введение в теорию вероятностей и ее приложения. М.: Мир,1984.-т. 1.-528 с.

38. Хаттон Л., Уэрдингтон М., Мейкин Дж. Обработка сейсмических данных — М.: Мир, 1989.-342 с.

39. Хемминг Р.В. Численные методы для научных работников и инженеров. — М.: Наука. Гл. ред. физ.-мат. лит., 1972. 400 с.

40. Хургин Я.И. Проблемы неопределенности в задачах нефти и газа. М.Ижевск: Институт компьютерных исследований, 2004. - 320 с.

41. Чарный И.А. Подземная гидрогазодинамика. М.: Гостоптехиздат, 1963. — 346 с.

42. Черницкий А.В. Геологическое моделирование нефтяных залежей массивного типа в трещиноватых карбонатных коллекторах. — М.: ОАО «РМНТК Нефтеотдача», 2002. 254 с.

43. Чоловский И.П. К оценке неоднородности пластов-коллекторов// Нефтяное хозяйство. 1971. - №1. - с. 37-39.

44. Швидлер М.И. Фильтрационные течения в неоднородных средах. М.: Гостоптехиздат, 1963. - 136 с.

45. Швидлер М.И. Статистическая гидродинамика пористых сред. М.: Недра,1985.-288 с.

46. Щелкачев В.Н., Лапук Б.Б. Подземная гидравлика. М.: Гостоптехиздат, 1949.-524 с.

47. Элланский М.М., Холин А.И., Зверев Г.Н., Петров А.П. Математические методы в газонефтяной геологии и геофизике. М.: Недра, 1972. 208 с.

48. Эфрос Д.А. Исследование фильтрации неоднородных систем. М.: Гостоптехиздат, 1963. - 352 с.

49. Bishop С. Neural networks for pattern recognition. Oxford University press, 1995.-256 p.

50. Bonet-Cunha L., Oliver D., Redner R., Reynolds A. A hybrid Markov chain Monte Carlo method for generating permeability fields conditioned to multiwell pressure data and prior information// SPE Journal. Sept. 1998. - p. 261-271.

51. Caers J. History matching under training-image-based geological model constraints// SPE Journal. Sept. 2003. - p. 219-226.

52. Caers J., Journel A. Stochastic reservoir simulation using neural networks trained on outcrop data// Paper SPE 49026. 1998. - p. 321-336.

53. Deffeyes K., Pipiey В., Warson G. Stochastic geometry in petroleum geology// Math. Geol. 1982. - vol. 42. - p. 419-432.

54. Deutsch C., Wang L. Hierarchical object-based stochastic modeling of fluvial reservoirs// Math. geol. 1996. - No.7(28). - p. 857.

55. Deutsch C., Journel A. GSLIB Geostatistical software library. - Oxford University Press, 1997. - 188 p.

56. Deutsch C., Journel A. The application of simulated annealing to stochastic reservoir modeling// Paper SPE 23565. 1991.

57. Dubrule O. A review of stochastic models for petroleum reservoirs// Geostatistics. 1989. - vol. 2. - p. 493-506.

58. Dubrule O. Geostatistics for seismic data integration in Earth models. Distinguished instructor short course. Tulsa, Oklahoma, 2003. - 278 p.

59. Dubrule O. Introducing more geology in stochastic reservoir modeling// Quantitative Geology and Geostatistics. 1993. - p. 351-369.

60. Egeland Т., Georgsen F., Skare O., Alabert F. Analitical calculations related to facies simulation // Journal of mathematical geology. 1995. - vol. 27. - No. 3.

61. Fara H., Scheidegger A. Statistical geometry of porous media// J. Geophys. Res. 1961.-vol. 66.-p. 3279-3284.

62. Gorel S. Creating 3-D Reservoir Models Using Areal Geostatistical Techniques Combined with Vertical Well Data// Paper SPE 29670. 1995. - p. 547-556.

63. Haldorsen H., Damsleth E. Stochastic modeling of underground reservoir fades// Paper SPE 16751. 1987. - p. 575-589.

64. Haldorsen H., Damsleth E. Stochastic modeling// JPT. 1990. - vol. 42, April. -p. 404-412.

65. Hegstad В., Omre H. An inverse problem in petroleum recovery: history matching and stochastic reservoir characterization/ Proc. of ECMI Conference, Copenhagen, June 25-29 1996.

66. Holden L., Omre H., Tjelmeland H. Integrated reservoir description// Paper SPE 24261.- 1992.-p. 15-23.

67. Hove K., Olsen G., Nilsson S., Tonnensen M., Hatloy A. From stochastic geological description to production forecasting in heterogeneous layered reservoirs// Paper SPE 24890. 1992. - p. 311-325.

68. Isaaks E., Srivastava R. Applied geostatistics. Oxford University Press, 1989. -552 p.

69. Jacod J., Joathon P. The use of random genetic models in the study of sedimentary processes// J. Int. Ass. Math. Geol. 1977. - No.3.

70. Journel A., Alabert F. New method for reservoir mapping// JPT. 1990. - vol. 42, February, - p. 212-218.

71. Kanevskaya R.D., Vereskov A.I., Korobkin S.V. Stochastic approach to optimization of well spacing in lenticular reservoir/ Proc. of 8th ECMOR, Freiberg, Germany, September 3-6 2002. 8 p.

72. Lia O., Tjelmeland H., Kjellesvik L. Modeling of fades architecture by Marked Point models// Geostatistics-Wollongong. 1997. - p. 386-398.

73. Lin Ying Hu, Joseph P., Dubrule O. Random genetic simulation of the internal geometry of deltaic sandstone bodies// Paper SPE 24714. 1992. - p. 535-544.

74. Lorenz J. Predictions of size and orientations of lenticular reservoirs in the Mesaverde Group, Northwestern Colorado// Paper SPE/DOE 13851. 1985. -p. 23-31.

75. Matheron G., Beucher H., Fouquet C. et al. Conditional simulation of the geometry of fluvio-deltaic reservoirs // Paper SPE 16753. 1987. - p. 591-597.

76. Omre H., Solna K., Tjelmeland H., Claesson L., Holter C. Calcite Cementation: description and production consequences// Paper SPE 20607. — 1990. — p. 811-823.

77. Ohser J. On statistical analysis of the Boolean model// ETK 1980. - vol. 16. -p. 651-653.

78. Ouenes A., Bhagavan S., Bunge P., Travis B. Application of simulated annealing and other global optimization methods to reservoir description: myths and realities// Paper SPE 28415. 1994. - p. 547-561.

79. Ripley B. Spatial Statistics. Wiley, New York, 1981. - 254 p.

80. Reyment R. Some applications of point processes in geology// Math. Geol. — 1976.-vol. 8.-p. 95-97.

81. Romero C., Carter J., Gringarten A., Zimmerman R. A modified genetic algorithm for reservoir characterization// Paper SPE 64765. 2000.

82. Saccomano A., Savioli G., Bidner M. Stochastic modeling of rock heterogeneities applying new autocorrelation estimators and simulated annealing// Paper SPE 69654. 2001.

83. Sen M., Gupta A., Stoffa P., Lake L., Pope G. Stochastic reservoir modeling usung simulated annealing genetic algorithm// Paper SPE 24754. 1992. -p. 939-950.

84. Stochastic modeling and geostatistics. Principles, methods and case studies/ AAPG Computer applications in geology, No. 3/ Ed. by J.M. Yarns, R.L. Chambers. Tulsa, Oklahoma, 1994. - 390 p.

85. Stoyan D., Kendal W.S., Mecke J. Stochastic geometry and its applications. -Chichester, John Wiley & Sons, 1995. 440 p.

86. Viseur S. Stochastic Boolean simulation of fluvial deposits: a new approach combining accuracy with efficiency// Paper SPE 56688. 1999. - p. 21-28.

87. Wenlong X., Journel A. GTSIM: Gaussian Truncated simulations of reservoir units in a W. Texas carbonate field// Paper SPE 27412. 1993.

88. Zakrevsky К., Zorkina V., Kanevskaya R., Korobkin S., Strekozin V. Complex reservoir simulation by using of geological analogy statistical analysis/ Proc. of 64th EAGE Conference, Florence, Italy, May 27-30 2002. 8 p.

89. Zhou C., Wu X.-L., Cheng J.-A. Determining reservoir properties in reservoir studies using a fuzzy neural network// Paper SPE 26430. 1993. - p. 141-150.1. VERSION 6.00

90. Forml" 0 'False 0 'False 10545 94501. Begin VB.Frame WellocFrm1. Caption1. Height1.ft1. Tablndex1. Top1. Width1. Сетка 97 5 5160 854680 3975скважин'

91. Begin VB.OptionButton Optreg1. Caption =1. Height1.ft1. Tablndex Top Width End

92. Begin VB.OptionButton Caption =1. Height Left1. Tablndex =1. Top1. Width1. End1. End

93. Begin VB.Frame NeregFrm Caption =1. BeginProperty Font1. Регулярная" 375 12019 360 1695

94. Optnereg "Нерегулярная" 435 192020 360 1935

95. Алгоритм для произвольной сетки"1. Name "MS Sans Serif1. Size 9.751. Charset 2041. Weight 4001. Underline 0 'False1.alic 0 • False1. Strikethrough 0 •False1. EndProperty 1. Height = 4951.ft 51601. Tablndex = 821. Top = 46801. Width = 397 5

96. Begin VB.OptionButton Optneregold

97. Caption = "Без учета бета"1. BeginProperty Font1. Name = "MS Sans Serif"1. Size 9.751. Charset 2041. Weight 4001. Underline 0 'False1.alic 0 'False1. Strikethrough 0 'False1. EndProperty 1. Height 2251.ft 20401. Tablndex 841. Top 2401. Width18151. End

98. BeginProperty Font Name Size Charset Weight Underline1.alic = 01. Strikethrough = 0нулевой строки"1. MS Sans 9.75 204 4000 'False 'False 'False1. Serif"1. EndProperty1. Height 4951.ft 51601. Tablndex 791. Top 51601. Width 3975

99. Begin VB.OptionButton NullOld opt1. Caption =

100. BeginProperty Font Name Size Charset Weight Underline Italic1. Strikethrough1. По старому"1. MS Sans Serif"9.752044000 'False 0 'False 0 'False1. EndProperty1. Height1.ft1. Tablndex1. Top1. Width225 2040 81 240 14551. End

101. Begin VB.OptionButton NullNewopt Caption = "По новому"1. BeginProperty Font1. Name = "MS Sans Serif"1. Size = 9.751. Charset = 2041. Weight = 4001. Underline = 0 'False1.alic = 0 'False

102. Strikethrough = 0 'False EndProperty1. Height = 2251.ft = 1201. Tablndex = 801. Top = 2401. Width = 15751. End1. End1. Begin VB.Frame YadroFrm

103. Caption = "Начало и конец ядра"1. Height = 16951.ft = 60001. Tablndex = 741. Top = 21601. Width = 32551. Begin VB.TextBox txt xl1. Height Left1. Tablndex Text1. ToolTipText Top Width1. End

104. Begin VB.TextBox txtyl Height Left1. Tablndex Text1. ToolTipText =1. Top Width End

105. Begin VB.TextBox txtx2 Height Left1. Tablndex1. Text =1. ToolTipText =1. Top Width End

106. Begin VB.TextBox txty2 Height = 3751.ft = 20401. Tablndex = 141. Text = "5.05"375 72011 » .«

107. Левая граница ядра участка"480735375 720 13-5.05"

108. Нижняя граница ядра участка 1080 735375204012 II и

109. Правая граница ядра участка480735

110. Begin VB.OptionButton Caption =1. Height Left1. Tablndex =1. Top =1. Width End1. Begin VB.Frame CoordsFrm

111. Opttreug "Треугольное" 375 5880 21320 18151. Caption =1. Height =1.ft1. Tablndex Top Width

112. Begin VB.TextBox txt Height Left

113. Tablndex ToolTipText одной скважины" Top Width End

114. Begin VB.TextBox txty Height Left

115. Tablndex ToolTipText одной скважины"1. Top =1. Width1. End

116. Begin VB.TextBox txtk Height Left1. Tablndex1. Top =1. Width End

117. Begin VB.CommandButton Caption1. Height Left1. Tablndex1. Top =1. Width End

118. Begin VB.TextBox txtn Height =1.ft1. Tablndex Text Top Width

119. Координаты скважин" 2415 120 633960 9135 x405 600 15

120. Координата X для нахождения вероятносттей длядля нахождения вероятносттей для720 615375 600 161. Координата Y1200 615375372017720615cmdRead

121. Считать координаты из файла" 495 5040 65 1800 3975375 3720 18 "10" 1200 6151. End

122. Caption = "Общее число линз n"1. Height = 2551.ft = 13201. Tablndex = 661. Top = 12001. Width = 24151. End1. End1. Begin VB.Frame ParamsFrm

123. Caption = "Параметры распределений"1. Height = 16951.ft = 1201. Tablndex = 4 91. Top = 2160

124. Width = 5535 Begin VB.TextBox txtml1. Height = 4501.ft = 6001. Tablndex = 31. Text = "1.3"

125. ToolTipText = "Средний полуразмер no Y1. Top = 4801. Width = 7351. End

126. Begin VB.TextBox txtss Height = 4201.ft = 18001. Tablndex = 61. Text = "0.65"1. ToolTipText = "Сигма1. Top = 10801. Width = 7351. End

127. Begin VB.TextBox txtme Height Left

128. Tablndex ToolTipText Top Width End

129. Begin VB.TextBox txtse Height Left1. Tablndex =1. ToolTipText Top Width1. End

130. Begin VB.TextBox txtmt Height Left

131. Tablndex ToolTipText Top Width1. End

132. Begin VB.TextBox txtst Height Left1. Tablndex ToolTipText Top45033607

133. Среднее для координаты X центра линзы48073542033608

134. Сигма для координаты X центра линзы" 1080 73545045609

135. Среднее для координаты Y центра линзы480735420456010

136. Begin VB.Frame OptFrm Caption =1. Height Left1. Tablndex =1. Top =1. Width

137. Begin VB.TextBox txt Height Left1. Tablndex375 4200 50 1080 375

138. Оптимизированные параметры" 1695 120 428760 7695 Pmatmax 450 6240 721. Top = 10801. Width = 12151. End

139. Begin VB.TextBox txtPmatrixopt1. Height = 4 501.ft = 36001. Tablndex = 601. Top = 10801. Width = 12151. End

140. Begin VB.Label lblPmatrixopt1. Alignment = 2 'Центровка

141. Caption = "P mat" BeginProperty Font1. Name = "MS Sans Serif1. Size = 121. Charset = 2041. Weight = 7001. Underline Italic

142. Strikethrough EndProperty Height Left1. Tablndex Top Width1. End

143. Begin VB.TextBox txtpfrac Height = 4 501.ft = 31201. Tablndex = 391. Top = 81601. Width = 13351. End

144. Begin VB.TextBox txtmu Height = 4501.ft = 31201. Tablndex = 371. Top = 75601. Width = 13351. End

145. Begin MSComctlLib.ProgressBar PrgrsBar1. Height = 6151.ft = 54001. Tablndex = 361. Top = 66001. Width = 36151. ExtentX = 63761. ExtentY = 10851. Version = 3932161. Appearance 11. Scrolling = 11. End

146. Begin VB.TextBox txtPmatrix1. Height Left1. Tablndex1. Top1. Width450 7080 32 8160 13351. End

147. Begin VB.CommandButton cmdExit Caption = "Выход"1. Height = 4 951.ft = 79201. Tablndex = 231. Top = 99601. Width = 14551. End

148. Begin VB.OptionButton Optravn1. Caption1. Height1.ft1. Tablndex1. Top1. Width1. Равномерное" 315 3480 11800 19351. Нормальное"375348001320 19351. End

149. Begin VB.OptionButton Optnorm Caption =1. Height Left1. Tablndex Top Width End

150. Begin VB.TextBox txtPk Height = 4501.ft = 9601. Tablndex = 251. Top = 81601. Width = 13351. End1. Begin VB.TextBox txtP01. Height Left1. Tablndex1. Top1. Width450 960 247560 13351. End

151. Begin VB.CommandButton cmdCount1. Caption1. Height1.ft1. Tablndex Top Width End

152. Begin VB.Line Line2 XI X2 Y1 Y2

153. Begin VB.Label Lbleps Caption =1. Height Left1. Tablndex1. Top1. Width1. End

154. Begin VB.Label LblpO Caption =1. BeginProperty Font

155. Точность" 255 120 41 6600 1095f гас "Frac"1. Name = "MS1. Size 121. Charset = 2041. Weight 7001. Underline = 01.alic = 01. Strikethrough = 01. EndProperty1. Sans Serif1. False ■False 'False1. Height Left1. Tablndex =1. Top Width End

156. Begin VB.Line Linel XI X2 Y1 Y21. End

157. Begin VB.Label Lblnorm Caption Height Left1. Tablndex Top Width End1. Begin VB.Label Lblcentr1. Alignment = 2 'Центровка

158. Begin VB.Label LblP0 Alignment =1. Caption =

159. Attribute VBName = "Formstoh4" Attribute VBGlobalNameSpace = False Attribute VBCreatable = False Attribute VBPredeclaredId = True Attribute VBExposed = False1. Код программы.1. Option Explicit

160. Dim ml, si, ms, ss, q As Single

161. Dim me, se, mt, st As Single

162. Dim x, xleft, xright As Single

163. Dim y, ydown, yup As Single

164. Dim dlimx, dlimy As Single

165. Dim i, j, k, n, Cnk As Integer

166. Dim pO, pk, Cx, Cy As Double

167. Dim pOgr, pmatrix, e As Double

168. Dim CoordX(200), CoordY(200) As Single

169. Dim StrMat(200, 200), StrLine(200) As Integer

170. Dim Probgr(200), matO As Double

171. Dim WellNum, LensNum, err, errl, errw, errl, errfrac, errfctr As Integer

172. Dim minX, maxX, minY, maxY As Single

173. Dim minXX, maxXX, minYY, maxYY As Single

174. Dim 1XX, rXX, dYY, uYY As Single

175. Dim Ax, Bx, Ay, By, Mu, ro As Single1. Dim p0frac As Single1. Dim str As String1. Dim NSovp(200) As Integer1. Dim CPol As Double

176. Dim flag, Prosm(200) As Boolean

177. Dim Lmax, Smax, hx, hy As Single

178. Dim MatF(1000, 1000), MatG(1000, 1000) As Single

179. Dim xleftN, xrightN, yupN, ydownN As Single

180. Private Sub cmdCountClick()

181. Dim jj, zz, zzz, maxP, Interval As Boolean1. Dim kk, kkMax As Double1. Dim Buf As Double

182. Dim ii, inf, allw, meetw, OptYes As Integer Dim li, lj, lk, 11 As Integer

183. Dim d, limax, ljmax, lkmax, Umax, kshape, xdist, ydist As Single

184. Dim vimax, vkmax, curX, curY As Single

185. Dim r, rl, rX, IX, uY, dY As Single

186. Dim newi, newj, newk, newl As Boolean

187. Dim Pmaxl, Pmax2, P0gropt, Pmatopt As Double

188. Dim seopt, stopt, nO, n0opt, hsc As Single1. errw = 1 Then1. Exit Sub End If1. errl = 1 Then1. Exit Sub End If1. For q = 1 To LensNum1. Probgr(q) = 0 Next qml = CSng(txtml) ms = CSng(txtms) si = CSng(txtsl) ss = CSng(txtss)

189. Optnorm = True Then 'для случая нормального распределения центров линз xrightN = xright xleftN = xleft yupN = yup ydownN = ydown End If

190. Optravn = True Then 'для случая равномерного распределения центров линз, границы расширены!1. х >= xleft And х <= xright Then

191. Cx = 1 / ((xright xleft) * si * Sqr(2 * 3.141592653)) Else1. Cx = 0 End If1. у >= ydown And у <= yup Then

192. Су = 1 / ((yup уdown) * ss * Sqr(2 * 3.141592653)) Else1. Су = 0 End If

193. Cnk = Fctrl(k + 1, n) / Fctrl(1, n k)pO = Cx * Simpsonl(xleft, xright, x, ml, si) * Cy * Simpsonl(ydown, yup, y, ms, ss)pk = pO л к * (1 pO) л (n - к) pO = (1 - pO) л n pk = pk * Cnk End If

194. Cy = 1 / ((yup ydown) * ss * Sqr(2 * 3.141592653)) Else1. Су = 0 End If

195. For i = 1 To LensNum 'выясняем нулевая строка или нет ii = О

196. For j = 1 То WellNum If StrMat(i, j) = 0 Then ii = ii + 1 End If Next j1. ii = WellNum And zz = False Then 'строка нулевая zz = True GoTo zero End Ifциклы для определения границ прямоугольников-линз jj = True

197. For j = 1 To WellNum If StrMat(i, j) = 0 Then If CoordX(j) > maxX And CoordX(j) < maxXX ThenmaxXX = CoordX(j) End If

198. CoordX(j) < minX And CoordX(j) > minXX ThenminXX = CoordX(j) End If

199. CoordY(j) > maxY And CoordY(j) < maxYY ThenmaxYY = CoordY(j) End If

200. CoordY(j) < minY And CoordY(j) > minYY ThenminYY = CoordY(j) End If End If Next jрасчет вероятностей для линзы i Probgr(i) = Simpsonlgr(maxX, maxXX, minXX, minX, xleft, xright, ml, me, si,se)

201. Simpsonlgr(maxY, maxYY, minYY, minY, ydown, yup, ms, mt, ss, st)nexti:pmatrix = pmatrix * Probgr(i) Next iвычисление полиномиального коэффициента CPol = 1 For q = 1 To LensNum NSovp(q) = 1 Prosm(q) = False Next q

202. For q = 1 To LensNum 1 If Prosm(q) = False Then For i = q + 1 To LensNum For j = 1 To WellNum

203. StrMat(q, j) <> StrMat(i, j) Then GoTo Toi Next j

204. NSovp(q) = NSovp(q) + 1 Prosm(i) = True1. Toi:1. Next i End If Next q1. For q = 1 To LensNum

205. CPol = CPol * Fctrl(1, NSovp(q)) Next q

206. For j = 1 To WellNum If StrLine(j) = 1 Then If jj = True Then maxX = CoordX(j) minX = CoordX(j) maxY = CoordY(j) minY = CoordY(j) GoTo stepll Else: GoTo step22 End If step22:

207. For j = 1 To WellNum If StrLine(j) = 0 Then If CoordX(j) > maxX And CoordX(j) < maxXX ThenmaxXX = CoordX(j) End If

208. CoordX(j) < minX And CoordX(j) > minXX ThenminXX = CoordX(j) End If

209. CoordY(j) > maxY And CoordY(j) < maxYY ThenmaxYY = CoordY(j) End If

210. CoordY(j) < minY And CoordY(j) > minYY ThenminYY = CoordY(j) End If End If Next j

211. For q = 1 To LensNum NSovp(q) = 1 Prosm(q) = False Next q

212. For i = 1 To LensNum 'выясняем нулевая строка или нет meetw = О ii = 0

213. MsgBox "You have problem with data" Exit For End IfnewP:формирование массивов MatF()n MatG() li = 0 Doli = li + 1limax = maxX hx / 2 + li * hxlj = 01. Dolj = lj + 1ljmax = minX + hx / 2 lj * hx If 0ptnorm = True Then

214. MatF(li, 1j) = CoDistrnorm(limax, ljmax, me, ml, se, si) End If1. Optravn = True Then

215. MatF(li, 1j) = CoDistrravn(limax, ljmax, ml, si, xleft, xright) End If1. 0pttreug = True Then

216. MatF(li, 1j) = CoDistrtreug(limax, ljmax, ml, si, xleft, xright) End If1.op While (ljmax >= minXX) Loop While (limax <= maxXX) lk = 0 Dolk = lk + 1lkmax = maxY hy / 2 + lk * hy11 = 01. Do11 = 11 + 1

217. Umax = minY + hy / 2 11 * hy If 0ptnorm = True Then

218. MatG(lk, 11) = CoDistrnorm(lkmax, Umax, mt, ms, st, ss) End If

219. Optravn = True Or 0pttreug = True Then

220. MatG(lk, 11) = CoDistrravn (lkmax, Umax, ms, ss, ydown, yup) End If1.op While (Umax >= minYY) Loop While (lkmax <= maxYY) limax = li ljmax = lj lkmax = lk Umax = 11цикл вычисляющий вероятность для линз с дырками, т.е. с бета (расчет строк матрицы)

221. Optneregnew = True Then Probgr(i) = 0 li = 0 rX = maxX

222. Do Until (li >= limax) li = li + 1 rX = rX + hx lj = 0 lk = 0 11 = 0 IX = minX lk = 0 uY = maxY dY = minY

223. Do Until (lj >= ljmax Or li + lj > xdist) lj = lj + 1 IX = IX hx lk = 0 11 = 0 uY - maxY dY = minY

224. Do Until (lk >= lkmax) lk = lk + 1 uY = uY + hy 11 = 0 dY = minY

225. Do Until (11 >= Umax Or lk + 11 > ydist) 11 = 11 + 1 dY = dY hyпроверка на появление новых скважин allw = О

226. For j = 1 То WellNum If CoordX(j) >= IX And CoordX(j) <= rX And CoordY(j) >= dY And CoordY(j) <= uY Thenallw = allw + 1 End If Next j

227. Probgr(i) = Probgr(i) + kshape Л meetw * (1 kshape) A (allw -meetw) * MatF(li, 1j) * MatG(lk, 11) * d Loop Loop Loop Loop End If 'поиск таких же строк For q = i + 1 To LensNum If Prosm(q) = False Then For j = 1 To WellNum

228. StrMat(i, j) <> StrMat(q, j) Then GoTo Toil0 Next j

229. NSovp(i) = NSovp(i) + 1 Prosm(q) = True Toil0: End If Next q

230. MsgBox "You have problem with data 2" Exit For End IfnewPO:формирование массивов MatF()n MatG() li = 1 Dolimax = maxX hx / 2 + li * hx lj = 1 Doljmax = minX + hx / 2 lj * hx If Optnorm = True Then

231. MatF(li, 1j) = CoDistrnorm(limax, ljmax, me, ml, se, si) End If1. Optravn = True Then

232. MatF(li, lj) = CoDistrravn(limax, ljmax, ml, si, xleftN, xrightN) End If1. Opttreug = True Then

233. MatF(li, 1j) = CoDistrtreug(limax, ljmax, ml, si, xleftN, xrightN) End If lj = lj + 1 Loop While (ljmax >= minXX) li = li + 1 Loop While (limax <= maxXX) lk = 1 Dolkmax = maxY -hy/2+lk*hy 11 = 1 Do

234. Umax = minY + hy / 2 11 * hy If 0ptnorm = True Then

235. MatG(lk, 11) = CoDistrnorm(lkmax, Umax, mt, ms, st, ss) End If

236. Optravn = True Or 0pttreug = True Then

237. End If 'конец Optneregold = Trueцикл вычисляющий вероятность для линз с дырками (расчет нулевой строки) If Optneregnew = True Then Buf = 0 li = 1 rX = maxX

238. Do Until (li >= limax) rX = rX + hx lj = 1 lk = 1 11 = 1 IX = minX uY = maxY dY = minY

239. Do Until (lj >= ljmax Or li + lj > xdist) IX = IX hx lk = 1 11 = 1 uY = maxY dY = minY

240. Do Until (lk >= lkmax) uY = uY + hy 11 = 1 dY = minY

241. Do Until (11 >= Umax Or lk + 11 > ydist) dY = dY hyпроверка на появление новых скважин allw = О

242. For j = 1 То WellNum If CoordX(j) >= IX And CoordX(j) <= rX And CoordY(j) >= dY And CoordY(j) <= uY Thenallw = allw + 1 End If Next j

243. Buf = Buf + kshape Л meetw * (1 kshape) л (allw - meetw) * MatF(li, lj) * MatG(lk, 11) * d 11 = 11 + 1 Loop lk = lk + 1 Loop lj = lj + 11.op li = li + 1 Loop

244. End If 'конец Optneregnew = TrueendNewPO:pOgr = p0gr + Buf PrgrsBar.Value = 100 * kk / kkMax Next kk

245. MatF(li, li) = CoDistrnorm(limax, vimax, me, ml, se, si) End If1. Optravn = True Then

246. MatF(li, li) = CoDistrravn(limax, vimax, ml, si, xleftN, xrightN) End If1. Opttreug = True Then

247. MatF(li, li) = CoDistrtreug(limax, vimax, ml, si, xleftN, xrightN) End If li = li + 1 Loop While (li <= xdist) lk = 1 Dolkmax = curY + lk * hy vkmax = curY lk * hy If Optnorm = True Then

248. MatG(lk, lk) = CoDistrnorm(lkmax, vkmax, mt, ms, st, ss) End If

249. Optravn = True Or Opttreug = True Then

250. Do Until (li > xdist) £ rX = rX + hx1. = IX hx lk = 1 uY = curY dY = curY

251. Do Until (lk > ydist) uY = uY + hy dY = dY hyпроверка на появление новых скважин allw = О

252. For j = 1 То WellNum If CoordX(j) >= IX And CoordX(j) <= rX And CoordY(j) >= dY And CoordY(j) <= uY Thenallw = allw + 1 End If Next j

253. Buf = Buf + (1 kshape) Л allw * MatF(li, li) * MatG(lk, lk) * d lk = lk + 1 Loop li = li + 1 Loop

254. End If 'конец Optneregnew = True 2endNewPO:pOgr = pOgr + Buf kk = kk + 1

255. PrgrsBar.Value = 100 * kk / kkMax curY = curY hy Loop While (curY >= ydownN) curX = curX + hx Loop While (curX <= xrightN)

256. End If 'конец NullNewopt = Truezzz = TrueunderPOO:1. zz = True Then If NullNewopt = True Then1. Probgr(i) = p0gr Else

257. OptYes = 6 Then 'ответ Да yes:nO = LensNum * pOgr / (1 pOgr) 'If nO > Int(nO) Then nO = Int(nO) '+ 1 'End If

258. Pmax2 = (Fctrl(nO + 1, LensNum + nO) / Fctrl(1, LensNum)) * (pOgr л nO) * pmatrix

259. Pmax2 > Pmaxl Then maxP = False Pmaxl = Pmax2 nOopt = nO seopt = se stopt = st Pmatopt = pmatrix P0gropt = pOgr se = se hsc st = st - hsc GoTo OptLoop End If

260. Pmax2 <= Pmaxl And maxP = False Then If Interval = False Then se = se + hsc / 2 st = st + hsc / 2 Interval = True GoTo OptLoop End If

261. Optravn = True Or Opttreug = True And errl = 1 Then nO = LensNum * p0gr / (1 p0gr) 'If nO > Int(nO) Then nO = Int(nO) ' + 1 'End If n0opt = nO txtn0opt = n0opt End If endsub: Beep Beep Beep Beep Beep End Sub

262. Private Sub cmdFracClick() ' Dim errfrac As Integererrfrac = MsgBox("Значения в полях Ax и Ay должны совпадать со значениями в полях X и Y",vblnformation, "Предупреждение") Dlgfгас.Show

263. Dlgfгас.txtAx.SetFocus End Sub

264. Private Sub cmdReadClick()

265. Dim ind, sign, jj, ii, kk, jl As Integersign = 01. ComDlgopen. ShowOpen

266. Do While Not E0F(1) Line Input #1, str

267. Left(str, 1) = "#" Or Left(str, 1) = "!" Or Left(str, 1) = " " Then 'определение комментарий или нет sign = sign + 1

268. GoTo nextline 'пропускаем считывание данных так как это комментарий1. End If1. sign <= 1 Then ind = 1 k = 1 j = 1

269. Private Sub cmdExitClick()1. End End Sub

270. Private Sub FormLoad() Optnorm = True Optreg = True NeregFrm.Visible = False NullStrFrm.Visible = False flag = False End Sub

271. Private Sub LblgroupClick() NeregFrm.Visible = False NullStrFrm.Visible = False

272. WellocFrm.Visible = True Optreg = True End Sub

273. Private Sub NullNewoptClick() If Optneregold = True Then MsgBox "Извините эта комбинация временно заблокирована", vbExclamation Optneregnew = True End If End Sub

274. Private Sub OptneregoldClick() If NullNewopt = True Then MsgBox "Извините эта комбинация временно заблокирована", vbExclamation Optneregnew = True End If End Sub

275. Private Sub OptravnClick() txtme.Visible = False Lblme.Visible = False txtmt.Visible = False Lblmt.Visible = False txtse.Visible = False Lblse.Visible = False txtst.Visible = False Lblst.Visible = False End Sub

276. Private Sub OptregClick() Optneregold.Visible = False Optneregnew.Visible = False End Sub

277. Private Sub OpttreugClick() txtme.Visible = False Lbl me.Visible = Falsetxtmt.Visible = False Lblmt.Visible = False txtse.Visible = False Lblse.Visible = False txtst.Visible = False Lblst.Visible = False End Sub

278. Public Function Simpsonl(ByVal a As Single, ByVal b As Single, ByVal z As Single,

279. ByVal mat As Single, ByVal sig As Single) As Double

280. Функция вычисляющая двойной интеграл, по методу Симпсона, для случая равномерного распределения 'для одной скважинысодержит ссылку на функцию вычисляющую 'внутренний интеграл, по тому же методу 'а и b пределы интегрирования, z координата

281. Simpsonl = 12 End Function

282. Public Function Simpson2(ByVal с As Single, ByVal z As Single,

283. ByVal mat As Single, ByVal sig As Single) As Double

284. Функция вычисляющая внутренний интеграл, по методу Симпсона, 'интеграл от экспонентыс предел интегрирования, z координата

285. У2 = Exp(( -x2 * x2) / (2 * sig л 2))s = = yO + 4 * yl + y2 12 = 12 + S Loop While (i < nn) 12 = 12 * h / 3 Loop Until (Abs(II 12) < e)1. Simpson2 =12 End Function

286. Public Function Simpsonnorm(ByVal a As Single, ByVal z As Single, ByVal mat As Single,

287. ByVal mats As Single, ByVal sigc As Single, ByVal sigs As Single) As Double

288. Функция вычисляющая функцию распр., по методу Симпсона, 'а и z пределы интегрирования, z координата

289. У2 = Exp(- (x2 (matc - mats)) A 2 / (2 * (sigc л 2 + sigs л 2) )- Exp(- (x2 (mat с + mats)) A 2 / (2 * (sigc 2 + sigs л 2) )1. S = = yO + 4 * yl + У2 12 = 12 + S1.op While (i < nn) 12 = 12 * h / 3 Loop Until (Abs(II 12) < e)

290. Simpsonnorm = 12 End Function

291. Public Function Simpsonravn(ByVal a As Single, ByVal b As Single, ByVal z As Single, ByVal mat As Single,

292. ByVal sig As Single, ByVal к As Integer) As Double

293. Функция вычисляющая плотность распр. в случае равн. расп. для центров, по методу Симпсона,а и b пределы интегрирования, z координата1. Dim nn, i, j As Integer

294. Simpsonravn = cnst * 12 End Function

295. S = S * i Next i Fctrl = S Exit Function End If1. nend = 0 Then Fctrl = 1 Exit Function End If1. nend < 0 Thenerrfctr = MsgBox("Факториал от отрицательных значений не определен", vbCritical, "Ошибка") Exit Function End If End Function

296. Public Function Trans102(ByVal a As Long, ByVal b As Integer, ByRef StrLine() As Integer)ф-ция перевода из десятич. в двоичную

297. Dim с As Long Dim ii As Integer

298. For ii = 1 To b 'забиваем массив нулями1. StrLine(ii) = 0 Next ii

299. For ii = 1 To b 'переводим в двоичн. сист. и изменяем в нужных местах массив If а = 1 Then StrLine(b + 1 ii) = 1 GoTo all End If1. a <> 0 And a <> 1 Then с = aa = Int(a / 2)

300. Int(c /2) * 2 + 1 = с Then

301. StrLine(b + 1 ii) =1 End If

302. Int(c /2) * 2 + 0 = с Then

303. StrLine(b + 1 ii) = 0 End If End If Next ii all:1. End Function

304. Public Function CoDistrnorm(ByVal u As Single, ByVal v As Single, ByVal matc As Single, ByVal mats As Single,

305. ByVal sigс As Single, ByVal sig s As Single) As Doubleфункция плотности совместного распределения для аргументов и и v 'для нормально распределенных размеров и центра линз

306. CoDistrnorm = (4 * 3.141592653 * sigc * sigs) А (-1)

307. Exp(-(sigc A (-2) * (u + v 2 * matc) Л 2 + sigs л (-2) * (u - v - 2 * mats) л 2) /8) End Function

308. Public Function CoDistrravn(ByVal u As Single, ByVal v As Single, ByVal mat As Single,

309. CoDistrravn = 0 End If End Function

310. Public Function CoDistrtreug(ByVal и As Single, ByVal v As Single, ByVal mat As Single,

311. CoDistrtreug = 0 End If End Function

312. Public Function Simpsonlgr(ByVal a As Single, ByVal b As Single, ByVal с As Single,

313. ByVal d As Single, ByVal f As Single, ByVal g As1. Single,

314. ByVal mat As Single, ByVal matc As Single, ByVal sig As Single, ByVal sigc As Single) As Double

315. Simpsonlgr = 12 End Function

316. Public Function Simpson2gr(ByVal u As Single, ByVal с As Single, ByVal d As Single,

317. ByVal f As Single, ByVal g As Single, ByVal mat As Single, ByVal matc As Single,

318. ByVal sig As Single, ByVal sigc As Single) As1. Double

319. Функция вычисляющая внутренний интеграл, по методу Симпсона, 'для группы скважинс и d пределы интегрирования, и координата

320. Dim nn, i, j As Integer Dim h, xO, xl, x2 As Single Dim a, b, yO, yl, y2 As Double Dim II, 12, S As Double1. = 0 nn = 10h = (d c) / nn Do1. i > 0 Then II = 12 nn = nn * 2 h = h / 2 End If 12 = 0 i = 0 Doi = i + 2 x2 = с + i * h xl = x2 h xO = xl - h

321. Optnorm = True Then yO = CoDistrnorm(u, xO, matc, yl = CoDistrnorm(u, xl, matc, y2 = CoDistrnorm(u, x2, matc, End If

322. Optravn = True Then yO = CoDistrravn(u, xO, mat, yl = CoDistrravn(u, xl, mat, y2 = CoDistrravn(u, x2, mat, End If

323. У2 = CoDistr treug(u, x2 , mat, sig, f. g)1 если ось Y то по ней pacnp.если ось X то по ней распр.1. End If End If

324. S = yO + 4 * yl + y2 12 = 12 + S Loop While (i < nn) 12 = 12 * h / 3 Loop Until (Abs(II 12) < e)

325. Simpson2gr = 12 End Function

326. Public Function Mufunc(ByVala As Single, ByVal b As Single,

327. ByVal с As Single, ByVal d As Single) As Double

328. Функция вычисляющая коэффициент мю (через интеграл), для задачи о трещине 'а,с и b,d координаты границ трещины

329. Dim nn, i, j, kl, k2 As Integer

330. Dim h, xO, xl, x2, cosalf, sinalf As Single

331. Dim t2, tl, tO, y2, yl, yO As Single

332. YYO = Cx * Exp(-(xO (me + kl * ml)) Л 2 / (2 * (se A 2 + si Л 2))) * Су * Simpsonnorm(dlimy, yO, mt, ms, st, ss) * cosalf

333. Cy * Exp ( (yO - (mt + k2 * ms) ) Л 2 / (2 * (st Л 2 + ss Л 2) ) ) * Cx * Simpsonnorm(dlimx, xO, me, ml, se, si) * sinalf

334. YY1 = Cx * Exp(-(xl (me + kl * ml)) л 2 / (2 * (se л 2 + si л 2))) * Су * Simpsonnorm(dlimy, yl, mt, ms, st, ss) * cosalf

335. Cy * Exp ( (yl - (mt + k2 * ms) ) л 2 / (2 * (st л 2 + ss л 2) ) ) * Cx * Simpsonnorm(dlimx, xl, me, ml, se, si) * sinalf

336. YY2 = Cx * Exp(-(x2 (me + kl * ml)) л 2 / (2 * (se л 2 + si л 2))) * Cy * Simpsonnorm(dlimy, y2, mt, ms, st, ss) * cosalf

337. Cy * Exp(-(y2 (mt + k2 * ms)) л 2 / (2 * (st л 2 + ss л 2))) * Cx * Simpsonnorm(dlimx, x2, me, ml, se, si) * sinalf End If

338. Optravn = True Then YYO = Simpsonravn(xleft, xright, xO, ml, si, kl) * Cy * Simpsonl(ydown, yup, yO, ms, ss) * cosalf

339. Simpsonravn(ydown, yup, yO, ms, ss, k2) * Cx * Simpsonl(xleft, xright, xO, ml, si) * sin alf

340. YY1 = Simpsonravn(xleft, yl, ms, ss) * cosalf

341. Simpsonravn(ydown, xl, ml, si) * sinalf

342. YY2 = Simpsonravn(xleft, y2, ms, ss) * cosalf

343. Simpsonravn(ydown, x2, ml, si) * sinalf End If

344. Simpsonl(xleft, xright, Cy * Simpsonl(ydown, yup,1. Simpsonl(xleft, xright,

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