RU2573269C2 - Способ и система для создания контрольных точек во время моделирования - Google Patents

Способ и система для создания контрольных точек во время моделирования Download PDF

Info

Publication number
RU2573269C2
RU2573269C2 RU2012154894/08A RU2012154894A RU2573269C2 RU 2573269 C2 RU2573269 C2 RU 2573269C2 RU 2012154894/08 A RU2012154894/08 A RU 2012154894/08A RU 2012154894 A RU2012154894 A RU 2012154894A RU 2573269 C2 RU2573269 C2 RU 2573269C2
Authority
RU
Russia
Prior art keywords
memory
correlation
control point
data
time
Prior art date
Application number
RU2012154894/08A
Other languages
English (en)
Other versions
RU2012154894A (ru
Inventor
Лицзянь ТАНЬ
Джон Э. Андерсон
Original Assignee
Эксонмобил Апстрим Рисерч Компани
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Эксонмобил Апстрим Рисерч Компани filed Critical Эксонмобил Апстрим Рисерч Компани
Publication of RU2012154894A publication Critical patent/RU2012154894A/ru
Application granted granted Critical
Publication of RU2573269C2 publication Critical patent/RU2573269C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01VGEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
    • G01V1/00Seismology; Seismic or acoustic prospecting or detecting
    • G01V1/28Processing seismic data, e.g. for interpretation or for event detection
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01VGEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
    • G01V99/00Subject matter not provided for in other groups of this subclass
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01VGEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
    • G01V1/00Seismology; Seismic or acoustic prospecting or detecting
    • G01V1/28Processing seismic data, e.g. for interpretation or for event detection
    • G01V1/282Application of seismic models, synthetic seismograms
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01VGEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
    • G01V1/00Seismology; Seismic or acoustic prospecting or detecting
    • G01V1/001Acoustic presence detection
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01VGEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
    • G01V1/00Seismology; Seismic or acoustic prospecting or detecting
    • G01V1/003Seismic data acquisition in general, e.g. survey design
    • G01V1/005Seismic data acquisition in general, e.g. survey design with exploration systems emitting special signals, e.g. frequency swept signals, pulse sequences or slip sweep arrangements
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01VGEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
    • G01V1/00Seismology; Seismic or acoustic prospecting or detecting
    • G01V1/28Processing seismic data, e.g. for interpretation or for event detection
    • G01V1/30Analysis
    • G01V1/301Analysis for determining seismic cross-sections or geostructures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01VGEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
    • G01V2210/00Details of seismic processing or analysis
    • G01V2210/60Analysis
    • G01V2210/67Wave propagation modeling
    • G01V2210/675Wave equation; Green's functions
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01VGEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
    • G01V2210/00Details of seismic processing or analysis
    • G01V2210/60Analysis
    • G01V2210/67Wave propagation modeling
    • G01V2210/679Reverse-time modeling or coalescence modelling, i.e. starting from receivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • General Life Sciences & Earth Sciences (AREA)
  • Geophysics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Geology (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Geophysics And Detection Of Objects (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Retry When Errors Occur (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Изобретение относится к средствам создания контрольных точек во время моделирования. Технический результат заключается в снижении вычислительных затрат компьютерного моделирования. Выбирают временной шаг для сохранения контрольной точки корреляции, причем контрольная точка корреляции содержит данные, используемые для корреляции значения, распространяющегося в прямом направлении, сформированного посредством компьютерного моделирования, причем компьютерное моделирование не может быть повторно начато со значений, сохраненных в контрольной точке корреляции. Причем выбор временного шага для сохранения контрольной точки корреляции предусматривает определение баланса между сохранением контрольной точки полного состояния, с которой компьютерное моделирование может быть повторно начато, и сохранением контрольной точки корреляции и сокращением требований к объему памяти компьютера. Выделяют пространство памяти для контрольной точки корреляции. Значение, распространяющееся в обратном направлении, из данных измерений коррелируют со значением, распространяющимся в прямом направлении, из компьютерного моделирования, причем прямое значение, распространяющееся в прямом направлении, сохраняется в контрольной точке корреляции. 4 н. и 24 з.п. ф-лы, 33 ил., 3 табл.

Description

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
Эта заявка испрашивает приоритет предварительной заявки США 61/346298, поданной 19 мая 2010 года, озаглавленной "СПОСОБ И СИСТЕМА ДЛЯ СОЗДАНИЯ КОНТРОЛЬНЫХ ТОЧЕК ВО ВРЕМЯ МОДЕЛИРОВАНИЯ", которая включена в настоящий документ посредством ссылки во всей своей полноте.
ОБЛАСТЬ ТЕХНИКИ
Изобретение в общем имеет отношение к области геофизической разведки и, в частности, к обработке сейсмических данных. В частности, изобретение имеет отношение к системе для сохранения контрольных точек для улучшения эффективности компьютерных моделей, которые осуществляют доступ к данным моделирования в обратном временном порядке, например, при миграции сейсмических данных.
УРОВЕНЬ ТЕХНИКИ
Этот раздел предназначен для того, чтобы представить различные аспекты области техники, которые могут соответствовать иллюстративным вариантам осуществления настоящей методики. Предполагается, что это описание поможет предоставить основу для обеспечения лучшего понимания конкретных аспектов настоящей методики. В соответствии с этим следует понимать, что этот раздел необходимо читать в этом контексте, а не как признание предшествующего уровня техники.
Многие способы оценки параметров, инверсии и построения изображений выполняют вычисления прямого моделирования, применяющего последовательность шагов, которые экстраполируются в прямом направлении во времени от начального состояния. Соответствующий способ инверсии или построения изображений применяет сопряженный оператор, продвигающийся назад во времени от конечного состояния. Затем способ может сформировать информацию о системе посредством взаимной корреляции прямого моделирования с сопряженным моделированием на одинаковых временных шагах. Сформированная информация затем может использоваться для улучшения параметров моделирования, используемых для соответствия доступным данным, а также в других целях. В качестве примера информация может использоваться для формирования градиента или гессиана, связывающего изменения в целевой функции с изменениями в параметрах моделирования. В другом примере информация может использоваться для создания изображения, как это делается в глубинной миграции в обратном времени (RTM).
Эти методики требуют, чтобы к моделированию в прямом направлении во времени был получен доступ в обратном временном порядке для вычисления взаимной корреляции. Однако размер информации, необходимой для сохранения прямого моделирования для всех временных шагов, часто превышает доступную память.
Например, глубинная миграция в обратном времени (RTM) без суммирования обычно используется для построения изображений подземных структур при выполнении нефтегазовой разведки с помощью сейсмических данных. Во время миграции RTM волновое поле приемника, зарегистрированное в сейсмическом эксперименте, распространяется в обратном временном порядке и подвергается взаимной корреляции с моделированием в прямом временном порядке волнового поля источника. Это означает, что к моделированию источника в прямом временном порядке нужно получить доступ в обратном временном порядке. Прямолинейный подход состоял бы в том, чтобы вычислить и сохранить все временные шаги распространяющегося в прямом направлении волнового поля источника во всех подземных местоположениях. Это может быть непрактично из-за огромных объемов используемых данных. В качестве примера, для стандартного тестового проекта усовершенствованного моделирования (SEAM) общества геофизиков-разведчиков (SEG) это может означать хранение 40000 временных шагов с объемом 84 гигабайта каждый, что в общей сложности составляет приблизительно 3,36 петабайт данных. Проблематичным является не только требуемый объем памяти, но и времена доступа, необходимые для перемещения этого объема данных.
Для уменьшения необходимой памяти состояние волнового поля прямого моделирования, которое называется здесь контрольной точкой с полным состоянием, может быть определено как включающее в себя всю информацию, необходимую либо для выполнения взаимной корреляции, либо для повторного начала прямого моделирования от данного временного шага. Контрольные точки с полным состоянием могут затем быть сохранены в меньшем количестве тщательно выбранных временных шагов, с тем чтобы прямое моделирование могло быть повторно начато от сохраненных контрольных точек и распространено до требуемых временных шагов. (Термин контрольная точка также может быть использован для обозначения упомянутых выше тщательно выбранных временных шагов в отличие от данных, сохраненных на таких временных шагах). Таким образом, прямое моделирование может быть при необходимости повторно вычислено на временных шагах в обратном временном порядке, начиная с сохраненных контрольных точек. Память контрольной точки повторно используется для новых контрольных точек всякий раз, когда она больше не нужна. Компромисс состоит в выполнении большего количества вычислений для минимизации требований хранения и ввода/вывода. Эта методика может быть полезна всякий раз, когда используемые размеры данных намного больше, чем доступная память.
Гриванк (Griewank) и Уолтэр (Walther) предложили "оптимальный" способ выбора, какие временные шаги должны быть отмечены контрольной точкой, при условии, что доступен указанный объем памяти, в котором можно сохранить отмеченные контрольной точкой состояния волнового поля прямого моделирования. См., например, Griewank, A., "Achieving logarithmic growth of temporal and spatial complexity in reverse automatic differentiation," 1 Optimization Methods and Software 35-54 (1992); Griewank, A., Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation, Society for Industrial and Applied Mathematics (Philadelphia, PA, 2000); Griewank, A. and A. Walther, "Algorithm 799: An implementation of checkpointing for the reverse or adjoint mode of computational differentiation," 26 ACM Transactions on Mathematical Software 19-45 (2000).
В примере моделирования SEAM можно предположить, что имеется 40000 временных шагов в прямом моделировании. С использованием хранилища или памяти для сохранения контрольных точек буфера состояния волнового поля со 100 источниками в каждый момент времени к прямому моделированию можно получить доступ в обратном порядке с использованием 114747 временных шагов прямого моделирования, используя схему создания контрольных точек Гриванка. Таким образом, коэффициент экономии пространства памяти составляет примерно 400 за счет выполнения в 2,87 раз больше вычислений для прямого моделирования. Для применения миграции RTM повторное вычисление временных шагов для прямого моделирования от контрольных точек часто может быть более быстрым, чем выполнение ввода/вывода, требуемых для доступа к сохраненным временным шагам прямого моделирования, даже если доступно достаточное дисковое пространство для хранения всех временных шагов прямого моделирования, в случае медленного диска и быстрого вычисления.
Саймз (Symes) применил оптимальное создание контрольных точек Гриванка как эффективную стратегию реализации миграции в обратном времени. Symes, W.W., 2007, Reverse time migration with optimal checkpointing, 72 Geophysics (No. 5), P.SM213-SM221. Способ создания контрольных точек может быть особенно важным для миграции RTM, которая включает в себя физику затухания волнового поля (например, построение изображений с использованием P-волн и S-волн), поскольку стратегия обращения по времени прямого моделирования с использованием создания контрольных точек волнового поля всегда является устойчивой. Для сравнения альтернативная стратегия реализации миграции RTM сохранения граничных значений и заключительного состояния волнового поля и выполнения обратной во времени экстраполяции моделирования волнового поля источника может являться нестабильной. Кроме того, нестабильность в этом методе делает ее неподходящей стратегией применения, когда затухание включено как часть физики в прямое моделирование.
Способ создания контрольных точек для выполнения обращения во времени прямого моделирования имеет намного более общее применение, чем только для миграции RTM. Применения являются довольно общими и связаны с любым продвигающимся вперед по времени средством моделирования. Они включают в себя средства моделирования коллектора, потока жидкости, теплопередачи, геологическое моделирование бассейна, а также сейсмическую полную инверсию волнового поля (FWI). См., например, Tarantola, A., 1984, Inversion of seismic reflection data in the acoustic approximation: 49 Geophysics 1259-1266; Tarantola, A., Inverse Problem Theory: Method for Data Fitting and Model Parameter Estimation, Elsevier 125-133, 144-258 (1987); Plessix, R. E., "A review of the adjoint-state method for computing the gradient of a functional with geophysical applications," 167 Geophysical Journal International 495-503 (2006). Krebs, J. R., J. E. Anderson, D. Hinkley, R. Neelamani, S. Lee, A. Baumstein, M. D. Lacasse, "Fast Full-Wavefield Seismic Inversion Using Encoded Sources," 74 Geophysics P.WCC177-WCC188 (2009). The techniques may also apply to methods of automatic differentiation. See, e.g., Griewank, A., Juedes, D., and Srinivasan, "ADOL-C, a package for the automatic differentiation of algorithms written in C/C++," Preprint MCS-180-1190, Mathematics and Computer Science Division, Argonne National Laboratory, Argonne, Illinois (1990); Griewank, A., Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation, Society for Industrial and Applied Mathematics (Philadelphia, PA, 2000).
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Иллюстративный вариант осуществления настоящей методики обеспечивает способ снижения вычислительных затрат компьютерного моделирования. Способ включает в себя выполнение стратегии создания контрольных точек, причем стратегия создания контрольных точек содержит этап, на котором сохраняют контрольную точку корреляции (иногда называемую здесь "буфером корреляции") на временном шаге, причем контрольная точка корреляции включает в себя данные, используемые для корреляции распространяющегося в прямом направлении значения, сформированного посредством компьютерного моделирования, причем компьютерное моделирование не может быть повторно начато от значений, сохраненных в контрольной точке корреляции. Стратегия создания контрольных точек также содержит этапы, на которых выделяют пространство памяти для контрольной точки корреляции и выполняют компьютерное моделирование на каждом из множества временных шагов. В каждом из множества временных шагов распространяющееся в обратном направлении значение из данных измерений коррелируется с распространяющимся в прямом направлении значением из компьютерного моделирования. Распространяющееся в прямом направлении значение сохраняется в контрольной точке корреляции.
Способ может также содержать этапы, на которых сохраняют контрольную точку с полным состоянием и повторно начинают моделирование от контрольной точки с полным состоянием. Кроме того, способ может содержать этап, на котором определяют оптимальное местоположения для сохранения контрольной точки, причем оптимальное местоположение представляет собой пространство памяти, выделенное в памяти графического процессора (GPU), оперативной памяти (RAM), на виртуальном диске в оперативной памяти (RAM-диске), на накопителе на дисках или в любой их комбинации. Определение оптимального местоположения по меньшей мере частично основано на скорости доступа к пространству памяти. Пространство памяти, используемое для контрольной точки корреляции, может быть меньше, чем пространство памяти, используемое для контрольной точки с полным состоянием. Оптимизация стратегии создания контрольных точек может содержат этап, на котором определяют вычислительные затраты, соответствующие сохранению контрольной точки корреляции. Вычислительные затраты могут быть минимизированы по меньшей мере частично на основе скорости доступа для каждого из множества блоков хранения и отношения пространства памяти, требуемого для контрольной точки с полным состоянием, к пространству памяти, требуемому для контрольной точки корреляции. Может быть сформирована таблица, которая включает в себя временные шаги и тип контрольной точки, которая должна быть сохранена, в каждом из временных шагов.
Определение вычислительных затрат может содержать этапы, на которых вычисляют максимальное количество контрольных точек корреляции, которые могут быть сохранены в блоке быстрой памяти, и вычисляют максимальное количество контрольных точек корреляции, которые могут быть сохранены в блоке медленной памяти. Если какие-либо контрольные точки корреляции могут быть сохранены в быстрой памяти, вычисляют оптимальное количество проходов, если используется только быстрая память, и добавляют его в список. Минимальное количество проходов, если используется только быстрая память, может быть вычислено и добавлено в список. Если какие-либо контрольные точки корреляции могут быть сохранены в медленной памяти, минимальное количество проходов, если используются все типы памяти, может быть вычислено и добавлено в список. Оптимальное количество проходов, если используется вся быстрая память и сохраняется по меньшей мере одна контрольная точка корреляции в медленной памяти, может быть вычислено и добавлено в список, если оно меньше последнего значения в списке. Целочисленное значение, ближайшее к каждому значению в списке, может быть добавлено в список. Могут быть вычислены затраты для каждого значения в списке, и могут быть возвращены минимальные затраты.
Способ может содержать этап, на котором формируют изображение подземной области на основе сейсмических данных. Способ также может содержать этап, на котором составляют хронологию данных коллектора с моделированием коллектора.
Другой иллюстративный вариант осуществления обеспечивает способ сравнения собранных данных с данными моделирования. Способ содержит этапы, на которых распространяют в обратном направлении собранные данные по решетке и выполняют компьютерное моделирование для формирования распространяющихся в прямом направлении данных по решетке. Несколько буферов корреляции могут быть сохранены во время компьютерного моделирования, причем моделирование не может быть повторно начато ни от одного из буферов корреляции. Данные, сохраненные в буферах корреляции, могут быть сравнены с распространяющимися в обратном направлении данными в каждой точке в решетке.
Способ может содержать этап, на котором сохраняют контрольную точку с полным состоянием (также называемую здесь "буфером с полным состоянием") во время моделирования, причем моделирование может быть повторно начато от контрольной точки с полным состоянием. Способ также может содержать этапы, на которых вычисляют затраты для сохранения контрольной точки с полным состоянием и определяют временной шаг для сохранения контрольной точки с полным состоянием по меньшей мере частично на основе затрат. Распространяющиеся в прямом направлении данные могут быть коррелированы с распространяющимися в обратном направлении данными на следующем временном шаге.
Способ может содержать этапы, на которых сохраняют множество контрольных точек корреляции в быстрой памяти и сохраняют по меньшей мере одну контрольную точку корреляции в медленной памяти. Кроме того, способ может содержать этап, на котором сохраняют по меньшей мере одну контрольную точку с полным состоянием, причем моделирование может быть повторно начато от контрольной точки с полным состоянием. Способ может содержать этап, на котором сохраняют по меньшей мере одну контрольную точку с полным состоянием в быстрой памяти.
Другой иллюстративный вариант осуществления настоящей методики обеспечивает систему для выполнения корреляции данных моделирования с собранными данными. Система включает в себя процессор и систему хранения, причем система хранения включает в себя структуры данных, которые представляют данные измерений и алгоритм распространения, выполненный с возможностью распространять данные измерений в обратном временном порядке через решетку. Система хранения также включает в себя компьютерную модель, выполненную с возможностью формировать моделируемые в прямом временном порядке данные по решетке. Система также включает в себя память, причем память включает в себя код для того, чтобы заставить процессор распространять данные измерений в обратном временном порядке по решетке, заполнять решетку данными моделирования в прямом временном порядке из компьютерного моделирования, сохранять контрольную точку корреляции на временном шаге во время компьютерного моделирования и выполнять корреляцию распространяющихся в обратном направлении данных с данными моделирования, сохраненными в контрольной точке корреляции.
Процессор может включать в себя одно ядро, много ядер, графический процессор или любую их комбинацию. Контрольная точка корреляции может быть сохранена в памяти. Память может включать в себя оперативную память (RAM), виртуальный диск в оперативной памяти (RAM-диск), память графического процессора или любые их комбинации. Память может включать в себя код, выполненный с возможностью сохранять контрольную точку с полным состоянием на временном шаге, причем компьютерное моделирование может быть повторно начато от контрольной точки с полным состоянием.
Другой иллюстративный вариант осуществления настоящей методики обеспечивает способ выполнения миграции сейсмических данных для формирования сейсмических изображений. Способ включает в себя этапы, на которых распространяют измеренные сейсмические данные в обратном временном порядке по сейсмической решетке, распространяют моделируемые импульсы возбуждения в прямом временном порядке по сейсмической решетке и сохраняют по меньшей мере одну контрольную точку корреляции, причем контрольная точка корреляции содержит только моделируемые импульсы возбуждения, используемые для интересующей взаимной корреляции. Интенсивность измеренных сейсмических данных подвергается взаимной корреляции с моделируемыми импульсами возбуждения в каждой точке в сейсмической решетке с использованием данных из контрольной точки корреляции.
Способ может содержать этап, на котором сохраняют по меньшей мере одну контрольную точку с полным состоянием на временном шаге, причем по меньшей мере одна контрольная точка с полным состоянием включает в себя все данные, необходимые для повторного начала распространения от временного шага. Распространение моделируемых импульсов возбуждения в прямом временном порядке может быть выполнено с использованием полного двухстороннего волнового уравнения. Распространение моделируемых импульсов возбуждения в прямом временном порядке может быть выполнено с использованием методики миграции Кирхгоффа, миграции луча или миграции с односторонним волновым уравнением.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Преимущества настоящей методики лучше понятны посредством ссылки на последующее подробное описание и приложенные чертежи.
Фиг. 1 - схема интересующей области, иллюстрирующая один сейсмический эксперимент в земной среде в соответствии с иллюстративным вариантом осуществления настоящей методики;
Фиг. 2 - схема, иллюстрирующая операцию миграции в обратном времени (RTM) в соответствии с иллюстративным вариантом осуществления настоящей методики;
Фиг. 3A - блок-схема последовательности операций, показывающая способ выполнения взаимной корреляции в обратном времени, такой как миграция RTM, в соответствии с иллюстративным вариантом осуществления настоящей методики;
Фиг. 3B - блок-схема последовательности операций, показывающая прямое распространение волнового поля для взаимной корреляции в обратном времени в соответствии с иллюстративным вариантом осуществления настоящей методики;
Фиг. 4 - схема, полезная при иллюстрировании минимальных вычислительных затрат с использованием контрольной точки с полным состоянием на временном шаге с индексом k, в соответствии с иллюстративными вариантами осуществления настоящей методики;
Фиг. 5A-B - схемы, полезные при иллюстрировании временных шагов, на которых контрольные точки с полным состоянием или контрольные точки корреляции могут быть сохранены, в соответствии с иллюстративными вариантами осуществления настоящей методики;
Фиги. 6A-C - схемы, полезные при иллюстрировании операции схемы Гриванка и оптимальной схемы создания контрольных точек упрощенного моделирования, имеющего 55 временных шагов, в соответствии с иллюстративными вариантами осуществления настоящей методики;
Фиг. 7A-C - схемы, которые сравнивают создание контрольных точек для стандартных корреляций и создание контрольных точек, когда прошлое состояние в сопряженном вычислении влияет на взаимную корреляцию с текущим состоянием при прямом вычислении, в соответствии с иллюстративными вариантами осуществления настоящей методики;
Фиг. 8A-E - схемы, полезные при иллюстрировании нескольких ситуаций, в которых объем быстрой и медленной памяти различен, в то время как пространство памяти, требуемое контрольной точкой каждого типа предполагается одинаковым, в соответствии с иллюстративными вариантами осуществления настоящей методики;
Фиг. 9A-E - схемы, полезные при иллюстрировании нескольких ситуаций, в которых объем быстрой и медленной памяти различен, причем пространство памяти, требуемое для контрольной точки корреляции, равно двум, и для контрольной точки с полным состоянием равно трем, в соответствии с иллюстративными вариантами осуществления настоящей методики;
Фиг. 10 - блок-схема последовательности операций способа реализации моделирования, которое использует контрольные точки корреляции, в соответствии с иллюстративными вариантами осуществления настоящей методики;
Фиг. 11 - блок-схема последовательности операций способа вычисления минимальных затрат без контрольных точек в соответствии с иллюстративными вариантами осуществления настоящей методики;
Фиг. 12 - блок-схема последовательности операций способа вычисления минимальных затрат и наилучшего местоположения для взаимной корреляции n состояний в соответствии с иллюстративными вариантами осуществления настоящей методики;
Фиг. 13 - блок-схема последовательности операций, показывающая, каким образом предварительно вычислить таблицу минимальных затрат, соответствующих контрольной точке, взятой в оптимальном местоположении k, в соответствии с иллюстративными вариантами осуществления настоящей методики;
Фиг. 14 - блок-схема последовательности операций способа вычисления минимальных затрат и оптимальной стратегии создания контрольных точек для корреляции n состояний с nƒ_used буферами состояния быстрой памяти и ns_used буферами состояния медленной памяти в ситуации, в которой начальная контрольная точка находится в памяти типа StartType, в соответствии с иллюстративными вариантами осуществления настоящей методики;
Фиг. 15 - график, показывающий отношение между минимальными затратами и местоположением первой контрольной точки с полным состоянием (k) для взаимной корреляции 266 шагов с использованием четырех буферов, когда S/C=12 и Rs=Ws=Rc=Wc=0, в соответствии с иллюстративными вариантами осуществления настоящей методики;
Фиг. 16 - график, показывающий отношение между минимальными затратами и местоположением первой контрольной точки с полным состоянием для взаимной корреляции 266 шагов с использованием четырех буферов, когда S/C=12, Rs=Ws=12 и Rc=Wc=1, в соответствии с иллюстративными вариантами осуществления настоящей методики;
Фиг. 17 - график, показывающий увеличение производительности оптимальной стратегии создания контрольных точек с быстрой и с медленной памятью по сравнению с оптимальной стратегией создания контрольных точек только с быстрой памятью и по сравнению со стратегией создания контрольных точек Гриванка, в соответствии с иллюстративными вариантами осуществления настоящей методики
Фиг. 18 - блок-схема иллюстративной кластерной вычислительной системы 1800, которая может использоваться для реализации настоящей методики, в соответствии с иллюстративными вариантами осуществления настоящей методики.
ПОДРОБНОЕ ОПИСАНИЕ ИЛЛЮСТРАТИВНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
В последующем разделе подробного описания конкретные варианты осуществления настоящей методики описаны в связи с иллюстративными вариантами осуществления. Однако поскольку последующее описание является специфичным для конкретного варианта осуществления или конкретного использования настоящей методики, подразумевается, что оно предназначено только для иллюстративных целей и лишь обеспечивает описание иллюстративных вариантов осуществления. В соответствии с этим настоящая методика не ограничена описанными ниже конкретными вариантами осуществления, но напротив, такая методика включает в себя все альтернативы, модификации и эквиваленты, находящиеся в пределах сущности и объема приложенной формулы изобретения.
Сначала для простоты ссылок сформулированы некоторые термины, использованные в этой заявке, и их значения, использованные в этом контексте. В тех случаях, когда используемому здесь термину не дано определение ниже, ему следует дать самое широкое определение, которое специалисты в подходящей области техники дали этому термин, как отражено по меньшей мере в одной печатной публикации или выданном патенте. Кроме того, настоящие методики не ограничены использованием показанных ниже терминов, и все эквиваленты, синонимы, новые разработки и термины или методики, которые служат той же самой или аналогичной цели, рассматриваются как находящиеся в объеме настоящей формулы изобретения.
"Алгоритм" несет свое обычное значение и относится без ограничения к любой последовательности повторимых этапов, которые приводят к дискретному "Значению". Например, алгоритм может включать в себя любое математическое, статистическое, позиционное и/или реляционное вычисление между любыми количествами определенных пользователем, предварительно заданных, автоматически определенных и/или доступных в промышленной отрасли или системе элементов данных. В нескольких вариантах осуществления различные алгоритмы могут быть выполнены над подчиненными элементами данных в отношении ранее определенной выборки оценки данных, чтобы получить единственное значимое значение данных.
"Машиночитаемый носитель" или "непреходящий машиночитаемый носитель" используется здесь для обозначения любого непреходящего хранилища и/или среды передачи, которые участвуют в обеспечении команд процессору для исполнения. Такая среда может включать в себя, но без ограничения, энергонезависимые носители и энергозависимые носители. Энергонезависимые мультимедиа включают в себя, например, NVRAM или магнитные или оптические диски. Энергозависимые носители включают в себя динамическую память, такую как оперативная память. Стандартные формы машиночитаемых носителей включают в себя, например, гибкий диск, жесткий диск, массив жестких дисков, магнитную ленту или любой другой магнитный носитель, магнитооптический носитель, компакт-диск (CD-ROM), голографический носитель, любой другой оптический носитель, RAM, PROM и EPROM, EPROM FLASH-память, твердотельный носитель, такой как карта памяти, любая другая микросхема памяти или картридж, или любой другой материальный носитель, из которого компьютер может считывать данные или команды.
Используемый здесь термин "система координат" обозначает прямоугольную (Декартову) координатную область с пространственными координатами (x, y, z) и координатой t времени. Сейсмические данные обычно собираются и хранятся в системе координат. Пространственные координаты x и y могут представлять ортогональные горизонтальные координатные направления, такие как продольное и поперечное направления съемки, в котором получены данные. Пространственная координата z обычно представляет вертикальное координатное направление, такое как глубина, измеряемая как положительное значение в направлении вниз.
"Взаимная корреляция" - процесс, который измеряет, насколько два временных ряда чисел сходны друг с другом. Взаимная корреляция может быть линейной или нелинейной, может рассматривать аспекты взаимной информации (например, основанные на энтропии) или может быть выполнена любым другим методом, который считается полезным для пользователя. Здесь взаимная корреляция между импульсом возбуждения, спроецированным вперед во времени, и сейсмической записью, спроецированной назад во времени, используется для миграции принятой энергии в точку отражения в подземном пласте, и идентифицирует местоположение (см. миграция).
Термины "отобразить" или "отображение" включают в себя прямое действие, которое вызывает отображение графического изображения физического объекта, а также любое косвенное действие, которое обеспечивает возможность отображать графическое изображение физического объекта. Косвенные действия включают в себя обеспечение веб-сайта, через который пользователю дается возможность воздействовать на отображение, обеспечение ссылок на такой веб-сайт или сотрудничество с компанией, которая выполняет такие прямые или косвенные действия. Таким образом, первая сторона может работать одна или в сотрудничестве с третьей стороной, чтобы дать возможность формировать информацию на дисплее. Дисплей может включать в себя любое устройство, подходящее для отображения опорного изображения, такой как, но без ограничения, дисплей виртуальной реальности, трехмерный дисплей, электронно-лучевой монитор, жидкокристаллический монитор, плазменное устройство, плоскопанельное устройство, принтер, плоттер или устройство вывода любого другого типа. Дисплей может включать в себя устройство, которое было откалибровано с помощью любого традиционного программного обеспечения, предназначенного для использования при оценке, корректировке и/или улучшении результатов отображения.
Термин "иллюстративный" используется здесь исключительно для обозначения "служащий примером, экземпляром или иллюстрацией". Любой вариант осуществления, описанный здесь как "иллюстративный", не должен рассматриваться как предпочтительный или имеющий преимущества по сравнению с другими вариантами осуществления.
"Пластом" называется масса породы или другие подземные твердые фазы, которые являются достаточно отличительным и непрерывными, и они могут быть нанесены на карту, например, сейсмическими методами. Пласт может представлять собой массу породы преимущественно одного типа или комбинации типов. Пласт может содержать одну или более нефтегазоносных зон. Следует отметить, что термины пласт, коллектор и интервал могут использоваться взаимозаменяемо, но будут обычно использоваться для обозначения последовательно уменьшающихся подземных областей, зон или объемов. Более определенно, пласт обычно будет самой большой подземной областью, коллектор обычно будет областью в пределах пласта и обычно будет представлять собой нефтегазоносную зону (пласт, коллектор или интервал, имеющий нефть, газ, сырую нефть и любую их комбинацию), и интервал обычно относится к подобласти или части коллектора. Нефтегазоносная зона может быть отделена от других нефтегазоносных зон зонами низкой проницаемости, такими как микрозернистые известняки, сланцы или подобные сланцам (сильно уплотненные) пески. В одном или более вариантах осуществления нефтегазоносная зона включает в себя сырую нефть в дополнение к песку, глине или другим пористым твердым фазам.
"Сейсмографом" называются активные элементы, которые чувствительны к сейсмическим сигналам и поддерживающему корпусу (или структуре), который поддерживает активные элементы. Активные элементы обычно содержат пьезоэлектрические элементы, но также могут включать в себя оптические элементы, миниатюрные электромеханические элементы датчика и т.п.
"Углеводороды" обычно определяются как молекулы, сформированные прежде всего из атомов углерода и водорода, например нефть и природный газ. Углеводороды также могут включать в себя другие элементы, такие как, но без ограничения, галогены, металлы, азот, кислород и/или сера. Углеводороды могут добываться из коллекторов углеводородов через скважины, проходящие через нефтегазоносный пласт. Углеводороды, полученные из коллектора углеводородов, могут включать в себя, но без ограничения, кероген, битум, пиробитум, асфальтен, нефть или их комбинации. Углеводороды могут быть расположены в недрах земли внутри минеральных материнских пород или смежно с ними. Материнские породы могут включать в себя, но без ограничения, осадочную породу, песок, силицилиты, карбонаты, диатомиты и другие пористые среды.
"Гидрофоном" называются активные элементы, которые чувствительны к волнам сжатия (звуковым волнам) в морской среде. Гидрофон также включает в себя поддерживающий корпус (или структуру), который содержит активные элементы. Активные элементы обычно содержат пьезоэлектрические элементы, но могут также включать в себя другие элементы обнаружения звука.
"Импеданс" представляет собой произведение сейсмической скорости на плотность. Импеданс обычно изменяется среди различных пластов породы, например противоположные стороны границы раздела имеют различные импедансы. Обычно определяются два типа импеданса, Ip и Is, - где Ip представляет собой импеданс P-волны, также называемый акустическим импедансом, и Is представляет собой импеданс S-волны, также называемый сдвиговым импедансом. Коэффициент отражения границы раздела обычно зависит от контраста этих импедансов и плотности породы по обе стороны от границы раздела. В частности, контраст этих свойств геологических слоев влияет на коэффициент отражения на границе, разделяющей эти два слоя. Один геофизический процесс для определения импеданса и/или структуры плотности подземной области, основанный на зарегистрированных сейсмических данных отражения, представляет собой сейсмическую инверсию.
"Инверсия" или "сейсмическая инверсия" представляет собой процесс, посредством которого пытаются найти модель свойств подземной среды, которая воспроизводит измеренный сейсмический ответ в пределах допуска и удовлетворяет геологическим и геофизическим ограничениям. Имеется большое количество известных способов сейсмической инверсии. Эти известные способы попадают в одну из двух категорий: итеративная инверсия и не итеративная инверсия. Не итеративная инверсия выполняется посредством применения некоторой простой фоновой модели и обновления модели на основе входных данных. Для сравнения итеративная инверсия использует обновленную модель в качестве входной информации для следующего этапа инверсии. (См. "миграция").
"Миграция Кирхгоффа" представляет собой способ инверсии с обратным рассеянием, который полагается на статистическую конструктивную интерференцию сигнала и деструктивную интерференцию шума. Это двухэтапная операция, которая сначала проецирует вверх или отслеживает пути лучей от каждой точки из глубины до поверхности и создают график времени прохождения потенциальных путей лучей до поверхностных местоположений. Затем она суммирует отсчеты для каждого окружающего пути во времени на основе местоположений их источника и приемника, заданные графиком времени. Миграция Кирхгоффа может быть основана на одностороннем волновом уравнении и может быть менее точной, чем способ с полным двухсторонним волновым уравнением, такой как обсуждаемая здесь миграция в обратном времени (RTM).
"Морской средой" называется любое местоположение в открытом море. Местоположение в отрытом море может являться мелководным или глубоководным. Морская среда может представлять собой акваторию океана, залив, большое озеро, устье, море или канал.
"Миграция" обычно выполняется во время стадии обработки данных построения сейсмических изображений, чтобы точно расположить подземные сейсмические отражатели. Потребность в сейсмической миграции возникает потому, что переменные сейсмические скорости и наклонные отражатели заставляют сейсмические отражения в не подвергнутых миграции сейсмических изображениях появляться в неправильных местоположениях. Сейсмическая миграция представляет собой операцию инверсии, в которой сейсмические отражения перемещаются или "подвергаются миграции" на их истинные позиции в подземной среде. Существует много различных методик сейсмической миграции. Некоторые из этих методик миграции применяются после суммирования по общей глубинной точке (CMP) записей данных. Как известно в области техники, суммирование по общей глубинной точке представляет собой процедуру обработки данных, при которой несколько путей сейсмических данных, имеющих одинаковую глубинную точку источника-приемника, но разные смещения, суммируются для формирования суммированной записи данных, которая моделирует запись данных с нулевым смещением для рассматриваемой глубинной точки. Такая миграция "после суммирования" может быть сделана, например, посредством интегрирования вдоль дифракционных кривых (известна как миграция Кирхгоффа), посредством численной конечной разности или нисходящего продолжения фазового сдвига волнового поля или посредством эквивалентных операций в частотно-волновочисленной области или других областях.
Другие методы сейсмической миграции могут быть применены перед суммированием записей сейсмических данных. Эти методы миграции "без суммирования" применяются к отдельным записям данных с ненулевым смещением, и подвергнутые миграции результаты затем суммируются для формирования заключительного изображения. Миграция без суммирования обычно производит более хорошие изображения, чем миграция после суммирования. Однако миграция без суммирования обычно намного более затратна (то есть требовательна в вычислительном отношении) чем миграция после суммирования. В соответствии с этим использование миграции без суммирования обычно ограничивалось ситуациями, в которых миграция после суммирования не обеспечивает приемлемый результат, например когда отражатели круто наклонены. В некоторых случаях наклон отражателя может превысить 90 градусов. Как известно в области сейсмической разведки, может быть возможно отобразить эти "опрокинутые" отражатели с использованием данных из сейсмических "лучей, меняющих направление".
Имеется два общих типа миграции без суммирования: миграция во временной области без суммирования и глубинная миграция без суммирования. Фоновая сейсмическая модель скорости распространения волны для описания скорости распространения сейсмической волны в подземной области необходима при построении сейсмических изображений. В области, где подземная скорость сейсмической волны изменяется только в вертикальном направлении, используемым способом построения сейсмических изображений является миграция во временной области без суммирования (PSTM). В области, где подземная скорость распространения волны изменяется и в вертикальном, и в боковом (или горизонтальном) направлении, должна использоваться глубинная миграция без суммирования (PSDM), чтобы дать точные результаты.
"Обменная сейсмическая волна" представляет собой отраженную P-волну или S-волну, которая имеет другой тип, отличный от типа исходной сейсмической волны. Сейсмические волны имеют два типа. В первом типе сейсмическая волна представляет собой P-волну (или волну сжатия), которая расширяется в направлении распространения сейсмической волны. Во втором режиме сейсмическая волна представляет собой S-волну (или волну сдвига), обычно ориентированную перпендикулярно направлению распространения сейсмической волны. Исходная сейсмическая волна, произведенная сейсмическим источником (например, взрывчатым веществом, пневматическим излучателем и т.д.), направлена в подземную структуру, которая может иметь подземный отражатель (например, границу раздела со слоем углеводородов, слой воды или другой интересующий слой). Сейсмическая волна отражается от подземного отражателя, причем отраженная сейсмическая волна может быть измерена сейсмическим датчиком (или несколькими сейсмическими датчиками) (например, сейсмографами или другими сейсмическими датчиками). Во многих случаях преобразование типа может произойти после отражения от подземного отражателя. Например, исходная P-волна может быть отражена как S-волна, или в качестве альтернативы, исходная S-волна может быть отражена как P-волна. Отраженная сейсмическая волна, которая имеет тип, отличающийся от типа исходной сейсмической волны, называется обменной сейсмической волной. Методика сейсмической съемки в соответствии с некоторыми вариантами осуществления оценивает параметры поглощения для обменных сейсмических волн, что позволяет методике сейсмической съемки учесть эффекты поглощения, соответствующие обменным сейсмическим волнам. Рассмотрение эффектов поглощения отраженных обменных волн, а также эффектов поглощения чистых отраженных сейсмических волн позволяет методике сейсмической съемки быть более точной, чем традиционные методики съемки (которые обычно вычисляют параметры поглощения только чистых волн).
"Многокомпонентная съемка" обозначает сейсмические съемки, которые используют многокомпонентные приемники, которые делают запись двух или более компонентов сейсмической энергии, падающей на приемник. Например, трехкомпонентный (3-C) сейсмический приемник содержит три ортогональных сейсмографа и может сделать запись x, y и z компонентов движения частицы в приемнике (движение частицы может представлять собой смещение частицы, скорость частицы или ускорение частицы или даже, в принципе, более высокую производную смещения частицы). При морской сейсмической съемке может в качестве альтернативы использоваться четырехкомпонентный (4-C) сейсмический приемник. 4-C приемник содержит датчик давления, такой как гидрофон, в дополнение к трем ортогональным датчикам и может сделать запись давления водного столба (которое является скалярной величиной) в дополнение к x, y и z компонентам движения частицы.
"Одностороннее волновое уравнение" представляет собой уравнение развития в одном из направлений пространства, которое приблизительно описывает нисходящее или восходящее распространение волнового поля, но не оба одновременно. Подобные уравнения существуют в отношении различных типов электромагнитных данных.
Используемые здесь термины "оптимальный", "оптимизация", "оптимизировать" и "оптимальность" (а также лингвистически связанные слова и фразы) не предназначены для ограничения в смысле требования к настоящему изобретению найти наилучшее решение или принять наилучшее решение. Хотя математически оптимальное решение может фактически достигнуть наилучшей из всех математически доступных возможностей, реальные варианты осуществления подпрограмм, способов, моделей и процессов оптимизации могут работать в направлении такой цели, фактически никогда не достигая совершенства. В соответствии с этим специалист в области техники, имеющий пользу от настоящего раскрытия, оценит, что эти термины в контексте объема настоящего изобретения являются более общими. Термины могут описывать работу в направлении решения, которое может являться наилучшим имеющимся решением, предпочтительным решением или решением, которое предлагает заданное преимущество в пределах диапазона ограничений. Кроме того, эти термины могут относиться к улучшению или усовершенствованию текущего решения. Эти термины также могут относиться к поиску наивысшей точки или максимума для целевой функции или процессу уменьшения функции потерь.
"Пиксель" означает самую малую адресуемую точку в решетке моделирования или изображении. Например, при построении сейсмического изображения одна ячейка вычисления в сейсмической решетке может представлять пиксель в данных изображения.
Термин "после суммирования" относится к обработке после того, как записи отдельных датчиков была просуммированы или сложены. Атрибуты обработки после суммирования включают в себя, например, интенсивность отражения, мгновенную частоту, неоднородность, отражения, акустический импеданс, скорость, наклон, глубину и азимут.
"PP" и "PS" представляют события преобразования типа, которые имеют место во время сейсмических съемок. Акустическая энергия, испускаемая сейсмическим источником, может преимущественно представлять собой волну давления (или P-волну). Когда акустическая энергия подвергается отражению от границы раздела, она может также подвергнуться частичному преобразованию типа в волну сдвига (S-волну). В результате сейсмическое волновое поле, полученное в приемниках, может содержать и P-волны, и S-волны. События, являющиеся результатом прибытия P-волн, могут упоминаться как события PP, так как они включают в себя акустическую энергию, которая и испущена как P-волна, и зарегистрирована в приемнике как P-волна. События, являющиеся результатом прибытия S-волн, могут упоминаться как события PS, так как они включают в себя акустическую энергию, которая испускается как P-волна, но подверглась преобразованию типа в S-волну после отражения, и поэтому зарегистрирована в приемнике как S-волна. События PP имеют место более заметно в вертикальных компонентах полученных сейсмических данных, тогда как события PS появляются более заметно в горизонтальных компонентах полученных сейсмических данных.
"P-волна" и "S-волна" являются типами сейсмических волн, которые возникают в подземной среде. P-волны являются продольными волны сжатия, которые распространяются с движением частиц перпендикулярно по отношению к фронтам волны как волны поочередного сжатия и разрежения. Приемники P-волн чувствительны к вертикальному движению частиц относительно поверхности земли. S-волны или поперечные волны поляризованы параллельно по отношению к фронтам волны и делятся на SH-волны и SV-волны для изотопных сред. В контексте этого раскрытия для SH-волн движение частиц является горизонтальным в плоскости, которая является поперечной относительно линии профиля. Движение частицы для SV-волны происходит в вертикальной плоскости, которая перпендикулярна по отношению к движению частиц SH-волны и параллельна линии профиля. Поперечные волны не могут распространяться в жидкости, поскольку жидкости не имеют сдвиговой прочности. Некоторые среды являются двупреломляющими для S-волн, поскольку являются анизотропными. Таким образом, акустическая энергия разбивается на обычный и экстраординарный пути луча, характеризуемые разными скоростями распространения быстрых (Sf) и медленных (Ss) волн во время прохождения через среду и разными направлениями поляризации в отличие от чистых SH или SV-волн.
Исследование P-волны содержит основополагающий компонент сейсмических съемок. Однако специальные исследования, например, с использованием описанных здесь методик, могут дать возможность дополнительного исследования анизотропных характеристик выбранных горных пород вследствие давления и растрескивания. Эти исследования могут быть выполнены посредством комбинирования технологии S-волн и P-волн в единой съемке.
"Приемники" представляют собой устройства, обычно помещаемые в массиве или в конфигурации в виде решетки на поверхности Земли или ниже, используемые для обнаружения отражений колебаний от пластов породы. Измерение амплитуды и времени прибытия отраженной волны в большом количестве местоположений позволяет нанести на карту пласты породы и предоставляет информацию о толщине и составе пластов породы (например, слоях). Приемники могут включать в себя сейсмографы, гидрофоны, детекторы колебаний, акселерометры или любой другой детектор, способный точно измерять амплитуды отраженных волн. Трехмерный приемник может, например, иметь акселерометры вдоль каждой из осей x, y и z для определения движения во всех трех направлениях. Четырехмерный приемник может объединять трехмерный приемник с детектором амплитуды, таким как гидрофон, для определения интенсивности P-волны. Либо трехмерные, либо четырехмерные приемники могут использоваться для обнаружения P-волн и S-волн, распространяющихся из подземной среды.
"Коллектор" или "коллектор углеводородов" определен как нефтегазопродуктивная зона (например, нефтегазоносные зоны), которая включает в себя песчаник, известняк, мел, уголь и некоторые типы сланца. Нефтегазопродуктивные зоны могут варьировать по толщине от меньше одного фута (0,3048 м) до сотен футов (сотен метров). Проницаемость пласта коллектора обеспечивает потенциал для производства.
"Свойства коллектора" и "значения свойств коллектора" определяются как величины, представляющие физические атрибуты породы, содержащей текучую среду коллектора. Термин "свойства коллектора", используемый в этой заявке, включает в себя как измеряемые, так и описательные атрибуты. Примеры измеряемых значений свойств коллектора включают в себя импеданс для p-волн, импеданс для s-волн, пористость, проницаемость, насыщенность водой и плотность трещин. Примеры описательных значений свойств коллектора включают в себя фации, литологию (например, песчаник или карбонат) и тип отложений (EOD). Свойства коллектора могут быть занесены в архитектуру коллектора из вычислительных ячеек для формирования модели коллектора.
"Физическая модель горной породы" связывает петрофизические и относящиеся к производству свойства горной породы с объемными упругими свойствами горной породы. Примеры петрофизических и относящихся к производству свойств могут включать в себя, но без ограничения, пористость, геометрию пор, объем связности пор сланца или глины, оценочное давление вышележащей породы или соответствующие данные, поровое давление, тип и содержание текучей среды, содержание глины, минералогию, температуру и анизотропию, и примеры объемных упругих свойств могут включать в себя, но без ограничения, P-импеданс и S-импеданс. Физическая модель горной породы может обеспечить значения, которые могут использоваться в качестве модели скорости для сейсмической съемки.
"Сейсмическое затухание" представляет собой зависимое от частоты сокращение амплитуды или энергии в сейсмической волне по мере того, как волна проходит дальше от источника, вследствие микроскопических сил трения и рассеивания от тонких слоев. Оно часто описывается в терминах с точки зрения сейсмической добротности Q. На сейсмическое затухание влияют насыщенности жидкостью, содержание глины и тонкая слоистость. Если происходит существенное затухание, улучшение, обеспеченное посредством увеличения пространственной дискретизации сейсмических данных (например, измерения и P и S-волн), может быть минимальным. Оценки сейсмической добротности Q являются ценными для построения сейсмического изображения, обработки и определения характеристик коллектора. Примеры таких применений включают в себя компенсацию амплитуды и фазы, обработку вэйвлетов, конфигурацию съемки и идентификацию литологии/текучих сред. Кроме того, в отличие от многих других сейсмических атрибутов, сейсмическое затухание может быть непосредственно связано с проницаемостью (например, через механизм потока). В иллюстративных вариантах осуществления настоящей методики физические модели горных пород могут быть объединены с недавними усовершенствованиями в построении изображений для определения связей между оценочными сейсмическими добротностями и параметрами коллектора.
"Сбор сейсмических данных" означает обнаружение, обработку и регистрацию сейсмических волн.
"Сейсмическая запись данных" представляет собой запись выбранного сейсмического атрибута (например, сейсмической амплитуды или акустического импеданса) в одном местоположении x-y (на карте). Сейсмическая запись может быть представлена как сумма ячеек или непрерывная кривая (известная как "запись"), амплитуды которой отражают значения атрибута в каждой точке z (или t) данных для рассматриваемого местоположения x-y. Для трехмерного или четырехмерного приемника запись собирается для каждого измерения. В соответствии с этим будет подразумеваться, что описанные ниже методики применяются к записям, собранным по всем измерениям. Однако для простоты объяснения настоящее описание сосредоточено на одной записи для каждого приемника.
"Сейсмическими данными" называется многомерная матрица, содержащая информацию, полученную о точках в подземной структуре поля с использованием сейсмических способов. По меньшей мере три измерения в сейсмических данных могут представлять местоположение каждой точки в пространстве-времени, например x, y и t, где x и y представляют местоположение точки в x-y-решетке на поверхности, и t представляет время для отраженной упругой волны для достижения поверхности. В зависимости от свойств геологических уровней t обычно может представлять глубину точки ниже поверхности земли. Многомерная матрица будет содержать по меньшей мере одно другое измерение, представляющее значения сигнала в каждом местоположении. Например, это измерение может представлять любые сейсмические данные, которые могут быть соединены с конкретной точкой в поле, в том числе такие сейсмические данные, как выборки смещений, суммы смещений, угловые выборки, угловые суммы, Ip, Is, Vp, Vs, ρ, и μ и т.д.
"Сейсмическая съемка методом отраженных волн" является наиболее распространенным типом сейсмической съемки и выполняется посредством инициирования ударной волны на поверхности земли и отслеживания в множестве местоположений на поверхности отражения этого возмущения волны от низлежащих подземных пластов. Эти отражения происходят от тех областей, в которых имеется изменение акустического импеданса земли, обычно граница раздела между смежными слоями. Устройства, используемые для отслеживания отражений, называют сейсмографами или приемниками. Сигнал, зарегистрированный каждым сейсмографом, представляет как функцию времени амплитуду отражений, обнаруженных этим сейсмографом. Для хорошего приближения отражения, обнаруженные каждым сейсмографом, происходят от точки на каждой отражающей поверхности, расположенной на вертикальной линии, проходящей через среднюю точку между источником и сейсмографом. Таким образом, для каждого сейсмического возмущения ("взрыва") каждый сейсмограф делает запись сигнала ("запись"), которая представляет признаки формаций вертикально под известной точкой на поверхности земли.
"Структурированная решетка" представляет собой решетку, в которой каждая ячейка может быть адресована индексом (i, j) в двух измерениях или (i, j, k) в трех измерениях. Все ячейки структурированной решетки имеют аналогичную форму и одинаковое количество вершин, краев и поверхностей. Таким образом, топологическая структура решетки (то есть граница и отношения смежности между ячейками, поверхностями, краями и вершинами) полностью определена индексацией (например, ячейка (i, j) является смежной с ячейкой (i+1, j)). Обычно используемые структурированные решетки являются декартовыми или радиальными, в которых каждая ячейка имеет четыре края в двух измерениях или шесть поверхностей в трех измерениях. Структурированные решетки обычно используются с сейсмическими объемами данных.
Обзор
В иллюстративном варианте осуществления настоящей методики реализована оптимальная схема создания контрольных точек, которая делает различия между местом для хранения, используемым для сохранения полного состояния прямого моделирования, которое включает в себя всю информацию, необходимую для повторного начала прямого моделирования на заданном временном шаге (контрольная точка с полным состоянием), и местом для хранения, необходимым только для вычисления корреляции (контрольная точка корреляции). Кроме того, методика делает различие между скоростями доступа и разностями емкости памяти для нескольких типов хранения, чтобы оптимизировать комбинацию сохраненных контрольных точек с полным состоянием и контрольных точек корреляции. Ускорение вычислений, соответствующее этому изобретению, по сравнению с традиционной стратегией создания контрольных точек Гриванка (Griewank) может колебаться от двадцати процентов до более чем трехсот процентов для применений сейсмической глубинной миграции в обратном времени (RTM) и полной инверсии волнового поля (FWI) в вычислительной среде с кластерами. Однако описанная здесь методика не ограничена миграцией RTM или каким-либо применением построения сейсмических изображений, а может использоваться в любых применениях, которые должны коррелировать первый поток данных, представленный в обратном временном порядке, со вторым потоком данных, представленным в прямом временном порядке.
Стратегия создания контрольных точек Гриванка не использует сохранение буферов корреляции. Стратегия Гриванка сохраняет только контрольные точки с полным состоянием. Точнее говоря, стратегия Гриванка использует контрольную точку с полным состоянием и для корреляции, и для повторного запуска моделирования. Раскрытая здесь методика имеет преимущество относительно стратегии создания контрольных точек Гриванка посредством использования того факта, что память, требуемая для выполнения корреляции, может быть меньше и по скорости доступа, и по размеру хранения, чем память, требуемая для сохранения полного состояния моделирования в прямом порядке. Например, полная запись сейсмических данных может иметь девять зарегистрированных компонентов: три представляют скорости частицы в каждом из трех измерений; и шесть полей тензора напряжения, из которых может быть извлечена информация о P-волнах и S-волнах. При сейсмическом моделировании в прямом порядке контрольные точки с полным состоянием включают в себя все параметры и переменные, необходимые для повторного запуска временных шагов моделирования в прямом порядке, что может потребовать сохранения плотных решеток многих компонентов волновых полей плюс дополнительные буферы, необходимые для реализации граничных условий. Например, см. Marcinkovich, C. and K. Olsen, "On the implementation of perfectly matched layers in a three-dimensional fourth-order velocity-stress finite difference scheme," 108 JOURNAL OF GEOPHYSICAL RESEARCH (№ B5) 2276 (2003).
Напротив, волновые поля корреляции (контрольные точки корреляции) могут потребоваться только на менее плотной решетке в подмножестве полного объема модели и могут включать в себя только подмножество компонентов волнового поля и могут требовать меньшей числовой точности. Например, если для заданного приложения единственной целью является получение изображения P-P при миграции RTM, может существовать необходимость только скоррелировать одно волновое поле (то есть компонент давления волнового поля), даже при том, что для вычисления используются девять компонентов. В качестве другого примера, для вычисления может требоваться двойная точность, но для взаимной корреляции необходима только одинарная точность.
Поскольку вычислительные ресурсы становятся более сложными, например оптимизированными для конкретного применения, настоящие методики также предусматривают вычисление оптимального баланса между сохранением контрольных точек с полным состоянием и контрольных точек корреляции. В иллюстративных вариантах осуществления настоящие методики делают различие между размером и скоростью памяти, и, таким образом, экономия по сравнению по методикой Гриванка может быть значительно больше в иерархической среде, которая включает в себя такие технологии, как графические процессоры (GPU) и накопители на твердотельных дисках (SSD), а также традиционную оперативную память (RAM) и дисковую память. В соответствии с этим прикладное программное обеспечение, разработанное с использованием этой технологии, может быть переносимым и гибким в изменяющихся компьютерных средах.
Полученная оптимальная стратегия создания контрольных точек применяется к способам с временными шагами вообще. Таким образом, она может использоваться для вычисления градиента сопряженного состояния, как требуется для выполнения полной инверсии формы волны во временной области, а также для глубинной миграции в обратном времени. Однако, как отмечено выше, настоящие методики не ограничены миграцией RTM, которая используется здесь просто в качестве примера. Миграция RTM более ясно объяснена в отношении возбуждения единственного сейсмического источника, или "эксперимента", как проиллюстрировано на фиг. 1.
Фиг. 1 представляет собой чертеж интересующей области 100, иллюстрирующий единственный сейсмический эксперимент в среде земли, в соответствии с иллюстративным вариантом осуществления настоящей методики. Специалисты в области техники поймут, что для эффективного отображения подземной структуры в интересующей области 100 будет выполняться большое количество сейсмических экспериментов. В интересующей области 100, показанной на фиг. 1, соляной купол 102 выдается по направлению к поверхности 104. Стороны соляного купола 102, например сторона 106, могут быть вертикальными или даже перевернутыми, что делает построение изображений трудным посредством многих методик.
Соляной купол 102 может захватить залежи углеводородов, такие как нефть 108, в нефтяных песках или пористой породе под слоем покрывающей породы 110, расположенном выше соляного купола 102. Другие залежи, такие как нефть и или газ 112, могут быть расположены в слоях породы 114 вдоль стороны, например стороны 106, соляного купола 102. Тем не менее другие углеводороды, такие как залежи 116, могут быть расположены в слоях породы 118, которые являются более удаленными от соляного купола 102.
Сейсмический эксперимент может быть выполнен посредством размещения одного или более источников 120 вдоль поверхности 104 интересующей области 100 вместе с одним или более приемниками 122. В вариантах осуществления каждый из приемников 122 может быть трехмерным или четырехмерным приемником для обнаружения P-волн и S-волн. После инициирования источник 120 создает импульс, который может быть проведен в подземную среду 124 как волна 126. Хотя импульсная волна 126 распространяется во всех направлениях, иллюстрация на фиг. 1 упрощена, например, для показа распространения импульсной волны 126 только по направлению к соляному куполу 102. Часть энергии импульсной волны 126 может достигнуть приемников 122 без отражения от какой-либо поверхности, проходя непосредственно через подземную среду 124 к приемникам 122, например, как прямая волна 128.
Когда импульсная волна 126 наталкивается на отражатель, например на слой с другим импедансом, такой как соляной купол 102, из волны 126 может быть создана отраженная волна 130. Отраженная волна 130 может быть частично или полностью преобразована, например падающая P-волна может иметь компоненты S-волны. Если отраженная волна 130 имеет компоненты S-волны, S-волны могут быть ослаблены породами, содержащими существенные концентрации текучих сред, например залежами 116. Это затухание можно назвать затуханием Q. Эффективное определение затухания Q S-волн может быть полезным для улучшения точности получения сейсмического изображения, что позволяет определить местоположение слоев, например слоев 118 породы, которые содержат текучие среды, такие как углеводороды, водоносные слои и т.п. Более простые методики построения изображений часто используют только отражения P-волн для построения изображения. Однако в иллюстративных вариантах осуществления настоящей методики для построения изображения используются и P-волны, и S-волны, что позволяет определить и количественно измерить затухание Q.
Использование двухсторонних волновых вычислений при миграции RTM позволяет определить другие эффекты. Например, часть импульсной волны 126 не может быть отражена на поверхности соляного купола 102, а вместо этого может быть преломлена внутрь соляного купола 102. Преломленная волна 132 может пройти через соляной купол 102 до того, как она будет преломлена обратно по направлению к приемникам 122 в виде волны 134 другой поверхностью соляного купола 102. Более простые методики построения изображений, такие как миграция Кирхгоффа или миграции на основе односторонних волновых уравнений могут быть не в состоянии учесть эту анизотропию. Таким образом, эти методы могут пропустить компоненты подземной среды 124, такие как отвесные отражатели (сторона 106), преломляющие подземные слои (соляной купол 102) и т.п.
В целях вычислений для построения сейсмических изображений интересующая область 102 может быть разделена на трехмерную решетку вычислительных ячеек. В сейсмических вычислениях решетка обычно будет представлять собой регулярную решетку, что позволяет присвоить вычислительным ячейкам координаты, которые указывают местоположение. Методы не ограничены регулярными решетками, поскольку могут использоваться неструктурированные вычислительные сетки. Однако неструктурированные вычислительные сетки могут добавить существенные накладные расходы, поскольку каждая вычислительная ячейка может содержать информацию о местоположении. Каждая вычислительная ячейка может представлять или содержать объем сейсмических данных, которые имеют соответствующие свойства, такие как скорость, импеданс и т.п. Кроме того, скорости и направления фронтов сейсмических волн, таких как P-волны или S-волны, могут быть вычислены в каждом объеме сейсмических данных с использованием свойств для этого объема сейсмических данных. Фактически процесс миграции "перемещает" источник и приемник, чтобы связать отражение с вычислительной ячейкой, в которой оно произошло. Этот метод может использоваться для формирования изображения подземной среды. Процесс миграции RTM может быть более ясно виден посредством исследования поперечного сечения интересующей области 100 вдоль сейсмического источника и приемников, как описано более подробно в отношении фиг. 2.
Фиг. 2 является схемой 200, иллюстрирующей операцию миграции в обратном времени (RTM), в соответствии с иллюстративным вариантом осуществления настоящей методики. Каждая из вычислительных ячеек может быть проиллюстрирована как вычислительные ячейки 202 на схеме 200. Вычислительные ячейки 202 могут не иметь минимальный размер, для которого собираются или моделируются сейсмические данные, а могут представлять группы меньших объемов 204, которые были объединены, например, для упрощения вычислительных затрат, или могут быть разделены для вычисления, например, для улучшения точности изображения. Размер вычислительных ячеек 202 более подробно рассматривается ниже.
В базовом виде миграция RTM обрабатывает каждый сейсмический эксперимент отдельно и выполняет миграцию данных посредством моделирования физического процесса, используемого для их сбора. Как показано на фиг. 2, алгоритм использует модель 206 скорости распространения волн отображаемой области. Модель 206 скорости обычно содержит свойства горной породы в каждой из вычислительных ячеек 202, такие как плотность, импеданс и т.п., которые могут использоваться алгоритмом распространения волны для вычисления скорости и направления волны.
Алгоритм распространения волны, обычно с конечной разностью или псевдоспектральный, может использоваться для распространения импульса от местоположения источника 208 в подземную среду. Как описано здесь, это может быть выполнено с использованием вычислительных ячеек, которые находятся в более мелком масштабе времени, чем вычислительные ячейки 202. Это распространение может обеспечить в качестве функции времени приближенное значение энергии, которая может быть отражена от каждого подземного отражателя, например соляного купола 210, и зарегистрирована в приемниках 212. Волновое поле 214 источника движется прежде всего вниз, и оно может быть помечено как D(xS, x, t), где xS - вектор в трехмерном пространстве, представляющий местоположение источника, x - вектор в трехмерном пространстве, представляющий местоположение точки 216 изображения, и t - значение, представляющее время от запуска сейсмического эксперимента (то есть для представления начального формирования импульсной волны).
Поскольку волновое поле источника распространяется в прямом временном порядке для моделирования облучения отражателей, записи 218 данных, зарегистрированные в приемниках 212, могут быть распространены в обратном направлении во времени для моделирования движения энергии от пока еще неизвестных точек отражения к приемникам 212. Обратное распространение может быть выполнено посредством сопряженного оператора, который отображает следы как волновые поля 220 в подземную среду. Волновые поля 220 приемника обычно движутся вверх, и они могут быть помечены как U(xS, xR, x, t), где xS - вектор в трехмерном пространстве, представляющий местоположение источника, xR - вектор в трехмерном пространстве, представляющий местоположение приемника, x - вектор в трехмерном пространстве, представляющий местоположение точки 216 изображения, и t - значение, представляющее время от запуска сейсмического эксперимента (tmax, представляет конец эксперимента сбора данных).
Принцип построения изображений, используемый в миграции RTM, состоит в том, что энергия, зарегистрированная приемниками 212 в момент времени, должна была быть отражена от местоположения, например от точки 216 изображения, таким образом, что волновое поле 214 источника было ненулевым, и распространенное в обратном направлении волновое поле 220 приемника было ненулевым в то же самое время распространения t. Способность миграции RTM строить изображение местоположений, которые были облучены энергией опрокинутого пласта, отличает ее от других алгоритмов миграции, основанных на волновом уравнении. Для вычисления изображения в заданном подземном местоположении x для заданного взрыва в xs должна иметься величина, отличная от нуля, когда энергия из источника, который мог отразиться от x и достичь приемников в момент времени t, когда принятое волновое поле также отлично от нуля. Полное время эксперимента равно tmax, то есть время события t находится в диапазоне от 0 до tmax. Математически это может быть выражено как взаимная корреляция волнового поля 214 источника и волнового поля 220 приемника.
Figure 00000001
В уравнении 1 I(x) - подвергнутое миграции изображение в подземном местоположении x, например точка 216 изображения. Весовая функция в уравнении 1 указывает, что волновое поле 214 источника (D) распространяется в прямом направлении вдоль времени t, и волновое поле 220 приемника (U) может быть распространено в обратном направлении от конечного времени tmax (отсюда название: миграция в обратном времени). Произведение двух волновых полей 214 и 220 (например, взаимная корреляция) может быть просуммировано в каждой точке 216 изображения (x). Это сделано для каждого местоположения источника xS и каждого местоположения приемника xR. Получающееся в результате изображение может быть просуммировано для всех местоположений источников и приемников для обеспечения заключительного изображения.
Вычисление условия построения изображений требует, чтобы значение волнового поля 214 источника и волнового поля 220 приемника были доступны в одно и то же время t. Самый прямой подход состоит в том, чтобы вычислить и сохранить одно из волновых полей (например, волновое поле 214 источника), для всех интересующих моментов времени t (например, от t0 до tmax). Другое волновое поле (например, волновое поле 220 приемника) затем может быть вычислено и перемножено с волновым полем 214 источника. Однако для большинства задач этот подход может являться непрактичным, поскольку для хранения волнового поля 214 источника потребуется большое хранилище данных. Таким образом, практическое применение миграции RTM требует периодического повторного вычисления волнового поля 214 источника.
Изображение I(x), где x - вектор местоположения (x, y, z), представляет коэффициент отражения подземной среды как функцию позиции. Коэффициент отражения является большим в местоположениях, где импеданс заметно изменяется. Однако, как может быть видно из уравнения 1, алгоритм RTM приведет к ненулевым значениям изображения в любой точке, где имеется какая-либо корреляция между волновыми полями 214 и 220 источника и приемника. Это может произойти в местоположениях, отличных от тех, которые соответствуют истинным отражениям, например в точке 216 изображения, что приводит к артефактам изображения, которые появляются как низкочастотный шум, наложенный на истинные отражатели. Для удаления этих артефактов доступны много способов, среди них фильтрация с низкочастотной границей пропускания, применение фильтров Лапласа и т.д.
Как упомянуто ранее, миграция RTM использует полное волновое уравнение для распространения энергии через подземную среду, и, таким образом, она представляет собой затратный в вычислительном отношении алгоритм миграции. Миграция RTM без суммирования, в которой индивидуальные взрывы подвергаются миграции отдельно, стала реализуемой в вычислительном отношении только в последние несколько лет благодаря появлению рентабельных вычислительных кластеров. Обычно, чтобы сформировать вычислительный кластер могут быть соединены кластеры из многих тысяч многопроцессорных узлов. Каждый взрыв, который должен быть подвергнут миграции, может быть присвоен множеству узлов в кластере, и модели свойств (скорость, плотность и т.д.) для области, окружающей взрыв, могут быть считаны в память, соответствующую присвоенным узлам. Затем взрыв может быть подвергнут миграции с использованием прямого и обратного решения волнового уравнения, описанного выше, и результат может быть сохранен на диске для суммирования с результатами других подвергнутых миграции взрывов. В иллюстративном варианте осуществления настоящей методики используется схема оптимизации для вычисления компромисса между памятью компьютера и вычислительными накладными расходами. Как рассмотрено ниже, эта схема может сохранять контрольные точки с полным состоянием (от которых может быть либо выполнена корреляция, либо возобновлена операция распространения), контрольные точки корреляции (включающие в себя только данные, необходимые для вычисления взаимной корреляции в определенное время), или их комбинация. Использование создания контрольных точек делает практическую реализацию миграции RTM выполнимой. Кроме того, создание контрольных точек является еще более важным для вариантов осуществления, которые принимают во внимание неупругие эффекты распространения ("Q") или вычисляют много компонентов волнового поля, например как поля S-волн, так и поля P-волн.
Вычислительная модель может быть разделена на вычислительные ячейки 202 или меньшие объемы 204. Интервал вычислительных ячеек является таким, что на минимальную длину волны приходится несколько блоков решетки. Для типичных моделей интервал может составлять приблизительно 25 метров. Таким образом, для моделей интересующих областей, имеющих размеры порядка десятков километров, количество ячеек решетки в каждом измерении может составлять от нескольких сотен до более одной тысячи. Таким образом, общее количество вычислительных ячеек 202 может составлять, например, более одного миллиарда. Вычисления могут быть выполнены посредством выполнения шаблона с конечной разностью по всей решетке для вычисления производных волнового поля, требуемых для моделирования волнового уравнения в каждой вычислительной ячейке 202. Таким образом, на каждом временном шаге могут выполняться много миллиардов операций с плавающей точкой.
Необходимый интервал решетки Δx, например размер для вычислительных ячеек 202 или меньших объемов 204 может быть вычислен с использованием формулы, показанной в уравнении 2.
Figure 00000002
В уравнении 2, ν min
Figure 00000003
- минимальная скорость, f max
Figure 00000004
- максимальная частота, и N - количество точек на минимальную длину волны, которое может составлять приблизительно 5-10 точек. Этот или меньший интервал может избежать внесения численной дисперсии в распространяемое волновое поле.
Общее количество временных шагов также быть очень большим. Сейсмические данные регистрируются в течение общего времени, составляющего приблизительно десять секунд. Данные обычно хранятся с интервалом между отсчетами 2-4 миллисекунды, это означает, что каждая запись 218 может включать в себя приблизительно 2500-5000 отсчетов. Однако решение волнового уравнения миграции RTM должно быть вычислено с намного более мелким временным шагом, заданным посредством условия устойчивости Куранта, Фридрихса и Леви (CFL), показанного в уравнении 3.
Figure 00000005
В уравнении 3 k - константа первого порядка, которая зависит от размерности и точного используемого алгоритма. Например, k может быть равна 1 2
Figure 00000006
для двумерных уравнений или 1 3
Figure 00000007
для трехмерных уравнений. Кроме того, k может быть больше, если уравнения имеют более высокий порядок во времени, или меньше, если уравнения имеют более низкий порядок во времени. Для типичных условий Δt~0,5 мс, и, таким образом, общее время распространения, составляющее десять секунд, требует 20000 отсчетов. Это указывает, что каждый затратный временной шаг должен быть вычислен очень много раз. Кроме того, с использованием уравнений 2 и 3 можно заметить, что общие вычислительные затраты пропорциональны f4max, таким образом, удвоение максимальной частоты, которая должна быть подвергнута миграции, увеличивает вычислительные затраты в 16 раз. Поскольку возможность интерпретации сейсмических изображений обычно лучше, когда полоса частот больше, зависимость затрат от частоты имеет тенденцию очень быстро увеличивать время, требуемое для получения высококачественных изображений.
Фиг. 3A является блок-схемой последовательности операций, показывающей способ выполнения взаимной корреляции в обратном времени, такой как миграция RTM, в соответствии с иллюстративным вариантом осуществления настоящей методики. В этом варианте осуществления процесс может начаться на этапе 302 с инициализации корреляционного изображения миграции в обратном времени (RTM), например, посредством обнуления всех точек в объеме изображения. На этапе 304 сопряженное волновое поле может быть инициализировано, например, посредством установления сопряженного волнового поля в соответствие волновому полю приемника в максимальное время регистрации. На этапе 306 могут быть вычислены оптимальные местоположения по времени для сохранения буферов контрольных точек и/или буферов с полным состоянием. Оптимальные местоположения по времени также могут быть вычислены до выполнения моделирования и сохранены в таблице для использования при последующих моделированиях.
Сопряженное волновое поле может затем быть вычислено на первом временном шаге j, как показано на этапе 308. Первый временной шаг j может соответствовать конечному времени при моделировании. На этапе 310 выполняется определение относительно того, существует ли прямой буфер корреляции для временного шага j. Если буфер корреляции существует, либо как независимая контрольная точка корреляции, либо как часть контрольной точки полного состояния, процесс переходит на этап 312. Если на этапе 310 определено, что буфер корреляции не существует на конкретном временном шаге j, процесс может перейти на этапы, показанные на фиг. 3B, для вычисления необходимой информации, соответствующей распространяющемуся в прямом направлении волновому полю возбуждения источника, необходимому для выполнения корреляции на этом шаге.
На этапе 312 к волновому полю в буфере корреляции получают доступ из базы данных сохраненных состояний 314 моделирования в прямом направлении, содержащейся в блоке хранения (таком как память или жесткий диск). На этапе 316 состояние волнового поля моделирования в прямом направлении подвергается взаимной корреляции с сопряженным волновым полем для временного шага j, причем результаты суммируются в объеме корреляции в пределах корреляционного изображения. Корреляционное изображение затем может быть сформировано посредством формулы:
Figure 00000008
, где
Figure 00000009
- операция "взаимной корреляции", и ci - подмножество информации корреляции из полного состояния si волнового поля возбуждения источника, что выражается как ci=p(si). Для некоторых приложений оператор корреляции
Figure 00000010
может представлять более общий оператор, чем простая математическая взаимная корреляция. Важный отличительный признак состоит в том, что этот оператор требует в качестве входной информации подмножество состояний ci моделирования в прямом направлении и сопряженных состояний s i ¯
Figure 00000011
на одном и том же временном шаге j.
На этапе 318 сопряженное волновое поле может быть распространено в обратном направлении на один шаг во времени, то есть j=j-1. Затем другая последовательность из (n+1) сопряженных состояний s i ¯
Figure 00000012
может быть сформирована с помощью конечного состояния s n ¯
Figure 00000013
и n вызовов процедур f i ¯
Figure 00000014
в состояниях s i ¯
Figure 00000012
, которые формируют состояния в соответствии с формулой
Figure 00000015
, например, распространение в обратном направлении от зарегистрированных записей. На этапе 320 временному шагу j может быть дано отрицательное приращение, и на этапе 322 может быть сделано определение относительно того, закончено ли сопряженное распространение. Если не закончено, то процесс возвращается на этап 308 для продолжения на следующем временном шаге.
Если на этапе 322 сопряженное распространение закончено, процесс переходит на этап 324, на котором может быть выполнена различная постобработка и этапы вывода. Для вариантов осуществления, которые используются для формирования сейсмических изображений, такая постобработка может включать в себя, например, формирование выборок смещений для подземных пластов из подвергнутых миграции точек. Выборки смещений могут быть преобразованы в выборки углов отражения для формирования окончательного изображения. Кроме того, для уменьшения шума могут быть реализованы вычисления фильтрации, такие как алгоритм Лапласа, как рассмотрено выше. Процесс заканчивается на этапе 326, на котором представление данных изображения выдается или сохраняется. Представление данных может включать в себя изображение подмножества результатов. Например, при построении сейсмических изображений вывод может включать в себя только выборки углов отражения. В других вариантах осуществления формирование представления данных может включать в себя другие этапы для формирования полного изображения. Например, при построении сейсмических изображений операции глушения и суммирования могут быть выполнены для формирования полного сейсмического изображения. Однако специалист в области техники поймет, что настоящие методики не ограничены построением сейсмических изображений и могут использоваться для любого другого моделирования, которое выполняет взаимную корреляцию данных моделирования в прямом направлении с данными, спроецированными в обратном временном порядке.
Фиг. 3B является блок-схемой последовательности операций, показывающей прямое распространение волнового поля для взаимной корреляции в обратном времени, в соответствии с иллюстративным вариантом осуществления настоящей методики. Этапы на фиг. 3B могут быть исполнены, если на этапе 310 буфер корреляции не найден. На этапе 328 волновые уравнения для прямого моделирования могут быть распространены через решетку. Распространение может быть выполнено как последовательность из (n+1) состояний si, начинающаяся с состояния s0, и n вызовов процедур ƒi в состояниях si формируют состояния в соответствии с формулой si+1←ƒi(si), например, распространение прямого импульса возбуждения.
Как указано в приведенных выше уравнениях, волновое поле приемника может быть распространено в обратном направлении во времени и подвергнуто взаимной корреляции в каждой вычислительной ячейке (x) с моделированием волнового поля источника в прямом времени. Это означает, что к моделированию источника в прямом времени должен быть получен доступ в обратном временном порядке. Поскольку хранение всех точек в прямом временном порядке для взаимной корреляции может быть нереализуемо из-за ограничений памяти и времени доступа, на этапе 330 волновые поля 314 моделирования в прямом порядке могут быть сохранены для различных временных шагов, как описано здесь. Эти волновые поля моделирования в прямом порядке могут рассматриваться как контрольные точки, которые содержат буферы корреляции для взаимной корреляции с проекцией данных в обратном порядке. Каждая из контрольных точек в базе 314 данных может представлять собой контрольную точку с полным состоянием, которая может использоваться для повторного запуска вычисления распространения, или только меньшую контрольную точку корреляции, используемую для определения взаимной корреляции на определенном временном шаге. На этапе 332 волновое поле источника может быть распространено на один шаг вперед во времени. На этапе 336 делается определение относительно того, закончено ли прямое распространение. Если не закончено, процесс переходит на этап 328 для продолжения вычисления. Если закончено, процесс возвращается на этап 312 (фиг. 3A), на котором возобновляется взаимная корреляция. Определение временных шагов (например, процесс создания контрольных точек на этапе 306), на которых следует сохранять контрольные точки с полным состоянием либо только контрольные точки корреляции, описано ниже.
В иллюстративных вариантах осуществления настоящей методики сделано несколько предположений для улучшения процесса создания контрольных точек, и они используются в последующем описании. В частности, предполагается, что каждая контрольная точка si с полным состоянием требует одного и того же объема памяти с размером S. Кроме того, предполагается, что каждая контрольная точка ci корреляции требует одного и того же объема памяти с размером C. Кроме того, предполагается, что каждый вызов процедуры ƒi требует одного и того же количества вычислительных затрат l, и что не требуется вычислительных затрат во время процесса
Figure 00000010
или ci=p(si). Дополнительные требования к памяти во время процессов
Figure 00000010
, ci=p(si), ƒi или f i ¯
Figure 00000016
не являются существенной частью ограничений памяти.
Стратегия создания контрольных точек Гриванка предполагает, что память, необходимая для хранения контрольной точки с полным состоянием (переменная S), идентична памяти, требуемой для хранения информации, необходимой для выполнения взаимной корреляции (переменная C) для шага построения изображения. Например, если выполняется миграция в обратном времени, основанная на распространении скорости-напряжения, может иметься необходимость коррелировать лишь давление вместо всех компонентов скорости и напряжения частицы. Это может легко увеличить отношение S/C до 4 или даже до 9. Если используются граничные условия идеально согласованного слоя (PML), отношение S/C может увеличиться еще в два или три раза вблизи с границей земной модели. Таким образом, распространение волн может иметь место на мелкой решетке, но построение изображений может быть выполнено на более грубой решетке. Для случая, в котором корреляция также может быть сделана на любой выборке в каждом пространственном измерении, получающееся отношение S/C будет равно восьми. Если можно пожертвовать некоторой точностью на этапе взаимной корреляции посредством хранения сжатой контрольной точки корреляции, отношение S/C может быть увеличено еще в два раза. Упомянутые здесь компоненты отношения S/C будут умножены вместе для получения отношения S/C, необходимого для этого алгоритма. Поэтому действительно может иметься существенное различие между S и C. Учитывая, что глубинная миграция в обратном времени является очень затратной в вычислительном отношении, настоящая методика может обеспечить существенное уменьшение вычислительных затрат посредством использования различия между S и C.
Оптимальная стратегия без ограничений памяти
Если нет ограничения памяти, то оптимальная стратегия (в смысле наименьшего количества вычислительных затрат) может быть следующей:
Figure 00000017
В этой стратегии общие затраты памяти составляют (n-1)C, и общие прямые вычислительные затраты составляют n (общие прямые вычислительные затраты составляют 2n-1 в предположении, что каждый сопряженный шаг требует таких же затрат, как прямой шаг). Можно отметить, что корреляция в нулевом состоянии игнорируется, поскольку состояние 0 обычно соответствует нулевым волновым полям для применений миграции в обратном времени. Однако описанные здесь методики могут быть легко изменены для приспособления к ненулевым начальным волновым полям.
В последующем описании обозначение J(n, M) может использоваться для представления вычислительных затрат для корреляции n состояний (от состояния 1 до состояния n) при ограничении памяти M. В этом случае можно предположить, что сопряженное состояние n является известным, и состояние 0 всегда может быть восстановлено во время вычисления без вычислительных затрат посредством либо полного обнуления, либо загрузки состояния 0 из памяти (которая не является частью M). После вычисления используется сопряженное состояние в сопряженном состоянии 1 (а не в сопряженном состоянии 0).
Далее, обозначение Jno_cp(n, M) используется здесь для представления вычислительных затрат для корреляции n состояний при ограничении памяти M без использования контрольных точек с полным состоянием (то есть при хранении только контрольных точек корреляции). В случае, когда M велико, и имеется достаточно памяти для хранения всех контрольных точек корреляции в соответствующих буферах, это можно просто выразить как Jno_cp(n, M)=n для M≥(n-1)C.
Оптимальная стратегия с ограничениями памяти
В общем случае в одном шаге вычислений в памяти может содержаться nc=1+M/C буферов корреляции, то есть nc представляет собой количество корреляций, возможных при заданной памяти M и размере C буфера корреляции. Это предполагает, что вызов функции ƒi не налагает ограничение на память, или что результаты буфера состояния из моделирования в прямом направлении могут использоваться для выполнения корреляции. Таким образом, вычислительные затраты, требуемые при сохранении буферов корреляции, но без создания контрольных точек состояний моделирования в прямом направлении, могут быть вычислены посредством формулы, показанной в уравнении 4.
Figure 00000018
В уравнении 4 t - количество шагов, которые следует сделать с использованием всех nc буферов корреляции, и r - остаток, количество корреляций, которые необходимо сделать на последнем шаге, когда используется только часть или ни один из буферов корреляции. Следует отметить, что если r равен нулю, то этот последний частичный шаг выполнять не требуется. Следует понимать, в уравнении 4 и других подобных уравнениях используется целочисленная арифметика, а не арифметика с плавающей точкой.
Фиг. 4 является схемой, иллюстрирующей минимальные вычислительные затраты с использованием контрольной точки с полным состоянием в момент времени с индексом k в соответствии с иллюстративными вариантами осуществления настоящей методики. Если принятой здесь целью оптимизации является минимизация J(n, M) с использованием одной контрольной точки 402 на временном шаге k, то для этапа корреляции 404 на временном шаге с индексом k и до него может быть использовано k прямых шагов для достижения местоположения контрольной точки плюс J (n-k, M-S) для прямого и сопряженного продвижения, необходимого для индексов временного шага от k+1 до n. Доступная память уменьшается на S вследствие контрольной точки 402 буфера состояния на временном шаге с индексом k. Вычислительные затраты 406 для прямого и сопряженного продвижения во времени для индексов от 0 до k-1 будет равно J(k-1, M), как показано в уравнении 5.
Figure 00000019
Далее уравнение 6 учитывает минимизацию J(n, M) в условиях ограничения, состоящего в том, что нет используемой контрольной точки или имеется по меньшей мере одна контрольная точка в некотором состоянии k (состояние k находится между состоянием 0 и состоянием n).
Figure 00000020
Как можно видеть в приведенной выше формуле, размер ограничения памяти всегда изменяется кратно S, и имеется целочисленное количество ns буферов состояний контрольных точек с памятью, равной nsS. Память, соответствующая nc буферам корреляции, равна (nc-1)C. Общая память, соответствующая комбинации буферов состояния контрольных точек и буферов корреляции, показана в уравнении 7.
Figure 00000021
В иллюстративном варианте осуществления приведенное выше уравнение итерационно решается для нахождения числового решения для требуемого размера задачи и объема потребляемой памяти.
Фиг. 5A-B являются схемами, иллюстрирующими временные шаги, на которых контрольные точки с полным состоянием или контрольные точки корреляции могут быть сохранены, в соответствии с иллюстративными вариантами осуществления настоящей методики. Например, как показано на фиг. 5A, контрольные точки 502 корреляции могут быть сохранены перед контрольной точкой 504 с полным состоянием на временном шаге k. Однако для любого случая с использованием контрольной точки корреляции перед контрольной точкой с полным состоянием имеется соответствующий случай, который не использует контрольные точки корреляции перед контрольными точками с полным состоянием, который является по меньшей мере таким же эффективным. На фиг. 5A затраты 506 для достижения первой из nc контрольных точек 508 корреляции перед контрольной точки 504 с полным состоянием в момент k могут быть выражены как J=J(k-1-nc, M). Затраты контрольных точек 508 корреляции могут быть выражены как J=nc+2. Наконец, затраты 510 для достижения конечного временного шага 512 от контрольной точки 504 с полным состоянием могут быть представлены как J=J(n-k, M-S-ncC). На основе этого, если оптимальный случай хранит nc буферов перед контрольной точкой 504 с полным состоянием на некотором временном шаге k, как проиллюстрировано на фиг. 5A, то полные вычислительные затраты могут быть заданы в уравнении 8.
Figure 00000022
На фиг. 5B затраты 514 для достижения контрольной точки 516 с полным состоянием в момент в k-nc могут быть выражены как J=J(k-1-nc, M). Затраты 518 для достижения первой из nc контрольных точек 520 корреляции, сохраненных перед конечным временным шагом 522, от контрольной точки 516 с полным состоянием могут быть представлены как J=J(n-k, M-S). Таким образом, в случае, в котором контрольные точки корреляции не сохранены перед контрольной точкой 516 с полным состоянием, полные вычислительные затраты показаны в уравнении 9.
Figure 00000023
Как можно видеть из уравнений 8 и 9, последний случай по меньшей мере так же хорош, как предыдущий случай (в котором хранятся контрольные точки корреляции перед контрольной точкой с полным состоянием). Таким образом, в иллюстративных вариантах осуществления нужно рассматривать только последний случай.
Оптимальное создание контрольных точек против создания контрольных точек Гриванка
Отношение объема памяти (S/C) контрольных точек с полным состоянием к объему памяти контрольных точек корреляции часто может быть приблизительно равно 10, таким образом, это обеспечивает удобное отношение для использования для сравнения вычислительных затрат для описанного здесь оптимального создания контрольных точек и создания контрольных точек Гриванка. В приведенной ниже таблице 1 n представляет количество временных шагов, требуемых для прямых и сопряженных вычислений. Столбец с заголовком "Идеал" представляет вычислительные затраты для продвижения во времени с возможностью корреляции прямого и сопряженного моделирования в среде, в которой имеется с избытком память, и стоимость минимальна, насколько возможно. Столбец с заголовком "Схема Гриванка" предполагает, что доступны ns=M/S буферов состояния, и контрольные точки корреляции не используются. Столбец с заголовком "Оптимальная схема" показывает результаты, полученные с использованием контрольных точек с полным состоянием и контрольных точек корреляции. Столбец с заголовком "отношение" вычисляется как результаты вычислений по схеме Гриванка, разделенные на результаты по оптимальной схеме, и предоставляет ускорение, возможное с помощью этого нового способа по сравнению с использованием только оптимальной стратегия создания контрольных точек Гриванка.
Два наблюдения могут быть сделаны из результатов в таблице 1. Во-первых, посредством использования различий между буфером состояния и буфером корреляции вычислительные затраты могут быть уменьшены. Во-вторых, фактическое применение этой оптимальной стратегии создания контрольных точек требует некоторых предварительных вычислений для нахождения оптимальной стратегии. Однако затраты на предварительные вычислением незначительны по сравнению с полными вычислительными затратами в таких применения, как миграция в обратном времени и вычисление градиента.
Кроме того, можно заметить, что типичные параметры, которые применяются к общим кластерным приложениям системы Linux трехмерной миграции в обратном времени могут соответствовать линии с 4000 временными шагами, 10 буферами состояний и M=100, причем отношение (увеличение скорости) составляет примерно 1,28. Если бы компания должна была иметь компьютерную систему за 20 миллионов долларов, работающую исключительно над миграцией в обратном времени, то экономический эффект этого изменения алгоритма составил бы порядка 5,6 миллионов долларов.
Таблица 1
Затраты для Оптимального создания контрольных точек против создания контрольных точек Гриванка
Полные вычислительные затраты (прямые и сопряженные) Идеал Схема Гриванка Оптимальная схема Отношение
n=55, 2 буфера состояния (M=20) 109 264 156 1,6923
n=1000, 2 буфера состояния (M=20) 1999 13171 9901 1,3303
n=1000, 10 буферов состояния (M=100) 1999 4548 3392 1,3408
n=2000, 10 буферов состояния (M=100) 3999 10184 7545 1,3501
n=4000, 10 буферов состояния (M=100) 7999 22184 17311 1,2815
n=1000, 100 буферов состояния (M=1000) 1999 2898 1999 1,4497
n=2000, 100 буферов состояния (M=1000) 3999 5898 4998 1,1801
n=4000, 100 буферов состояния (M=1000) 7999 11898 11025 1,0792
Фиг. 6A-C являются схемами, иллюстрирующими работу схемы Гриванка и оптимальной схемы создания контрольных точек для упрощенного моделирования, имеющего 55 временных шагов, в соответствии с иллюстративными вариантами осуществления настоящей методики. Для каждого из примеров количество шагов (55) и объем пространства памяти (20) одинаковы. Фиг. 6A иллюстрирует стратегию создания контрольных точек Гриванка, имеющую затраты J=210 для случая n=55, M=20, S=10 (то есть нет контрольных точек корреляции). Фиг. 6B иллюстрирует оптимальную стратегию создания контрольных точек с J=102 для случая n=55, M=20, C=1, S=10. Фиг. 6C иллюстрирует оптимальную стратегию создания контрольных точек с J=148 для случая n=55, M=20, C=2, S=10 (середина). В алгоритме создания контрольных точек Гриванка, показанном на фиг. 6A, сохраняются только полные состояния (обозначены горизонтальными линиями), что дает возможность полного повторного начала алгоритма распространения из каждого сохраненного состояния. При работе алгоритм выполняет несколько итераций прямого моделирования. Например, на первом проходе 602 полные состояния сохраняются во время распространения импульса возбуждения в прямом направлении на временном шаге 35 (606) и на временном шаге 50 (604). Это полностью использует доступную память M=20. Затем алгоритм продвигает шаги распространения в прямом направлении до временного шага 55 и выполняет взаимную корреляцию с распространяющимся в обратном направлении волновым полем от приемников. Затем распространяющееся в обратном направлении волновое поле переходит на один временной шаг назад до временного шага 54. Распространяющееся в прямом направлении волновое поле восстанавливается на временном шаге 50 (64) и продвигается до временного шага 54, и взаимная корреляция выполняется снова. Эта процедура повторяется для временных шагов 53, 52, 51, и корреляция выполняется с использованием контрольной точки с полным состоянием непосредственно на временном шаге 50 (604).
Память, используемая для временного шага 50, затем высвобождается, и взаимная корреляция продолжается с прямыми моделированиями, выполненными от временного шага 35 (606). Высвобожденная память используется для сохранения контрольных точек от временного шага 35 (606), таких как контрольная точка на временном шаге 45 (608). Контрольная точка на временном шаге 45 (608) используется для выполнения прямого моделирования для временных шагов с 49 по 46, причем на каждом временном шагу распространяющееся в прямом направлении волновое поле подвергается взаимной корреляции с распространяющимся в обратном направлении волновым полем от приемника. После того, как взаимная корреляция выполнена с использованием контрольной точки с полным состоянием на временном шаге 45 (608), память высвобождается и используется для другой контрольной точки на временном шаге 41 (610). Процедура повторяется, пока взаимная корреляция не будет выполнена для всех временных шагов. Можно отметить, что интервал между контрольными точками не является однородным на фиг. 6A; в первом пробеге, например, контрольные точки находятся на шагах 50, 45, 41, 38 и 36, а не на шагах 50, 45, 40 и 36. Это происходит потому, что номера, показанные в чертеже, были определены как оптимальные с использованием алгоритма оптимизации (оптимизация Гриванка в случае фиг. 6A), тогда как другие возможные варианты местоположения контрольных точек могут являться или не являться оптимальными. Хотя используемый объем памяти уменьшается, можно заметить, что количество вычислений в значительной степени увеличивается. Поскольку объем памяти и время доступа для памяти часто ограничены, процедура может в значительной степени улучшить время выполнения, делая полную миграцию RTM выполнимой. Однако количество вычислений и объем памяти, используемые при создании контрольных точек Гриванка, по-прежнему могут представлять собой проблему для сложных вычислений построения сейсмических изображений, таких как миграция RTM.
В иллюстративном варианте осуществления настоящей методики сохраняются контрольные точки двух различных типов, контрольная точка с полным состоянием, от которой может быть повторно начато моделирование (или может быть выполнена взаимная корреляция), и меньшая контрольная точка, которая содержит только данные волнового поля, необходимые для взаимной корреляции. Это может предоставить существенные преимущества и для вычислений, и для памяти. Например, в результате может быть оптимальное использование памяти, показанное на фиг. 6B, если предполагается, что память, используемая для хранения контрольной точки корреляции, составляет 1/10 от размера памяти, используемой для хранения контрольной точки с полным состоянием. При этом условии может потребоваться гораздо меньше полных проходов моделирования. На фиг. 6C более длинные линии указывают контрольные точки с полным состоянием, в то время как более короткие линии указывают контрольные точки корреляции. Во время первого прохода на фиг. 6B полный проход 612 моделирования начинается с нулевой точки 614. Во время полного прохода 612 моделирования контрольная точка корреляции (или буфер корреляции) сохраняется в каждой точке от временного шага 35 (616) до временного шага 54, тем самым исчерпывая доступную память M=20 двадцатью буферами корреляции. Нет необходимости хранить информацию корреляции на этапе 55, поскольку информация содержится непосредственно в данных прямого моделирования. Затем может быть выполнена взаимная корреляция с распространяющимся в обратном направлении волновым полем от приемника в каждой из этих точек. Как только взаимная корреляция завершена для временных шагов с 55 до 35, второй проход 620 из полного моделирования выполняется от нулевого временного шага. Во время второго прохода 620 полного моделирования контрольная точка корреляции сохраняется на каждом временном шаге от временного шага 14 (622) до временного шага 33 (624), снова исчерпывая память M=20. Взаимная корреляция повторяется на каждом из этих временных шагов с использованием контрольной точки корреляции на этом временном шаге, и затем процедура повторяется для третьего прохода 626 полного моделирования. Как можно заметить, при равных ресурсах оптимальная стратегия создания контрольных точек обеспечивает существенную экономию времени вычисления, когда выполняется лишь 101 шаг прямого распространения волны по сравнению с 209 шагами прямого распространения волны для процедуры создания контрольных точек Гриванка.
В сводке на фиг. 6B оптимальная стратегия настоящего изобретения для C=1, которая может быть определена посредством испытания всех комбинаций и nS и nC, которые удовлетворяют уравнению 7, и выбора одной (или одной из нескольких) комбинации, которая дает самое низкое значение для J, с использованием уравнения 6, оказывается удовлетворительной при не использовании буферов с полным состоянием вообще, а при использовании доступной памяти M=20 полностью для буферов корреляции. Как будет видно далее в описании фиг. 6C, оптимальная стратегия большего значения C (C=2) включает в себя использование одного буфера с полным состоянием и пяти буферов корреляции одновременно.
Даже если пространство памяти для контрольной точки корреляции ближе по размеру к пространству, требуемому для контрольной точки с полным состоянием, оптимальная процедура создания контрольных точек может обеспечить существенную экономию. Например, фиг. 6C показывает оптимальное создание контрольных точек, выполненное в таком же объеме памяти, как на фиг. 6A и 6B, но с отношением 5 к 1 для размера между контрольной точкой с полным состоянием и контрольной точкой корреляции. Процедура в общем является такой же, как на фиг. 6B, но контрольная точка 628 с полным состоянием сохраняется во время первого полного прохода 630 моделирования. Во время первого полного прохода моделирования контрольные точки корреляции сохраняются между временным шагом 49 (632) и временным шагом 54 (634). Затем может быть выполнена взаимная корреляция на временном шаге 55 и затем с каждым из значений между временными шагами 54 и 49. Полный проход моделирования повторяется от временного шага 31 (628) еще три раза, как обозначено номером 636, и взаимная корреляция выполняется на каждом временном шаге. Память освобождается, и три заключительных полных прохода 638 моделирования выполняются от нулевого временного шага с взаимными корреляциями, выполняемыми для каждой из сохраненных контрольных точек корреляции. Как может быть видно из фиг. 6C, в этой ситуации имеется всего 147 шагов прямого распространения волны 147, что по-прежнему значительно меньше, чем 209 шагов прямого распространения волны создания контрольных точек Гриванка.
Оптимальная технология создания контрольных точек может обеспечить от 10 процентов до более чем 400 процентов ускорения миграции RTM по сравнению с более ранней стратегией создания контрольных точек Гриванка в зависимости от среды компьютерного оборудования и размера задачи для заданного приложения миграции RTM. Кроме того, описанная здесь стратегия создания контрольных точек не ограничена прямыми корреляциями, но может использоваться для корреляций, в которых текущее состояние зависит от прошлого состояния, как это может быть необходимо относительно некоторых вычислений градиента FWI и некоторых формул автоматического дифференцирования.
Фиг. 7A-C являются схемами, сравнивающими создание контрольных точек для стандартной корреляции и создание контрольных точек, когда прошлое состояние в сопряженном вычислении влияет на взаимную корреляцию с текущим состоянием в прямом вычислении, в соответствии с иллюстративными вариантами осуществления настоящей методики. Фиг. 7A иллюстрирует условия стандартной корреляции, в то время как фиг. 7B иллюстрирует условия стандартной корреляции в дополнение к условиям смещенной корреляции, например, при выполнении моделирования коллектора, в котором прошлые условия влияют на текущие условия. Фиг. 7C иллюстрирует применение оптимальной стратегии создания контрольных точек для случая, имеющего 12 этапов, память 6, и в которой C=2 и S=3. На фиг. 7A-C направленная вверх стрелка 702 представляет прямое вычисление, и направленная вниз стрелка 704 представляет сопряженное моделирование, например, в котором значения, вычисленные на предыдущем временном шаге, влияют на значения, вычисленные на более позднем временном шаге. Горизонтальная двунаправленная стрелка 706 представляет условие стандартной корреляции, и диагональная двунаправленная стрелка 708 представляет условие смещенной корреляции. Кроме того, сплошная горизонтальная линия 710 представляет контрольную точку с полным состоянием с размером S, и пунктирная горизонтальная линия 712 представляет контрольную точку корреляции с размером C.
Для многих применений (например, миграции в обратном времени или некоторых из алгоритмов вычисления градиента) требуется коррелировать только соответствующие состояния (то есть
Figure 00000024
, как показано в Фиг. 7A). Однако в некоторых случаях (например, для некоторых алгоритмов вычисления градиента, используемых при моделированиях коллектора), нам необходимо коррелировать не только соответствующее состояние, но также и соседнее состояние (то есть
Figure 00000025
, как показано на фиг. 7B). В иллюстративных вариантах осуществления настоящей методики оптимальная стратегия создания контрольных точек модифицирована для работы в последнем случае, как продемонстрировано на фиг. 7C.
Реализация оптимальной стратегии создания контрольных точек, описанная на фиг. 7C, обеспечивает минимальное использование памяти. Однако используются три типа корреляции (то есть корреляция сопряженного волнового поля с прямым волновым полем, корреляция сопряженного волнового поля с буфером "снимка" в памяти и корреляция сопряженного волнового поля с буфером корреляции в памяти). Это можно лучше понять, рассматривая задачу взаимной корреляции как задачу с инверсией цепочки. Варианты осуществления настоящей методики могут обеспечить более эффективный способ инверсии цепного вычисления, которое коррелирует результаты прямого моделирования с результатами обратного, или сопряженного, моделирования, например, инвертированной цепочки. Это может быть применено для стандартной взаимной корреляции, как проиллюстрировано на фиг. 7A. Это также может быть применено к модифицированной взаимной корреляции, как проиллюстрировано на фиг. 7B и более подробно на фиг. 7C. Другие условия взаимной корреляции также могут извлечь выгоду из настоящего метода, если реализация основана на использовании инвертированной цепочки.
Расширение оптимального создания контрольных точек до двух уровней памяти с разными скоростями доступа
В дополнение к памяти либо для контрольных точек с полным состоянием, либо для контрольных точек корреляции, иллюстративные варианты осуществления настоящей методики также могут оптимизировать хранение контрольных точек на основе скорости доступной памяти. В настоящих вычислительных архитектурах обычно имеются несколько уровней памяти с разными скоростями доступа. Например, вычисления могут выполняться на графических процессорах (GPU) с использованием памяти графического процессора (самая быстрая память) или памяти центрального процессора, памяти твердотельного диска и дисковой памяти (самая медленная память). Для упрощения объяснения этого понятия можно рассмотреть два уровня памяти, например память центрального процессора и диск.
При определении оптимального распределения контрольных точек могут быть сделаны два предположения. Во-первых, можно предположить, что быстрая память с размером MF требует затрат WSF, WCF для записи контрольной точки с полным состоянием или контрольной точки корреляции соответственно и затрат RSF, RCF для считывания контрольной точки с полным состоянием или контрольной точки корреляции соответственно. Во-вторых, можно предположить, что медленная память (с размером MS) требует затрат WSS, WCS для записи контрольной точки с полным состоянием или контрольной точки корреляции соответственно и затрат RSS, RCS для считывания контрольной точки с полным состоянием или контрольной точки корреляции соответственно. Кроме того, можно предположить, что вычислительные затраты для развития любого состояния до следующего состояния составляют единицу, контрольная точка с полным состоянием имеет размер S, и контрольная точка корреляции имеет размер C.
Аналогично описанному ранее, функция затрат может быть определена, как показано в уравнении 10. Функция затрат на левой стороне уравнения представляет собой минимум из трех вариантов, перечисленных на правой стороне.
Figure 00000026
В уравнении 10 знак "*" может быть заменен на F или S, чтобы указать, находится ли начальная контрольная точка в быстрой памяти или медленной памяти. Таким образом, JF(n, MF, MS) представляет собой стоимость взаимной корреляции n состояний с быстрой памятью MF и медленной памятью MS для случая, в котором первое состояние находится в быстрой памяти (то есть если первое состояние должно быть восстановлено для повторного вычисления, эта информация находится в быстрой памяти). Выражение JS(n, MF, MS) является аналогичным за исключением того, что первое состояние в медленной памяти JFno_cp(n, MF, MS), и JFno_cp (n, MF, MS) следует таким же определениям с ограничением, что не разрешены контрольные точки с полным состоянием, и, таким образом, сохраняются только контрольные точки корреляции. Кроме того, можно отметить, что во второй и третьей строках вместо RSF или RSS для четвертого выражения используются RCF или RCS, поскольку даже если в памяти находится контрольная точка с полным состоянием, считывается только часть для буфера корреляции из контрольной точки с полным состоянием, если цель не состоит в том, чтобы повторно начать моделирование. Однако это может зависеть от фактических затрат реализации восстановления буфера корреляции сохраненной контрольной точки с полным состоянием.
Вычисление функции затрат J*no_cp (n, MF, MS) является более сложным, чем для явной формы Jno_cp(n, Μ), используемой в случае с одной памятью. Однако оно может быть выполнено с использованием аналогичной методики рекурсии, как показано в уравнении 11.
Figure 00000027
В уравнении 11 i и j - количество буферов корреляции, которые мы хотим использовать. Формула упрощена и не отражает тот факт, что n-1-i-j≥0. Кроме того, для случая n-1-i-j=0 вторая строка в уравнении минимума не должна учитываться. Как описано ниже, J*no_cp(n, MF, MS) может быть оценено явным образом вместо того, чтобы полагаться на приведенную выше рекурсивную формулу.
Результаты определения оптимальных контрольных точек в памяти, имеющей две разные скорости доступа, показаны на фиг. 8 и 9. Для примера, показанного на фиг. 8 и 9, затраты на доступ к быстрой памяти предполагаются равными нулю (то есть WcF=RcF=WsF=RsF=0) для простоты объяснения. Однако описанные здесь методы работают для любых реализаций, имеющих ненулевые затраты доступа к быстрой памяти. Кроме того, длинная горизонтальная линия представляет контрольную точку с полным состоянием, короткая горизонтальная линия представляет контрольную точку корреляции, и любая линия, имеющая ромб в конце, обозначает сохранение в медленной памяти.
Фиг. 8A-E являются схемами, иллюстрирующими несколько ситуаций, в которых объем быстрой и медленной памяти варьирует, в то время как пространство памяти, используемое для каждого типа контрольной точки, остается одинаковым, в соответствии с иллюстративными вариантами осуществления настоящей методики. На фиг. 8A-E скорость для медленной памяти предполагается равной WcS=RcS=WsS=RsS=0,2. Объем пространства памяти, который использует контрольная точка каждого типа, предполагается равным C=S=2 (соответствует предположению схемы Гриванка). На фиг. 8A объем памяти составляет MF=3 и MS=0. На фиг. 8B MF=2 и MS=3. На фиг. 8C MF=2 и MS=12. На фиг. 8D MF=14 и MS=0. Наконец, на фиг. 8E MF=3 и MS=20. Как можно видеть на фиг. 8A-E, объем и типы имеющейся памяти могут иметь существенный эффект для результата оптимизации. Например, на фиг. 8C и 8D объем всей памяти является одинаковым, но различие в скорости памяти приводит к различию в полученной оптимальной стратегии создания контрольных точек.
В общем случае затраты на доступ к памяти (то есть время для ввода-вывода) будут отличаться в зависимости от размера информации. Например, как описывается здесь, память, используемая для контрольной точки с полным состоянием, может быть в значительной степени больше, чем память, используемая для контрольной точки корреляции, в случае, когда S в значительной степени больше, чем C.
Фиг. 9A-E являются схемами, иллюстрирующими несколько ситуаций, в которых объем быстрой и медленной памяти различен, причем пространство памяти, используемое для контрольной точки корреляции, равно двум, а для контрольной точки с полным состоянием равно трем, в соответствии с иллюстративными вариантами осуществления настоящей методики. Таким образом, на фиг. 9A-E WcS=RcS=1,0, WsS=RsS=1,5, C=2 и S=3. На фиг. 9A объем памяти составляет MF=3 и MS=0. На фиг. 9B MF=2 и MS=3. На фиг. 9C MF=2 и MS=12. На фиг. 9D MF=14 и MS=0. Наконец, на фиг. 9E MF=3 и MS=20. Можно отметить, что объемы памяти, используемые на каждой из фиг. 9A-E, соответствуют объему памяти, используемому на каждой из фиг. 8A-E, и показывают изменение в стратегии, которое происходит, когда использование памяти отличается для контрольных точек с полным состоянием по сравнению с контрольными точками корреляции.
Сравнение фиг. 8E и 9E иллюстрирует, что потери от использования медленной памяти могут полностью изменить стратегию, даже если вся память является достаточно большой для обоих случаев. Таким образом, выполнение миграции RTM с созданием контрольных точек на очень большом диске может быть медленнее, чем миграция RTM с созданием контрольных точек с использованием намного меньшего количества распределенных буферов оперативной памяти на параллельном компьютере.
Таблица 2 представляет сравнение времени решения (включающего в себя и прямое, и сопряженное вычисление) между раскрытой здесь оптимальной методикой создания контрольных точек и стратегией создания контрольных точек Гриванка. В этом примере выполняется взаимная корреляция 1000 состояний, C=1 Гб и S=10 Гб. Кроме того, показаны различные комбинации памяти, и затраты на доступ предполагаются WcS=RcS=2 с и WsS=RsS=5 с.
Таблица 2
Решение сравнения затрат между оптимальным созданием контрольных точек и созданием контрольных точек Гриванка при (WcS=RcS=2 с, WsS=RsS=5 с), C=1 Гб, S=10 Гб и n=1000
Аппаратная память Стратегия создания контрольных точек Время моделирования
20 Гб памяти Гриванк 3,66 часов
20 Гб памяти Оптимальная 2,75 часов
200 Гб на диске Гриванк 3,47 часов
200 Гб на диске Оптимальная 1,89 часов
20 Гб памяти и 200 Гб на диске Оптимальная 1,07 часов
200 Гб памяти Гриванк 1,04 часов
200 Гб памяти Оптимальная 47 минут
Бесконечная память 33 минуты
Явная оценка затрат
Вместо использования рекурсивной формулы выражение J*nocp(n, MF, MS) может быть определено явно. Для достижения решения рассмотрим выражение J*nocp(n, m, MF, MS), которое представляет собой затраты на взаимную корреляцию n шагов по m прямых проходов без использования контрольных точек с полным состоянием с состоянием 0 в памяти "*" (либо F, либо S) и с ограничением памяти MF, MS. Таким образом, процедура, показанная в уравнении 12, может использоваться для определения затрат с сохранением контрольных точек с полным состоянием.
Figure 00000028
Затем может быть определен минимум из формул, показанных в уравнении 13
Figure 00000029
Чтобы минимизировать выражение J*nocp (n, m, MF, MS), можно рассмотреть три случая. В первом случае не может использоваться никакая память, причем m=n. Во втором случае может использоваться только быстрая память, что представляет формулу в уравнении 14.
Figure 00000030
В третьем случае используется и быстрая память, и медленная память, и
Figure 00000031
В этом случае скорость увеличивается посредством использования как можно большего количества быстрой памяти (иначе нет необходимости использовать медленную память). Этот случай представляет формулу в уравнении 15.
Figure 00000032
На основе этих случаев m можно искать около пяти критических значений, показанных в уравнении 16.
Figure 00000033
Уравнение 16 может использоваться для получения наилучшего значения m и соответствующего J*nocp(n, MF, MS). При применении этих приведенных выше формул должны учитываться надлежащие границы. Например, если mFopt не находится между
Figure 00000034
и n, то его не нужно рассматривать.
Эффективное вычисление оптимальной стратегии создания контрольных точек.
Хотя выражение J*no_cp(n, MF, MS) может быть определено явно, рекурсивная формула по-прежнему используется, чтобы найти J*(n, MF, MS). С использованием рекурсивной формулы затраты на корреляцию n состояний с использованием nF буферов быстрой памяти (nF=MF/S) и ns (ns=Ms/S) буферов медленной памяти могут быть предварительно определены как затраты ~n2×nF×nS. Здесь символ "~" используется для обозначения "порядка". Эти предварительно сведенные в таблицу данные требуют памяти с размером ~n×nF×nS. Как только мы имеем предварительно сведенные в таблицу данные о затратах, нам требуются только затраты ~n2 для вычисления оптимальной стратегии создания контрольных точек с двумя уровнями памяти для заданных ограничений объемов двух типов памяти. Самый интенсивный с точки зрения вычислений этап представляет собой предварительное вычисление таблицы затрат J*(n, MF, MS) (для корреляции до n состояний с ограничениями памяти MF, MS) с затратами ~n2×nF×nS. Хотя это лишь единовременные затраты, имеет значение сделать этот этап эффективным. В иллюстративном варианте осуществления это может быть выполнено с использованием дополнительного табулирования значения k (местоположения первой контрольной точки с полным состоянием). После дополнительного табулирования значения k фактическое определение стратегии создания контрольных точек приведет к затратам ~n вместо ~n2. Рассмотренные выше методики и формулы могут использоваться для определения оптимальных количеств и местоположений контрольных точек, как описано в отношении способов, показанных на фиг. 10-14.
Фиг. 10 является блок-схемой последовательности операций для реализации моделирование, которое использует контрольные точки корреляции, в соответствии с иллюстративными вариантами осуществления настоящей методики. Процесс начинается на этапе 1002 с вычисления оптимальной стратегии создания контрольных точек. Это вычисление может быть выполнено с использованием описанных выше формул. На этапе 1004 выделяется необходимая память. Она может быть ограничена доступной памятью, размером контрольных точек с полным состоянием и контрольных точек корреляции и т.п. На этапе 1006 реализуются стратегия создания контрольных точек и вычисления корреляции, например, посредством прохода через последовательность команд создания контрольных точек.
Например, стратегия создания контрольных точек может быть выражена в форме упорядоченного списка команд. Приведенная ниже таблица 3 представляет пример системы команд, которая может использоваться для реализации стратегии создания контрольных точек. В этом примере "номер команды" соответствует последовательности операций, которые должны быть выполнены, когда встречается этот "номер команды". Может существовать несколько способов задать такую систему команд, но наличие одной версии, представленной ниже, достаточно для реализации технологии.
Таблица 3
Иллюстративные команды для реализации стратегии создания контрольных точек
Номер команды Команда
-1 Выйти из командного цикла. Все выполнено.
0 Выполнить временной шаг в прямом направлении N раз и затем сохранить буфер состояния в памяти указанного типа.
Например, (0 74 S) предписывает выполнить команду типа 0 и 74 временных шага в прямом направлении и затем сохранить буфер состояния в медленной памяти.
1 Выполнить сопряженный временной шаг в обратном направлении и корреляцию с корреляционной частью информации состояния прямого моделирования, которая находится в памяти указанного типа. Высвободить пространство памяти этого типа. Перезагрузить состояние прямого моделирования из памяти указанного типа.
Например, (1 S F) означает выполнить сопряженный временной шаг и корреляцию. Затем высвободить пространство памяти из медленной памяти из последнего сохраненного в ней буфера состояния. Затем перезагрузить прямое моделирование из последнего буфера состояния, сохраненного в быстрой памяти.
2 Выполнить временной шаг в прямом направлении N раз и сохранить указанное количество буферов в быстрой и медленной памяти, выбирая интервалы в конце временных шагов прямого моделирования. Затем выполнить сопряженные временные шаги и корреляцию информации для каждого из сохраненных буферов корреляции. Затем высвободить пространство памяти для сохраненных буферов корреляции.
Например, (2 55 10F 4S) означает прямое вычисление 55 временных шагов и сохранение буферов корреляции для шагов 45-54 в быстрой памяти и сохранение буферов корреляции для шагов 41-44 в медленной памяти. Следует отметить, что информация корреляции для шага 55 доступна в данных прямого моделирования для шага 55, и ее не нужно сохранять отдельно.
3 Перезагрузить прямое волновое поле из последнего сохраненного буфера состояния в памяти указанного типа.
Например, (3 F) перезагружает состояние прямого волнового поля из последнего буфера состояния в быстрой памяти.
Пример использования команд для реализации процедуры создания контрольных точек представлен ниже. В этом случае корреляция имеет 266 временных шагов, S=12, C=1, MF=10, Ms=40, затраты доступа Rs=Ws=2 и Rc=Wc=0,6 для медленной памяти и нулевые затраты доступа для быстрой памяти.
(0 74 S), (0 71 S), (0 66 S), (2 55 10F 4S), (3 S), (2 40 10F 4S), (3 S), (2 25 10F 3S), (3 S), (2 11 10F 0S), (1 S S), (2 65 10F 16S), (3 S), (2 38 10F 16S), (3 S), (2 11 10F 0S), (1 S S), (2 70 10F 28S), (3 S, 2 31 10F 9S), (3 S), (2 11 10F 0S), (1 S F), (2 73 10F 40S), (3 F), (2 22 10F 0S), (3 F), (2 11 10F 0S), Приложения А и В являются листингами исходного кода двух примеров компьютерной программы, которая может быть использована для формирования оптимальной стратегии контрольных точек, которая реализуется посредством вышеуказанных инструкций, которые заданы только вышеуказанными параметрами, т.е. S и C, и т.д. Программы в приложениях А и В используют стратегию контрольных точек настоящего изобретения, однако программа будет выбирать схему контрольных точек Гриванка, где это будет оптимально.
Фиг. 11 является блок-схемой последовательности операций способа вычисления минимальных затрат без контрольных точек с полным состоянием в соответствии с иллюстративными вариантами осуществления настоящей методики. Способ начинается на этапе 1102 с инициализации пустого списка для сохранения потенциального оптимального количества проходов. На этапе 1104 первое значение этого списка инициализируется и устанавливается равным n, количеству временных шагов в прямом моделировании.
На этапе 1106 максимальное количество буферов корреляции, которые могут быть сохранены в быстрой памяти и медленной памяти, вычисляются посредством формул
Figure 00000035
На этапе 1108 выполняется определение относительно того, доступен ли по меньшей мере один быстрый буфер контрольной точки корреляции, то есть nCF≥1. Если быстрые буферы контрольной точки корреляции не доступны, процесс переходит на этап 1118.
Если имеется по меньшей мере один быстрый доступный буфер корреляции, то на этапе 1110 вычисляется минимальное требуемое количество проходов, если используются только быстрые буферы корреляции, с помощью формулы mF=|n/(nCF+1)|. На этапе 1112 вычисляется оптимальное количество проходов, если используются только быстрые буферы корреляции, с помощью формулы m o p t F = ( R S * + n n C F + ( W C F + R C F ) ) / ( 1 + 1 n C F )
Figure 00000036
. На этапе 1114 значение mFopt добавляется в список, если и только если mF<mFopt<n. На этапе 1116 mF добавляется в список.
На этапе 1118 выполняется определение относительно того, доступен ли по меньшей мере один медленный буфер контрольной точки корреляции, то есть ncs≥1. Если медленные буферы контрольной точки корреляции не доступны, процесс переходит на этап 1128.
Если имеется по меньшей мере один медленный доступный буфер корреляции, на этапе 1120 вычисляется минимальное требуемое количество проходов с использованием всех типов буферов корреляции с помощью формулы mF&S=|n/(nCF+nCS+1)|. На этапе 1122 вычисляется оптимальное количество проходов, если используются все быстрые буферы корреляции и по меньшей мере один буфер корреляции, с помощью формулы
Figure 00000037
На этапе 1124 mF&Sopt добавляется в список, если и только если mF&S<mF&Sopt<последнее значение в списке. На этапе 1126 mF&S добавляется в список.
На этапе 1128 список повторно формируется для включения в него ближайших целых чисел в пределах того же самого диапазона. Например, если первоначальный список представляет собой (17, 10, 1), то новый список должен представлять собой (17, 16, 11, 10, 9, 2, 1). Это может помочь учесть округление действительных чисел до целых чисел.
На этапе 1130 вычисляются соответствующие затраты каждого потенциального оптимального количества проходов с использованием следующих формул.
Figure 00000038
где mF&S используется для определения MF и MS перед использованием предыдущих формул. На этапе 1132 возвращаются минимальные затраты.
Фиг. 12 является блок-схемой последовательности операций способа вычисления минимальных затрат и наилучшего местоположение для выполнения взаимной корреляции n состояний в соответствии с иллюстративными вариантами осуществления настоящей методики. Способ предполагает, что nf_used буферов состояния контрольной точки быстрой памяти и ns_used буферов состояния контрольной точки медленной памяти уже используются, и что начальная контрольная точка с полным состоянием сохранена в памяти типа StartType, и первая контрольная точка с полным состоянием сохранена в памяти типа KType. (Набранные курсивом выражения в реализациях на C и C++ способа настоящего изобретения и снова появляются в приведенных ниже уравнениях) StartType обозначает тип хранения, быстрый или медленный, соответствующий контрольной точке с полным состоянием, от которой инициируется прямое моделирование. KType обозначает тип хранения, быстрый или медленный, соответствующий контрольной точке с полным состоянием, которая будет сохранена на временном шаге с индексом k. StartType может принимать два значения, F для быстрой памяти или S для медленной памяти, nf_used представляет собой количество использующихся в настоящее время буферов состояния контрольной точки быстрой памяти. Доступная в настоящий момент быстрая память для новых контрольных точек информации состояния или корреляции не включает в себя пространство для использующихся в настоящее время буферов состояния контрольной точки быстрой памяти. Аналогичным образом, ns_used представляет собой количество использующихся в настоящее время буферов состояния контрольной точки медленной памяти, и доступная в настоящий момент медленная память не включает в себя пространство для использующихся в настоящее время буферов состояния контрольной точки медленной памяти.
На этапе 1202 выполняется определение относительно того, возможна ли ситуация. Если ситуация не возможна, процесс переходит на этап 1204, на котором возвращаются очень большие затраты (например, 1e10) для идентификации того, что вычисление невозможно.
На этапе 1206 выполняется определение относительно того, что n=2. Если это так, то наилучшее местоположение первой контрольной точки с полным состоянием должно быть 1, и соответствующие затраты возвращаются на этапе 1208.
На этапе 1210 предыдущий наилучший шаг k получается из предварительно вычисленной таблицы. Это значение в таблице вычислено для корреляции n-1 состояний с одинаковым ограничением памяти и одной и той же начальной контрольной точкой с полным состоянием и первым требованием типа хранения контрольной точки с полным состоянием.
На этапе 1212 для каждого шага k в пределах некоторого расстояния, например S/C+1, от предыдущего наилучшего k вычисляются соответствующие затраты, которые должны быть в первой контрольной точке с полным состоянием в местоположении k. Если первая контрольная точка с полным состоянием должна находиться в быстрой памяти (то есть KType=F), затраты задаются формулой:
Figure 00000039
Если первая контрольная точка с полным состоянием не должна находиться в быстрой памяти, затраты задаются формулой:
Figure 00000040
В приведенных выше уравнениях следующее определение:
Figure 00000041
использовалось, чтобы указать, что память уменьшена на блок S. На этапе 1214 предварительно вычисленная таблица обновляется с помощью вычисленных минимальных затрат и наилучшего местоположения первой контрольной точки.
Фиг. 13 является блок-схемой последовательности операций, показывающей, каким образом предварительно вычислить таблицу минимальных затрат, соответствующих контрольной точке с полным состоянием, взятой в оптимальном местоположении k, в соответствии с иллюстративными вариантами осуществления настоящей методики. Способ начинается на этапе 1302 с выделения массивов для хранения таблицы. Например, два пятимерных массива J_with_cp[2][2][n][nfMax][nsMax] и BestK[2][2][n][nfMax][nsMax] могут быть выделены для отслеживания минимальных затрат и наилучшего местоположения первой контрольной точки. Как часть выделения все значения в массиве инициализируются и устанавливаются равными -1. В обоих массивах первая размерность представляет тип хранения для навальной контрольной точки. Вторая размерность представляет тип хранения для первой контрольной точки. Третья размерность представляет количество состояний, которые должны быть коррелированы. Четвертая размерность представляет максимальное количество контрольных точек в быстрой памяти. Пятая размерность представляет максимальное количество контрольных точек в медленной памяти.
На этапе 1304 отслеживается счетчик для цикла I от 2 до n, где I представляет количество состояний, которые должны быть коррелированы. На этапе 1306 отслеживается другой счетчик для цикла J от 0 до nfMax, где nfMax - количество буферов состояния быстрой памяти, которые были использованы. На этапе 1308 отслеживается третий счетчик для цикла K от 0 до nSMax, где nsMax - количество буферов состояния медленной памяти, которые были использованы.
На этапе 1310 вычисляются минимальные затраты и наилучшее местоположение первой контрольной точки для выполнения перекрестной корреляции I состояний с уже использованными J буферами контрольной точки с полным состоянием быстрой памяти и с K буферами контрольной точки с полным состоянием медленной памяти для 4 случаев: 1) Начиная с контрольной точки с полным состоянием в быстрой памяти, вычислить затраты для первой контрольной точки с полным состоянием в медленной памяти. 2) Начиная с контрольной точки с полным состоянием в быстрой памяти, вычислить затраты для первой контрольной точки с полным состоянием в медленной памяти. 3) Начиная с контрольной точки в медленной памяти, вычислить затраты для первой контрольной точки с полным состоянием в быстрой памяти. 4) Наконец, начиная с контрольной точки с полным состоянием в медленной памяти, вычислить затраты для первой контрольной точки с полным состоянием в медленной памяти. Полученные результаты используются для обновления соответствующей записи таблицы для массивов J_with_cp и BestK. Каждый из этих четырех шагов для этапа 1304 может быть вычислен с использованием способа, показанного на фиг. 12. Вычисление затрат 1212 требует знания затрат памяти полного состояния для указанного типа хранения, количества восстановлений для заданной контрольной точки с полным состоянием на указанном временном шаге и затрат восстановления полного состояния для указанного типа хранения. Когда nS≥2, описанный выше процесс может быть применен рекурсивно, чтобы оптимально определить местоположение дополнительных контрольных точек с полным состоянием.
Фиг. 14 является блок-схемой последовательности операций способа вычисления минимальных затрат и оптимальной стратегии создания контрольных точек для корреляции n состояний с nƒ_used буферами состояния быстрой памяти и nf_used буферами состояния медленной памяти в ситуации, когда начальная контрольная точка находится в памяти типа StartType, в соответствии с иллюстративными вариантами осуществления настоящей методики. Способ начинается на этапе 1402, на котором затраты, соответствующие первой контрольной точке с полным состоянием в быстрой памяти, получаются из таблицы J_with_cp, и соответствующее наилучшее местоположение контрольной точки с полным состоянием из таблицы BestK. На этапе 1404 затраты с первой контрольной точкой с полным состоянием в медленной памяти получаются из таблицы J_with_cp, и соответствующее наилучшее местоположение контрольной точки получается из таблицы BestK. Таблицы, сформированные с помощью способа фиг. 13, могут использоваться и на этапе 1402, и на этапе 1404. На этапе 1406 определяются затраты без использования контрольных точек и соответствующее оптимальное количество проходов (см. фиг. 11). На этапе 1408 согласно тому, какие затраты (из шагов 1, 2 или 3) являются минимальными, рекурсивно выдается оптимальная стратегия создания контрольных точек.
Идентификация минимальных затрат при вычислениях для создания контрольных точек
Фиг. 15 представляет собой график, показывающий отношение между минимальными затратами и местоположением первой контрольной точки с полным состоянием (k) для взаимной корреляции 266 шагов с использованием четырех буферов, когда S/C=12 и Rs=Ws=Rc=Wc=0, в соответствии с иллюстративными вариантами осуществления настоящей методики. В особом случае S/C=1 и Rs=Ws=Rc=Wc=0 местоположение оптимальной первой контрольной точки имеет явную форму (как определено стратегией создания контрольных точек Гриванка). Однако, как только мы имеем S>C, местоположение оптимальной первой контрольной точки становится сложным даже в простом случае, когда по прежнему сохраняются условия Rs=Ws=Rc=Wc=0. В примере, показанном на фиг. 15, имеется три локальных минимума 1502 для выбора первой контрольной точки. Когда Rs, Ws, Rc и Wc больше не равны нулю, поведение становится еще более нелинейным, как показано на фиг. 16.
Фиг. 16 представляет собой график, показывающий отношение между минимальными затратами и местоположением первой контрольной точки с полным состоянием для взаимной корреляции 266 шагов с использованием четырех буферов, когда S/C=12, Rs=Ws=12 и Rc=Wc=1 в соответствии с иллюстративными вариантами осуществления настоящей методики. В этом примере график был сформирован в предположении, что восстановление с нулевого состояния прямого моделирования не требует никаких затрат. Как можно видеть из графика на фиг. 16, идентификации минимума 1602 могут усложниться. Одно важное наблюдение на основе числовых экспериментов с рекурсивной формулой состоит в том, что при (1) сохранении одинаковой доступной памяти (то есть MF и MS одинаковы) и (2) одинаковых типах начальной контрольной точки с полным состоянием и первой контрольной точки с полным состоянием (то есть в быстрой или медленной памяти) второй локальный минимум постепенно становится глобальным минимумом при увеличении n. Другое важное наблюдение состоит в том, что расстояние между двумя локальными минимумами находится примерно в пределах расстояния -S/C+1. С помощью этих двух наблюдений мы можем искать первое местоположение контрольной точки (k) среди небольшого количества возможностей. Это приводит к алгоритму, который предварительно вычисляет таблицу затрат с затратами лишь ~n×nF×nS по сравнению с ~n2×nF×nS.
Поиск только около ожидаемого местоположения контрольной точки значительно уменьшает вычислительные затраты стратегии в ~n раз с некоторой потерей качества стратегии. Однако этот метод может обеспечить стратегию создания контрольных точек с дополнительными затратами менее 1% по сравнению с оптимальной стратегией создания контрольных точек, полученной посредством полного поиска.
Для очень большого n память для таблиц cost и BestK и время вычисления таблиц может стать большим. Практическая стратегия реализации для очень большого n может состоять в том, чтобы вычислить оптимальные таблицы для разумного размера nmax_table и затем переключиться на стратегию создания контрольных точек с полным состоянием Гриванка, чтобы найти BestK, если n>nmax_table, и использовать таблицы, если n<nmax_table. Значение Гриванка для BestK может быть оценено без потребности в таблице. Обычно это приводит к стратегии создания контрольных точек, которая является лишь на несколько процентов более затратной, чем оптимальная стратегия, найденная с помощью полноразмерной таблицы.
Повышение производительности, полученное на основе оптимальной стратегии создания контрольных точек.
Фиг. 17 представляет собой график 1700, показывающий улучшение производительности оптимальной стратегии создания контрольных точек по сравнению с созданием контрольных точек с использованием процедуры Гриванка, в соответствии с иллюстративными вариантами осуществления настоящей методики. Отношение между производительностью и доступной памятью обычно имеет форму, показанную на фиг. 17. На графике 1700 верхняя сплошная линия 1702 представляет оптимальную производительность, вычисленную для использования двух уровней памяти, например быстрой памяти и медленной памяти. Средняя сплошная линия 1704 представляет оптимальную производительность, вычисленную для использования одного уровня памяти. Нижняя пунктирная линия 1706 представляет производительность, вычисленную для использования создания контрольных точек Гриванка. Как показано на графике 1700, производительность первоначально увеличивается с увеличением доступной памяти (обычно по мере добавления большего количества вычислительных узлов), поскольку будет требоваться меньше повторных вычислений контрольных точек с полным состоянием.
Однако после того, как доступная память выходит за пределы некоторой точки (например, точки A 1708 или точки F 1710), потеря роста становится доминирующей, и производительность уменьшается. Потеря роста является результатом добавления большего количества вычислительных блоков к задаче, причем эффективность каждого вычислительного блока уменьшается из-за увеличенных служебных издержек, вызванных использованием множества блоков, например связи между блоками или между системами хранения и блоками. Потеря роста может произойти из-за отсутствия идеальной масштабируемости приложения. Кроме того, преимущество от сокращения повторных вычислений становится несущественным. Рост производительности на основе оптимальной стратегии создания контрольных точек зависит от доступной памяти. Например, если доступно достаточно памяти, рост производительности оптимального создания контрольных точек по сравнению с созданием контрольных точек Гриванка может представлять собой отношение между точкой A 1708 и точкой F 1710. Если память ограничена (который обычно имеет место), рост производительности может представлять собой отношение между точкой A 1712 и точкой D 1714.
Применения
Оптимальная стратегия создания контрольных точек настоящей методики может использоваться для получения увеличенной эффективности для любого количества интенсивных в вычислительном отношении процессов с большими объемами хранения, например, с использованием программного обеспечения с табличной реализацией. Обычно процессы, которые извлекут выгоду из методики, включают в себя прямое моделирование с продвижением по времени, доступ к которому получают в обратном временном порядке для корреляции с вычислениями с продвижением в обратном временном порядке.
Например, в иллюстративных вариантах осуществления оптимальная процедура создания контрольных точек используется в приложениях обработки сейсмических изображений. В этих вариантах осуществления оптимальная процедура создания контрольных точек может обеспечить улучшение вычислительной эффективности для миграции RTM сейсмограммы общего пункта взрыва до суммирования, миграции RTM одновременного источника до суммирования, градиента FWI общего пункта взрыва до суммирования, гессиана FWI общего пункта взрыва до суммирования, градиента FWI одновременного источника до суммирования, гессиана одновременного источника до суммирования и подобных сейсмических вычислений. Компьютерное средство моделирования в каждом из этих приложений может быть основано на сейсмическом волновом уравнении, например, использующем анизотропную вязкоупругую физику. Зарегистрированные данные могут включать в себя скорость частицы, давление, напряжение, ускорение или любые их комбинации. Некоторые таблицы для оптимальной стратегии создания контрольных точек с обращением времени могут быть предварительно вычислены и сохранены. В каждом из этих приложений сейсмическое моделирование с прямым продвижением во времени может применять разные уровни физики в пределах от простой акустики с постоянной плотностью, акустики с переменной плотностью, вязко-анизотропной акустики, изотропного упругого, анизотропного упругого и вплоть до полного анизотропного вязкоупругого моделирования. Корреляция прямого моделирования с состояниями сопряженного моделирования, сформированными из результатов измерений, среди прочего может использоваться для формирования сейсмических изображений, коррекции моделей скорости, оценки коэффициентов жесткости, оценки вейвлетов источника и оценки добротности затухания.
Можно отметить, что этап корреляции требует лишь того, чтобы волновое поле возбуждения источника и распространяющееся в обратном направлении во времени волновое поле приемника одновременно были подвергнуты взаимной корреляции и просуммированы для всех временных шагов. Таким образом, распространение или моделирование могут быть выполнены в обратном временном порядке или в прямом временном порядке, и результат является одинаковым. Описанный выше пример миграции RTM имеет волновое поле возбуждения источника, которое естественным образом доступно в прямом временном порядке, к которому получают доступ в обратном временном порядке, в то время как волновое поле приемника проходит в обратном направлении во времени. В качестве альтернативы, оптимальная стратегия создания контрольных точек также может применяться к реализациям, в которых для волнового поля приемника создаются контрольные точки во время распространения в обратном направлении во времени, и затем к нему получают доступ в прямом временном порядке для сопоставления волнового поля возбуждения источника, распространяемого в прямом направлении во времени. Обе реализации охвачены описанными здесь способами.
В дополнение к этим приложениям настоящая методика может использоваться для любого количества других приложений. Например, в варианте осуществления оптимальная стратегия создания контрольных точек может использоваться для сопоставления хронологии моделей коллекторов углеводорода. В этом приложении данные, собранные из коллектора, могут включать в себя среди прочего объемы и типы текучих сред, получаемых из скважины, температуры забоя и стратиграфические данные горных пород. Компьютерное моделирование может быть основано на многофазном выражении закона Дарси для потока жидкости. Корреляция может использоваться для коррекции параметров, таких как пористость, проницаемость, насыщенность жидкостью и распределения давления и т.п. Корреляция также может использоваться для формирования производственных прогнозов для коллектора и для задач управления коллектором. Такие задачи могут включать в себя среди прочего определение местоположений для новых скважин и определение того, следует ли преобразовать добывающие скважины в нагнетающие скважины.
В другом варианте осуществления настоящая методика может использоваться для моделирования бассейна. В этом применении стратиграфические данные горной породы могут являться одним из измеренных параметров. Компьютерное моделирование основывается на тектонической деформации бассейна и модели процессов отложения осадков, которые сформировали бассейн. Выходная информация корреляции может помочь с определением показателей отложения осадков и доступного пространства размещения как функцией позиции и геологического времени. Кроме того, выходная информация может включать в себя хронологическую форму бассейна за геологическое время и хронологию глубины залегания и термическую хронологию для целевых коллекторов и материнских пород.
Другой вариант осуществления настоящей методики может использоваться при определении теплопередачи в коллекторе сырой нефти, таком как коллекторы асфальта в Колд Лейк в Канаде. В этом приложении результаты измерений могут включать в себя измерения температуры, тип горной породы и измерения типа углеводородов, тепловое расширение, проседание, соответствующее добыче углеводородов, и т.п. Компьютерное моделирование может быть основано среди прочего на уравнении распространения для теплопередачи с в совокупности с уравнениями для горной породы, и на коэффициентах жесткости сырой нефти как функции температуры в совокупности с фазовыми соотношениями сырой нефти как функции температуры и давления. Результаты корреляции могут использоваться среди прочего для определения теплопроводности и подземной температуры в вышележащей породе и интервалов коллектора и изменения фазы для компонентов углеводородов.
Методика не ограничена системами углеводородов. Например, варианты осуществления настоящей методики могут использоваться для определения теплопередачи через объекты. Например, при возврате в атмосферу космического корабля методика может использоваться для сравнения температуры обшивки космического корабля с моделируемыми результатами, сформированными из прямого анализа с использованием метода конечных элементов. Методика также может принести пользу для других разнообразных применений, таких как моделирование климата, моделирование ядерных взрывов и т.п.
Иллюстративная кластерная вычислительная система
Фиг. 18 является блок-схемой иллюстративной кластерной вычислительной системы 1800, которая может использоваться для реализации настоящей методики, в соответствии с иллюстративными вариантами осуществления настоящей методики. Проиллюстрированная Кластерная вычислительная система 1800 имеет четыре вычислительных блока 1802, каждый из которых может выполнять вычисления для части построения сейсмических изображений. Однако специалист в области техники поймет, что настоящие методики не ограничены этой конфигурацией, поскольку может быть выбрано любое количество вычислительных конфигураций. Например, меньшая модель, такая как вычисление для построения сейсмических изображений, может быть выполнена на одном вычислительном блоке 1802, таком как рабочая станция, в то время как большая модель может быть выполнена на кластерной вычислительной системе 1800, имеющей 10, 100, 1000 или даже больше вычислительных блоков 1802.
К кластерной вычислительной системе 1800 может быть получен доступ от одной или более клиентских систем 1804 по сети 1806, например, через высокоскоростной сетевой интерфейс 1808. Сеть 1806 может включать в себя локальную сеть (LAN), глобальную сеть (WAN), Интернет или любые их комбинации. Каждая из клиентских систем 1804 может иметь непреходящую машиночитаемую память 1810 для хранения операционного кода и программ, в том числе оперативное запоминающее устройство (RAM) и постоянное запоминающее устройство (ROM). Операционный код и программы могут включать в себя код, используемый для реализации всех или любых частей описанных здесь способов, например, описанных со ссылкой на фиг. 3 и 10-14. Кроме того, непреходящие машиночитаемые носители могут содержать контрольные точки с полным состоянием, контрольные точки корреляции и результаты моделирования, такие как представление данных подземного пространства. Клиентские системы 1804 также могут иметь другие непреходящие машиночитаемые носители, такие как системы 1812 хранения. Системы 1812 хранения могут включать в себя один или более накопителей на жестких дисках, один или более накопителей на оптических дисках, одну или более карт флэш-памяти, любые комбинации этих блоков или любое другое подходящее устройство хранения. Системы 1812 хранения могут использоваться для хранения контрольных точек, кода, моделей, данных и другой информации, используемой для описанных здесь способов. Например, система хранения данных может содержать контрольные точки для оптимальной стратегии создания контрольных точек.
Высокоскоростной сетевой интерфейс 1808 может быть соединен с одной или более коммуникационными шинами в кластерной вычислительной системе 1800, такой как коммуникационная шина 1814. Коммуникационная шина 1814 может использоваться для передачи команд и данных от высокоскоростного сетевого интерфейса 1808 к кластерной системе хранения 1816 и к каждому из вычислительных блоков 1802 в кластерной вычислительной системе 1800. Коммуникационная шина 1814 также может использоваться для связи между вычислительными блоками 1802 и кластерной системой хранения 1816. В дополнение к коммуникационной шине 1814 может присутствовать высокоскоростная шина 1818 для увеличения скорости связи между вычислительными блоками 1802 и/или кластерной системой хранения 1816.
Кластерная система хранения 1816 может иметь один или более непреходящих машиночитаемых носителей, таких как массивы 1820 памяти для хранения контрольных точек, данных, визуальных представлений, результатов, кода или другой информации, например, относительно реализации и результатов способов, показанных на фиг. 3 и 10-14. Массивы 1820 памяти могут включать в себя любые комбинации накопителей на жестких дисках, накопителей на оптических дисках, карт флэш-памяти, голографических массивов памяти или любых других подходящих устройств.
Каждый из вычислительных блоков 1802 может иметь процессор 1822 и соответствующие локальные материальные машиночитаемые носители, такие как память 1824 и хранилище 1826. Каждый из процессоров 1822 может являться многоядерным устройством, таким как многоядерный центральный процессор или графический процессор. Память 1824 может включать в себя постоянное запоминающее устройство (ROM) и/или оперативное запоминающее устройство (RAM), используемое для хранения кода, например, используемого для того, чтобы заставить процессор 1822 реализовать способы, описанные относительно фиг. 3 и 10-14. Хранилище 1826 может включать в себя один или более накопителей на жестких дисках один или более накопителей на оптических дисках, одну или более карт флэш-памяти или любые их комбинации. Хранилище 1826 может использоваться для обеспечения хранения для контрольных точек, промежуточных результатов, данных, изображений или кода, соответствующего операциям, в том числе кода, используемого для реализации способа, показанного на фиг. 3 и 10-14.
Настоящие методики не ограничены архитектурой или конфигурацией блоков, проиллюстрированной на фиг. 18. Например, любое подходящее устройство на основе процессора может быть использовано для реализации всех или части вариантов осуществления настоящей методики, в том числе, но без ограничения, персональные компьютеры, сетевые персональные компьютеры, ноутбуки, компьютерные рабочие станции, графические процессоры, мобильные устройства и многопроцессорные серверы или рабочие станции с совместно используемой памятью или без нее. Кроме того, варианты осуществления могут быть реализованы на специализированных интегральных схемах (ASIC) или крупномасштабных интегральных схемах (VLSI). Фактически специалисты в области техники могут использовать любое количество подходящих структур, способных к выполнению логических операций в соответствии с вариантами осуществления.
Примеры
Пример усовершенствованного моделирования (SEAM) общества геофизиков-разведчиков (SEG), описанный в разделе "Уровень техники", может работать с использованием "оптимального" создания контрольных точек Гриванка и с использованием настоящего изобретения для различных компьютерных конфигураций.
Прямой, то есть не использующий создания контрольных точек способ, который сохраняет все временные шаги прямого моделирования, может означать сохранение 40000 временных шагов с объемом 84 гигабайта каждый или примерно 3,36 петабайт данных. Примеры для выполнения миграции RTM над данными SEAM демонстрируют, что настоящее изобретение обеспечивает самые большие преимущества по сравнению с созданием контрольных точек Гриванка в оперативной памяти, когда оперативная память очень ограничена по размерам по сравнению с размером прикладной задачи.
Эти примеры применения миграции RTM моделирования SEAM используют оперативную память для "быстрой памяти" и диск для "медленной памяти" и предполагают, что затраты чтения или записи буфера с полным состоянием на диск составляют пять единиц затрат, затраты чтения или записи буфера корреляции на диск составляют две единицы, и что затраты вычислений прямого временного шага составляют одну единицу, и затраты выполнения обратного временного шага составляют три единицы. Затраты чтения или записи буфера с полным состоянием или буфера корреляции с использованием оперативной памяти приняты равными нулю. Кроме того, принято отношение S/C=12. "Затраты в прямом направлении" представляют собой количество единиц затрат, требуемое для обеспечения информации прямого моделирования с обратным по времени порядком и включают в себя и затраты прямого продвижения во времени, и затраты выполнения операций восстановления и сохранения. "Общие затраты" представляют собой количество единиц затрат, требуемое для выполнения и обращения во времени прямого моделирования, и продвижения в обратном направлении во времени для реализации миграции RTM.
Следующая информация сведена в таблицу для каждого примера. Использованный алгоритм должен вычислить количество операций сохранения и восстановления для каждого типа памяти и для каждого типа операции. Эта информация используется для вычисления затрат обращения во времени прямого моделирования. Используемый алгоритм обеспечивает решение Гриванка всякий раз, когда C больше или равно S. В этом случае контрольные точки с полным состоянием, выполненные посредством схемы Гриванка, которые могут быть выполнены посредством сохранения только информации, необходимой для выполнения корреляции, рассматриваются алгоритмом, как если бы они являлись хранилищами информации корреляции.
nReadc[F] Количество восстановлений информации, необходимой для выполнения вычисления корреляции, из быстрой памяти
nWritec[F] Количество сохранений информации, необходимой для выполнения вычисления корреляции, в быструю память
nReads[F] Количество восстановлений полных состояний из быстрой памяти
nWrites[F] Количество сохранений полных состояний в быструю память
nReadc[S] Количество восстановлений информации, необходимой для выполнения вычисления корреляции, из медленной памяти
nWritec[S] Количество сохранений информации, необходимой для выполнения вычисления корреляции, в медленную память
nReads[S] Количество восстановлений полных состояний из медленной памяти
nWrites[S] Количество сохранений полных состояний в медленную память
Эти три примера, обозначенные A, B и C, сравнивают (1) компьютерные затраты стратегии обращения во времени с использованием создания контрольных точек Гриванка для оперативной памяти, (2) настоящее изобретение с использованием создания контрольных точек только в оперативной памяти, и (3) настоящее изобретение с использованием создания контрольных точек и в оперативной памяти, и на диске. Эти примеры предполагают, что n=40000 временных шагов, и компьютерную среду, которая может поддерживать 100 буферов с полным состоянием в оперативной памяти и 100 буферов с полным состоянием на диске. Настоящее изобретение может обеспечить ускорение в 1,30 раза по сравнению со стратегией создания контрольных точек Гриванка со всеми контрольными точками Гриванка в оперативной памяти.
Пример A: Схема Гриванка в памяти
S=84 Гб
Быстрая память=8316 Гб (99 буферов состояния)
Затраты в прямом направлении=114750
Общие затраты=154646
nReadc[F]=39248 nWritec[F]=38540 nReads[F]=751 nWrites[F]=708 nReadc[S]=0 nWritec[S]=0 nReads[S]=0 nWrites[S]=0
Пример B: Оптимальная схема в памяти
S=84 Гб
C=7 Гб
Быстрая память=8316 Гб (используется либо как буферы состояния, либо как буферы корреляции)
Затраты в прямом направлении=79262
Общие затраты=119261
nReadc[F]=39957 nWritec[F]=39916 nReads[F]=42 nWrites[F]=41 nReadc[S]=0 nWritec[S]=0 nReads[S]=0 nWrites[S]=0
Использование буферов корреляции обеспечивает ускорение в 1,44 раза для обращения времени прямого моделирования и общее ускорение в 1,29 раза по сравнению с использованием схемы Гриванка в памяти для выполнения миграции RTM.
Пример C: Оптимальная схема в памяти и на диске
S=84 Гб
C=7 Гб
Быстрая память=8316 Гб (используется либо как буферы состояния, либо как буферы корреляции)
Медленная память=8400 Гб (используется либо как буферы состояния, либо как буферы корреляции)
Затраты в прямом направлении=79163
Общие затраты=119162
nReadc[F]=39934 nWritec[F]=39934 nReads[F]=1 nWrites[F]=0 nReadc[S]=32 nWritec[S]=0 nReads[S]=32 nWrites[S]=32
Хотя доступное дисковое пространство может содержать 100 буферов с полным состоянием или 1200 буферов корреляции, алгоритм изобретения хочет использовать только 32 буфера с полным состоянием на диске. Высокие затраты на выполнение операций ввода с диска и вывода на диск не способствуют тому, чтобы алгоритм использовал все доступное дисковое пространство. Большая часть ускорения в этом случае достигается за счет отношения S/C, и только пошаговое ускорение достигается от имеющегося диска. Пример C обеспечивает общее ускорение в 1,30 раза по сравнению с использованием схемы Гриванка в памяти для выполнения миграции RTM.
Следующие три примера предполагают, что n=40000 временных шагов, и компьютерная среда может поддерживать 20 буферов с полным состоянием в оперативной памяти и 100 буферов с полным состоянием на диске. Следует отметить, что доступная оперативная память меньше, чем в приведенных выше примерах, и что имеется большее преимущество, соответствующее этому изобретению. Настоящее изобретение, примененное в примере G, может обеспечить ускорение в 1,67 раз по сравнению со стратегией создания контрольных точек Гриванка со всеми контрольными точками Гриванка в оперативной памяти в примере D и еще большее ускорение по сравнению со стратегией создания контрольных точек Гриванка со всеми контрольными точками Гриванка на диске в примере E.
Пример D: Схема Гриванка в памяти
S=84 Гб
Быстрая память=1680 Гб (20 буферов с полным состоянием)
Затраты в прямом направлении=185055
Общие затраты=225054
nReadc[F]=33275 nWritec[F]=27439 nReads[F]=6724 nWrites[F]=5836 nReadc[S]=0 nWritec[S]=0 nReads[S]=0 nWrites[S]=0
Пример E: Схема Гриванка на диске
S=84 Гб
Медленная память=8400 Гб (100 буферов с полным состоянием)
Затраты в прямом направлении=513685
Общие затраты=553684
Схема Гриванка на диске: S=84 Гб, C=84 Гб, n=40000, M[F]=0, M[S]=8400 Гб (100 буферов)
Затраты в прямом направлении=513685=114750+(39248+38540+751+708)*5 (Вычислено из добавления затрат ввода/вывода из предыдущего случая)
Следует отметить, что создание контрольных точек Гриванка на диске более затратно, чем создание контрольных точек Гриванка в оперативной памяти в этом примере из-за затрат на операции ввода с диска и вывода на диск.
Пример F: Оптимальная схема в памяти и на диске
S=84 Гб
C=7 Гб
Быстрая память=1680 Гб (используется либо как буферы состояния, либо как буферы корреляции),
Медленная память=8400 Гб (используется либо как буферы состояния, либо как буферы корреляции)
Затраты в прямом направлении=94655
Общие затраты=134654
nReadc[F]=39710 nWritec[F]=39692 nReads[F]=33 nWrites[F]=18 nReadc[S]=100 nWritec[S]=0 nReads[S]=156 nWrites[S]=100
Это решение сохраняет 100 контрольных точек с полным состоянием на диск и делает 156 восстановлений информации контрольной точки с полным состоянием с диска. Еще 18 контрольных точек с полным состоянием выполняются в оперативной памяти. В общей сложности 33 операции восстановления выполняются над контрольными точками с полным состоянием в оперативной памяти. Буферы корреляции не сохраняются на диск.
Следующие два примера предполагают компьютерную среду, которая может поддерживать только 10 буферов с полным состоянием в оперативной памяти и 50 буферов с полным состоянием на диске. В этой среде настоящее изобретение может обеспечить ускорение в 1,97 раза по сравнению со стратегией создания контрольных точек Гриванка со всеми контрольными точками, сохраненными в оперативной памяти.
Пример G: Схема Гриванка в памяти
S=84 Гб
Быстрая память=840 Гб (10 буферов с полным состоянием)
Затраты в прямом направлении=269620
Общие затраты=309619
nReadc[F]=24586 nWritec[F]=14547 nReads[F]=15413 nWrites[F]=10039 nReadc[S]=0 nWritec[S]=0 nReads[S]=0 nWrites[S]=0
Пример H: Оптимальная схема в памяти и на диске
S=84 Гб
C=7 Гб
Быстрая память=840 Гб (используется либо как буферы состояния, либо как буферы корреляции)
Медленная память=4200 Гб (используется либо как буферы состояния, либо как буферы корреляции)
Затраты в прямом направлении=116736
Общие затраты=156735
nReadc[F]=39356 nWritec[F]=39327 nReads[F]=44 nWrites[F]=29 nReadc[S]=266 nWritec[S]=0 nReads[S]=333 nWrites[S]=266
Затраты на обращение времени распространяющегося в прямом направлении волнового поля импульса возбуждения для примера H имеют ускорение в 2,3 раза по сравнению с примером G. Применение полной миграции RTM для примера H имеет ускорение 1,97 по сравнению с примером G.
Следующие два примера предполагают компьютерную среду, которая может поддерживать только 5 буферов с полным состоянием в оперативной памяти и 25 буферов с полным состоянием на диске. В этой среде настоящее изобретение может обеспечить ускорение в 2,9 раза по сравнению со стратегией создания контрольных точек Гриванка со всеми контрольными точками, сохраненными в оперативной памяти.
Пример J: Схема Гриванка в памяти
S=84 Гб
Быстрая память=420 Гб (5 буферов с полным состоянием)
Затраты в прямом направлении=483735
Общие затраты=523734
nReadc[F]=12113 nWritec[F]=3224 nReads[F]=27886 nWrites[F]=8889 nReadc[S]=0 nWritec[S]=0 nReads[S]=0 nWrites[S]=0
Пример K: Оптимальная схема в памяти и на диске
S=84 Гб
C=7 Гб
Быстрая память=420 Гб (используется либо как буферы состояния, либо как буферы корреляции),
Медленная память=2100 Гб (используется либо как буферы состояния, либо как буферы корреляции)
Затраты в прямом направлении=138318
Общие затраты=178317
nReadc[F]=38915 nWritec[F]=38830 nReads[F]=176 nWrites[F]=85 nReadc[S]=350 nWritec[S]=0 nReads[S]=558 nWrites[S]=350
Следующие два примера предполагают компьютерную среду, которая может поддерживать только 2 буфера с полным состоянием в оперативной памяти и 10 буферов с полным состоянием на диске. В этой среде настоящее изобретение может обеспечить ускорение в 5,7 раз по сравнению со стратегией создания контрольных точек Гриванка со всеми контрольными точками, сохраненными в оперативной памяти.
Пример L: Схема Гриванка в памяти
S=84 Гб
Быстрая память=168 Гб (2 буфера с полным состоянием)
Затраты в прямом направлении=1804685
Общие затраты=1844684
nReadc[F]=1914 nWritec[F]=62 nReads[F]=38085 nWrites[F]=1852 nReadc[S]=0 nWritec[S]=0 nReads[S]=0 nWrites[S]=0
Пример M: Оптимальная схема в памяти и на диске
S=84 Гб
C=7 Гб
Быстрая память=168 Гб (используется либо как буферы состояния, либо как буферы корреляции),
Медленная память=840 Гб (используется либо как буферы состояния, либо как буферы корреляции)
Затраты в прямом направлении=280124
Общие затраты=320123
nReadc[F]=37505 nWritec[F]=37295 nReads[F]=757 nWrites[F]=210 nReadc[S]=461 nWritec[S]=0 nReads[S]=1276 nWrites[S]=461
Следующие два примера предполагают компьютерную среду, которая может поддерживать только 1 буфер с полным состоянием в оперативной памяти и 5 буферов с полным состоянием на диске. В этой среде настоящее изобретение может обеспечить ускорение в 20 раз по сравнению со стратегией создания контрольных точек Гриванка со всеми контрольными точками, сохраненными в оперативной памяти.
Пример N: Схема Гриванка в памяти
S=84 Гб
Быстрая память=84 Гб (1 буфер с полным состоянием)
Затраты в прямом направлении=7502798
Общие затраты=7542797
nReadc[F]=282 nWritec[F]=1 nReads[F]=39717 nWrites[F]=281 nReadc[S]=0 nWritec[S]=0 nReads[S]=0 nWrites[S]=0
Пример O: Оптимальная схема в памяти и на диске
S=84 Гб
C=7 Гб
Быстрая память=84Гб (используется либо как буферы состояния, либо как буферы корреляции)
Медленная память=420 Гб (используется либо как буферы состояния, либо как буферы корреляции)
Затраты в прямом направлении=336109
Общие затраты=376108
nReadc[F]=35758 nWritec[F]=35758 nReads[F]=9 nWrites[F]=0 nReadc[S]=1262 nWritec[S]=0 nReads[S]=2970 nWrites[S]=1262
Последние два примера предполагают компьютерную среду, которая может поддерживать только 0,5 буфера с полным состоянием в оперативной памяти и 2,5 буфера с полным состоянием на диске, настоящее изобретение может обеспечить ускорение в 893 раза по сравнению со стратегией создания контрольных точек Гриванка со всеми контрольными точками, сохраненными в оперативной памяти.
Пример P: Схема Гриванка в памяти
S=84 Гб
Быстрая память=42 Гб (0 буферов с полным состоянием)
Затраты в прямом направлении=8000200
Общие затраты=8000600
nReadc[F]=0 nWritec[F]=0 nReads[F]=39999 nWrites[F]=0 nReadc[S]=0 nWritec[S]=0 nReads[S]=0 nWrites[S]=0
Пример Q: Оптимальная схема в памяти и на диске
S=84 Гб
C=7 Гб
Быстрая память=42 Гб (используется либо как буферы состояния, либо как буферы корреляции)
Медленная память=210 Гб (используется либо как буферы состояния, либо как буферы корреляции)
Затраты в прямом направлении=855154
Общие затраты=895153
nReadc[F]=21768 nWritec[F]=21768 nReads[F]=27 nWrites[F]=0 nReadc[S]=14604 nWritec[S]=14254 nReads[S]=3600 nWrites[S]=350
Таким образом, алгоритм настоящего изобретения может использовать память меньше буфера с полным состоянием, если достаточно содержать буфер корреляции.
Хотя настоящая методика может быть восприимчива к различным модификациям и альтернативным формам, описанные выше иллюстративные варианты осуществления показаны только в качестве примера. Однако следует понимать, что настоящие методики не подразумевают ограничения раскрытыми здесь конкретными вариантами осуществления. Действительно, настоящие методики включают в себя все альтернативы, модификации и эквиваленты, находящиеся в пределах истинной сущности и объема приложенной формулы изобретения.
ПРИЛОЖЕНИЕ A
Показанный ниже исходный код представляет собой примитивную реализацию оптимальной стратегии создания контрольных точек настоящего изобретения лишь с добавлением понятия "буфера корреляции" к понятию "буфера состояния" для демонстрации идеи.
Figure 00000042
Figure 00000043
ПРИЛОЖЕНИЕ B
Этот исходный код представляет иллюстративную реализацию способа настоящего изобретения, включающего в себя оптимальную стратегию создания контрольных точек с двумя уровнями памяти.
Figure 00000044
Figure 00000045
Figure 00000046
Figure 00000047
Figure 00000048

Claims (28)

1. Способ снижения вычислительных затрат компьютерного моделирования, содержащий этапы, на которых:
выполняют стратегию создания контрольных точек, причем стратегия создания контрольных точек содержит этапы, на которых:
выбирают временной шаг для сохранения контрольной точки корреляции, причем контрольная точка корреляции содержит данные, используемые для корреляции значения, распространяющегося в прямом направлении, сформированного посредством компьютерного моделирования, причем компьютерное моделирование не может быть повторно начато со значений, сохраненных в контрольной точке корреляции;
причем выбор временного шага для сохранения контрольной точки корреляции предусматривает определение баланса между сохранением контрольной точки полного состояния, с которой компьютерное моделирование может быть повторно начато, и сохранением контрольной точки корреляции и сокращением требований к объему памяти компьютера;
выделяют пространство памяти для контрольной точки корреляции; и
выполняют компьютерное моделирование на каждом из множества временных шагов, причем на каждом из множества временных шагов:
значение, распространяющееся в обратном направлении, из данных измерений коррелируют со значением, распространяющимся в прямом направлении, из компьютерного моделирования, причем прямое значение, распространяющееся в прямом направлении, сохраняется в контрольной точке корреляции.
2. Способ по п. 1, дополнительно содержащий этапы, на которых:
сохраняют контрольную точку с полным состоянием; и
повторно начинают моделирование от контрольной точки с полным состоянием.
3. Способ по п. 1, дополнительно содержащий этап, на котором определяют оптимальное местоположение для сохранения либо контрольной точки с полным состоянием, либо контрольной точки корреляции, причем оптимальное местоположение представляет собой пространство памяти, выделенное в памяти графического процессора (GPU), оперативном запоминающем устройстве (RAM), на виртуальном диске в оперативной памяти (RAM-диске), на дисковом накопителе или в любой их комбинации, причем определение оптимального местоположения по меньшей мере частично основано на скорости доступа к пространству памяти.
4. Способ по п. 1, в котором пространство памяти, используемое для контрольной точки корреляции, меньше, чем пространство памяти, используемое для контрольной точки с полным состоянием.
5. Способ по п. 1, дополнительно содержащий этап, на котором оптимизируют стратегию создания контрольных точек посредством этапов, на которых:
определяют вычислительные затраты, соответствующие сохранению контрольной точки корреляции;
минимизируют вычислительные затраты по меньшей мере частично на основе скорости доступа для каждого из множества блоков хранения и отношения пространства памяти, требуемого для контрольной точки с полным состоянием, к пространству памяти, требуемому для контрольной точки корреляции; и
формируют таблицу, содержащую множество временных шагов и тип контрольной точки, которая будет сохранена в каждом из множества временных шагов.
6. Способ по п. 5, в котором этап определения вычислительных затрат содержит этапы, на которых:
вычисляют максимальное количество контрольных точек корреляции, которые могут быть сохранены в быстром блоке памяти;
вычисляют максимальное количество контрольных точек корреляции, которые могут быть сохранены в медленном блоке памяти;
если какие-либо контрольные точки корреляции могут быть сохранены в быстрой памяти:
вычисляют оптимальное количество пробегов с использованием только быстрой памяти и добавляют его к списку;
вычисляют минимальное количество пробегов с использованием только быстрой памяти и добавляют его к списку;
если какие-либо контрольные точки корреляции могут быть сохранены в медленной памяти:
вычисляют минимальное количество пробегов с использованием всех типов памяти и добавляют его к списку;
вычисляют оптимальное количество пробегов с использованием всей быстрой памяти и сохранением по меньшей мере одной контрольной точки корреляции в медленной памяти, добавляют его в список, если оно меньше последнего значения в списке;
добавляют в список целочисленное значение, ближайшее к каждому значению в списке;
вычисляют затраты для каждого значения в списке; и
возвращают минимальные затраты.
7. Способ по п. 1, дополнительно содержащий этап, на котором формируют изображение подземной области из сейсмических данных.
8. Способ по п. 1, дополнительно содержащий этап, на котором сопоставляют хронологию данных коллектора с моделированием коллектора.
9. Способ сравнения собранных данных с данными моделирования, содержащий этапы, на которых:
распространяют в обратном направлении собранные данные по решетке;
выполняют компьютерное моделирование для формирования данных, распространяющихся в прямом направлении, по решетке, причем:
множество буферов корреляции сохраняется во время компьютерного моделирования; и
моделирование не может быть повторно начато от какого-либо из множества буферов корреляции; и
выполняют корреляцию данных, сохраненных в буферах корреляции, с данными, распространяющимися в обратном направлении, в каждой точке решетки,
причем временные шаги в компьютерном моделировании, на которых сохраняют буфера корреляции, выбирают по меньшей мере частично посредством определения баланса между сохранением буфера полного состояния, с которого компьютерное моделирование может быть повторно начато, и сохранением буфера корреляции и сокращением требований к объему памяти компьютера.
10. Способ по п. 9, содержащий этап, на котором сохраняют контрольную точку с полным состоянием во время моделирования, причем моделирование может быть повторно начато от контрольной точки с полным состоянием.
11. Способ по п. 9, дополнительно содержащий этапы, на которых:
вычисляют затраты для сохранения контрольной точки с полным состоянием; и
определяют временной шаг для сохранения контрольной точки с полным состоянием по меньшей мере частично на основе затрат.
12. Способ по п. 1, в котором данные, распространяющиеся в прямом направлении, коррелируются с данными, распространяющимися в обратном направлении, на следующем временном шаге.
13. Способ по п. 1, дополнительно содержащий этапы, на которых:
сохраняют множество контрольных точек корреляции в быстрой памяти; и
сохраняют по меньшей мере одну контрольную точку корреляции в медленной памяти.
14. Способ по п. 13, дополнительно содержащий этап, на котором сохраняют по меньшей мере одну контрольную точку с полным состоянием, причем моделирование может быть повторно начато от контрольной точки с полным состоянием.
15. Способ по п. 14, дополнительно содержащий этап, на котором сохраняют по меньшей мере одну контрольную точку с полным состоянием в быстрой памяти.
16. Способ по п. 1, в котором распространение моделируемых импульсов возбуждения в прямом направлении во времени выполняется с использованием полного двухстороннего волнового уравнения.
17. Способ по п. 1, в котором распространение моделируемых импульсов возбуждения в прямом направлении во времени выполняется с использованием методики миграции Кирхгоффа, миграции луча или миграции с односторонним волновым уравнением.
18. Способ по п. 1, в котором контрольная точка корреляции состоит из меньшего количества данных, чем необходимо для возобновления компьютерного моделирования, ввиду по меньшей мере одного из того, что:
а) вычисления для компьютерного моделирования выполняют с более высокой степенью точности, чем вычисления для корреляции;
б) вычисления для компьютерного моделирования требуют информации о граничном условии, не являющейся необходимой для корреляции;
в) не все компоненты данных, которые моделируют, подвергают корреляции;
г) компьютерное моделирование использует менее плотную вычислительную сетку, чем вычисления для корреляции.
19. Система для корреляции данных моделирования с собранными данными, содержащая:
процессор;
систему хранения, содержащую структуры данных, представляющие:
данные измерений;
алгоритм распространения, выполненный с возможностью распространять данные измерений в обратном направлении во времени по решетке;
компьютерную модель, выполненную с возможностью формировать данные моделирования, распространяющиеся в прямом направлении во времени по решетке; и
память, причем память содержит код, чтобы заставить процессор:
распространять данные измерений в обратном направлении во времени по решетке;
заполнять решетку данными моделирования, распространяющимися в прямом направлении во времени, из компьютерной модели;
сохранять контрольную точку корреляции на выбранном временном шаге во время компьютерного моделирования, причем точка корреляции содержит информацию, достаточную для выполнения корреляции, но недостаточную для возобновления моделирования, причем выбор временного шага для сохранения контрольной точки корреляции предусматривает определение баланса между сохранением контрольной точки полного состояния, с которой компьютерное моделирование может быть повторно начато, и сохранением контрольной точки корреляции и сокращением требований к объему памяти компьютера;
выполнять корреляцию данных, распространяющихся в обратном направлении, с данными моделирования, сохраненными в контрольной точке корреляции.
20. Система по п. 19, в которой процессор содержит одно ядро, много ядер, графический процессор или любую их комбинацию.
21. Система по п. 19, в которой контрольная точка корреляции сохранена в памяти.
22. Система по п. 19, в которой память содержит оперативное запоминающее устройство (RAM), виртуальный диск в оперативной памяти (RAM-диск), память графического процессора или любую их комбинацию.
23. Система по п. 19, в которой память содержит код для сохранения контрольной точки с полным состоянием на временном шаге, причем компьютерное моделирование может быть повторно начато от контрольной точки с полным состоянием.
24. Реализованный на компьютере способ решения задачи построения изображений или инвертирования сейсмических данных, в котором к сейсмической модели с прямым продвижением во времени должен быть получен доступ в обратном временном направлении для корреляции с сопряженным вычислением с обратным продвижением во времени, содержащий этапы, на которых:
определяют и реализуют стратегию создания контрольных точек, которая уменьшает время вычисления для установленного объема доступной компьютерной памяти М, включающей в себя хранение данных, посредством выбора комбинации из nc буферов памяти с размером С, подходящим для хранения данных из прямого моделирования, необходимых для выполнения корреляции в отмеченном контрольной точкой временном шаге, без сохранения всех данных, необходимых для повторного начала моделирования с временного шага, и ns буферов памяти с размером S, подходящим для хранения всех данных, необходимых для повторного начала прямого моделирования с отмеченного контрольной точкой временного шага, причем ncC+nsS≤M, nc≥1 и ns≥0;
выполняют построение изображений или инвертирование на компьютере с использованием сохраненных данных из выбранных буферов памяти.
25. Способ по п. 24, в котором стратегия создания контрольных точек основана по меньшей мере частично на разных скоростях доступа ресурсов памяти.
26. Способ по п. 24, в котором стратегия создания контрольных точек включает в себя оптимизацию того, какие временные шаги выбираются в качестве контрольных точек для повторного начала, для предварительно выбранного общего количества временных шагов в прямом моделировании.
27. Способ по п. 26, в котором оптимизация того, какие временные шаги выбираются в качестве контрольных точек для повторного начала, основана на минимизации функции вычислительных затрат.
28. Способ по п. 24, в котором С зависит от того, какой тип корреляции используется при построении изображений или инвертировании.
RU2012154894/08A 2010-05-19 2011-03-14 Способ и система для создания контрольных точек во время моделирования RU2573269C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US34629810P 2010-05-19 2010-05-19
US61/346,298 2010-05-19
PCT/US2011/028350 WO2011146161A1 (en) 2010-05-19 2011-03-14 Method and system for checkpointing during simulations

Publications (2)

Publication Number Publication Date
RU2012154894A RU2012154894A (ru) 2014-06-27
RU2573269C2 true RU2573269C2 (ru) 2016-01-20

Family

ID=44973196

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2012154894/08A RU2573269C2 (ru) 2010-05-19 2011-03-14 Способ и система для создания контрольных точек во время моделирования

Country Status (11)

Country Link
US (1) US8756042B2 (ru)
EP (1) EP2572292A4 (ru)
KR (1) KR101931935B1 (ru)
CN (1) CN102906728B (ru)
AU (1) AU2011256799B2 (ru)
BR (1) BR112012025845A2 (ru)
CA (1) CA2796631C (ru)
MY (1) MY175034A (ru)
RU (1) RU2573269C2 (ru)
SG (1) SG184808A1 (ru)
WO (1) WO2011146161A1 (ru)

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2341065B1 (es) * 2007-10-25 2011-06-13 Airbus España, S.L. Metodos y sistemas para mejorar mallas usadas en dinamica de fluidos computacional.
CA2771865C (en) * 2009-10-23 2016-04-05 Exxonmobil Upstream Research Company Method for optimization with gradient information
US8694299B2 (en) 2010-05-07 2014-04-08 Exxonmobil Upstream Research Company Artifact reduction in iterative inversion of geophysical data
US8965059B2 (en) * 2010-06-02 2015-02-24 Exxonmobil Upstream Research Company Efficient computation of wave equation migration angle gathers
US9366776B2 (en) * 2010-11-30 2016-06-14 Schlumberger Technology Corporation Integrated formation modeling systems and methods
US9046626B2 (en) * 2011-01-10 2015-06-02 Westerngeco L.L.C. Performing reverse time imaging of multicomponent acoustic and seismic data
US9291733B2 (en) * 2011-01-31 2016-03-22 Cggveritas Services Sa Device and method for determining S-wave attenuation in near-surface condition
AU2012233133B2 (en) 2011-03-30 2014-11-20 Exxonmobil Upstream Research Company Convergence rate of full wavefield inversion using spectral shaping
WO2012160431A2 (en) * 2011-05-24 2012-11-29 Geco Technology B.V. Imaging by extrapolation of vector-acoustic data
US9176930B2 (en) * 2011-11-29 2015-11-03 Exxonmobil Upstream Research Company Methods for approximating hessian times vector operation in full wavefield inversion
AU2013230789B2 (en) 2012-03-08 2016-02-11 Exxonmobil Upstream Research Company Orthogonal source and receiver encoding
US20130311149A1 (en) * 2012-05-17 2013-11-21 Yaxun Tang Tomographically Enhanced Full Wavefield Inversion
US9665604B2 (en) * 2012-07-31 2017-05-30 Schlumberger Technology Corporation Modeling and manipulation of seismic reference datum (SRD) in a collaborative petro-technical application environment
US9429912B2 (en) * 2012-08-17 2016-08-30 Microsoft Technology Licensing, Llc Mixed reality holographic object development
CN102866423B (zh) * 2012-09-13 2015-07-22 浪潮(北京)电子信息产业有限公司 地震叠前时间偏移的处理方法和系统
WO2014051903A1 (en) * 2012-09-28 2014-04-03 Exxonmobil Upstream Research Company Fault removal in geological models
US9857488B2 (en) 2012-11-20 2018-01-02 International Business Machines Corporation Efficient wavefield compression in seismic imaging
WO2014084945A1 (en) 2012-11-28 2014-06-05 Exxonmobil Upstream Resarch Company Reflection seismic data q tomography
US10591638B2 (en) * 2013-03-06 2020-03-17 Exxonmobil Upstream Research Company Inversion of geophysical data on computer system having parallel processors
US9262560B2 (en) * 2013-03-13 2016-02-16 Saudi Arabian Oil Company Automatic recovery of reservoir simulation runs from processing system failures
CA2886798C (en) * 2013-03-15 2022-08-30 Chevron U.S.A. Inc. Beam inversion by monte carlo back projection
US10088588B2 (en) * 2013-04-03 2018-10-02 Cgg Services Sas Device and method for stable least-squares reverse time migration
CN105308479B (zh) 2013-05-24 2017-09-26 埃克森美孚上游研究公司 通过与偏移距相关的弹性fwi的多参数反演
US10459117B2 (en) 2013-06-03 2019-10-29 Exxonmobil Upstream Research Company Extended subspace method for cross-talk mitigation in multi-parameter inversion
US9702998B2 (en) 2013-07-08 2017-07-11 Exxonmobil Upstream Research Company Full-wavefield inversion of primaries and multiples in marine environment
CN104376026B (zh) * 2013-08-18 2018-04-13 复旦大学 基于网格和多维树混合结构的表格查找方法
EP3351972A1 (en) 2013-08-23 2018-07-25 Exxonmobil Upstream Research Company Iterative inversion of field-encoded seismic data based on constructing pseudo super-source records
US10036818B2 (en) 2013-09-06 2018-07-31 Exxonmobil Upstream Research Company Accelerating full wavefield inversion with nonstationary point-spread functions
US9910189B2 (en) 2014-04-09 2018-03-06 Exxonmobil Upstream Research Company Method for fast line search in frequency domain FWI
US10267937B2 (en) 2014-04-17 2019-04-23 Saudi Arabian Oil Company Generating subterranean imaging data based on vertical seismic profile data and ocean bottom sensor data
US9562983B2 (en) * 2014-04-17 2017-02-07 Saudi Arabian Oil Company Generating subterranean imaging data based on vertical seismic profile data
CA2947847C (en) 2014-05-09 2018-08-14 Exxonmobil Upstream Research Company Efficient line search methods for multi-parameter full wavefield inversion
US10185046B2 (en) 2014-06-09 2019-01-22 Exxonmobil Upstream Research Company Method for temporal dispersion correction for seismic simulation, RTM and FWI
US9689999B2 (en) * 2014-06-13 2017-06-27 Pgs Geophysical As Seismic imaging using higher-order reflections
CA2947410A1 (en) 2014-06-17 2015-12-30 Exxonmobil Upstream Research Company Fast viscoacoustic and viscoelastic full-wavefield inversion
US10838092B2 (en) 2014-07-24 2020-11-17 Exxonmobil Upstream Research Company Estimating multiple subsurface parameters by cascaded inversion of wavefield components
US10422899B2 (en) * 2014-07-30 2019-09-24 Exxonmobil Upstream Research Company Harmonic encoding for FWI
US9551210B2 (en) * 2014-08-15 2017-01-24 Carbo Ceramics Inc. Systems and methods for removal of electromagnetic dispersion and attenuation for imaging of proppant in an induced fracture
WO2016054008A1 (en) * 2014-10-02 2016-04-07 Conocophillips Company Pulsed marine source
US10386511B2 (en) 2014-10-03 2019-08-20 Exxonmobil Upstream Research Company Seismic survey design using full wavefield inversion
WO2016064462A1 (en) 2014-10-20 2016-04-28 Exxonmobil Upstream Research Company Velocity tomography using property scans
AU2015339884B2 (en) * 2014-10-31 2018-03-15 Exxonmobil Upstream Research Company Handling domain discontinuity in a subsurface grid model with the help of grid optimization techniques
EP3234659A1 (en) 2014-12-18 2017-10-25 Exxonmobil Upstream Research Company Scalable scheduling of parallel iterative seismic jobs
US10520618B2 (en) * 2015-02-04 2019-12-31 ExxohnMobil Upstream Research Company Poynting vector minimal reflection boundary conditions
SG11201704620WA (en) 2015-02-13 2017-09-28 Exxonmobil Upstream Res Co Efficient and stable absorbing boundary condition in finite-difference calculations
US10670750B2 (en) 2015-02-17 2020-06-02 Exxonmobil Upstream Research Company Multistage full wavefield inversion process that generates a multiple free data set
US10317551B2 (en) * 2015-06-01 2019-06-11 Pgs Geophysical As Using seabed sensors and sea-surface reflections for structural imaging of a subsurface location in a geological formation
WO2016195774A1 (en) 2015-06-04 2016-12-08 Exxonmobil Upstream Research Company Method for generating multiple free seismic images
US10838093B2 (en) 2015-07-02 2020-11-17 Exxonmobil Upstream Research Company Krylov-space-based quasi-newton preconditioner for full-wavefield inversion
RU2693495C1 (ru) 2015-10-02 2019-07-03 Эксонмобил Апстрим Рисерч Компани Полная инверсия волнового поля с компенсацией показателя качества
KR102021276B1 (ko) 2015-10-15 2019-09-16 엑손모빌 업스트림 리서치 캄파니 진폭 보존을 갖는 fwi 모델 도메인 각도 스택들
CN105354385B (zh) * 2015-11-13 2019-10-01 电子科技大学 一种半导体工艺仿真中的网格排序实现方法
EP3394642B1 (en) * 2015-12-22 2022-02-16 Shell Internationale Research Maatschappij B.V. Method and system for generating a seismic gather
JP2019519131A (ja) * 2016-04-29 2019-07-04 テレフオンアクチーボラゲット エルエム エリクソン(パブル) ポーラ符号を用いた符号化及び復号
US10768324B2 (en) 2016-05-19 2020-09-08 Exxonmobil Upstream Research Company Method to predict pore pressure and seal integrity using full wavefield inversion
US11269113B2 (en) * 2016-07-22 2022-03-08 Schlumberger Technology Corporation Modeling of oil and gas fields for appraisal and early development
WO2018053051A1 (en) * 2016-09-13 2018-03-22 Purdue Research Foundation System and method for divide-and conquer checkpointing
US10345466B2 (en) * 2017-07-25 2019-07-09 Advanced Geophysical Technology Inc. Memory efficient Q-RTM computer method and apparatus for imaging seismic data
GB2590330B (en) * 2018-10-11 2023-01-04 Landmark Graphics Corp Calibrating time-lapse seismic images for production operations
US11644593B2 (en) 2018-10-11 2023-05-09 Landmark Graphics Corporation Calibrating time-lapse seismic images for production operations
WO2020081156A1 (en) * 2018-10-16 2020-04-23 Halliburton Energy Services, Inc. Method to improve das channel location accuracy using global inversion
US11080141B2 (en) 2019-01-22 2021-08-03 International Business Machines Corporation Automatic restarting and reconfiguration of physics-based models in event of model failure
US11360224B2 (en) 2019-05-03 2022-06-14 Exxonmobil Upstream Research Company Inversion, migration, and imaging related to isotropic wave-mode- independent attenuation
US11500116B2 (en) * 2019-05-15 2022-11-15 Saudi Arabian Oil Company Identifying characteristics of a subterranean region using vector-based wavefield separation of seismic data from the subterranean region
US11169290B1 (en) * 2019-06-18 2021-11-09 Euram Geo-Focus Technologies Corporation Methods for identifying subterranean tunnels using digital imaging
US11346967B2 (en) * 2019-09-10 2022-05-31 Advanced Geophysical Technology Inc. Systems and methods for providing amplitude versus offset compliant migration gathers
US20220236439A1 (en) * 2021-01-23 2022-07-28 Manzar Fawad Rock physics model for shale volume estimation in subsurface reservoirs
KR102424206B1 (ko) * 2021-03-23 2022-07-22 국방과학연구소 시뮬레이션 모델기반 국방체계 설계를 위한 역방향 시뮬레이션 엔진 서버 및 그 역방향 시뮬레이션 방법
US20220413176A1 (en) * 2021-06-28 2022-12-29 Halliburton Energy Services, Inc. Annulus Velocity Independent Time Domain Structure Imaging In Cased Holes Using Multi-Offset Secondary Flexural Wave Data
US11867857B2 (en) * 2021-07-13 2024-01-09 Saudi Arabian Oil Company Method and system for updating a seismic velocity model
CN113706603B (zh) * 2021-10-28 2022-02-22 中国科学院地质与地球物理研究所 页岩有机质孔隙连通性分类表征的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5504678A (en) * 1994-06-03 1996-04-02 Exxon Production Research Company Method for seismic data processing using depth slice decomposition
RU2306607C2 (ru) * 2001-12-10 2007-09-20 Эрт Дисижн Сайенсис Способ, устройство и программный продукт для трехмерного моделирования геологического объема при помощи выбора трехмерных параметров геологической области

Family Cites Families (136)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3812457A (en) 1969-11-17 1974-05-21 Shell Oil Co Seismic exploration method
US3864667A (en) 1970-09-11 1975-02-04 Continental Oil Co Apparatus for surface wave parameter determination
US3984805A (en) 1973-10-18 1976-10-05 Daniel Silverman Parallel operation of seismic vibrators without phase control
US4168485A (en) 1974-08-12 1979-09-18 Continental Oil Company Simultaneous use of pseudo-random control signals in vibrational exploration methods
US4545039A (en) 1982-09-09 1985-10-01 Western Geophysical Co. Of America Methods for seismic exploration
US4675851A (en) 1982-09-09 1987-06-23 Western Geophysical Co. Method for seismic exploration
US4575830A (en) 1982-10-15 1986-03-11 Schlumberger Technology Corporation Indirect shearwave determination
US4562540A (en) 1982-11-12 1985-12-31 Schlumberger Technology Corporation Diffraction tomography system and methods
US4594662A (en) 1982-11-12 1986-06-10 Schlumberger Technology Corporation Diffraction tomography systems and methods with fixed detector arrays
JPS606032A (ja) 1983-06-22 1985-01-12 Honda Motor Co Ltd 内燃エンジンの作動状態制御方法
US4924390A (en) 1985-03-04 1990-05-08 Conoco, Inc. Method for determination of earth stratum elastic parameters using seismic energy
US4715020A (en) 1986-10-29 1987-12-22 Western Atlas International, Inc. Simultaneous performance of multiple seismic vibratory surveys
FR2589587B1 (fr) 1985-10-30 1988-02-05 Inst Francais Du Petrole Procede de prospection sismique marine utilisant un signal vibratoire code et dispositif pour sa mise en oeuvre
US4707812A (en) 1985-12-09 1987-11-17 Atlantic Richfield Company Method of suppressing vibration seismic signal correlation noise
US4823326A (en) 1986-07-21 1989-04-18 The Standard Oil Company Seismic data acquisition technique having superposed signals
US4686654A (en) 1986-07-31 1987-08-11 Western Geophysical Company Of America Method for generating orthogonal sweep signals
US4766574A (en) 1987-03-31 1988-08-23 Amoco Corporation Method for depth imaging multicomponent seismic data
US4953657A (en) 1987-11-30 1990-09-04 Halliburton Geophysical Services, Inc. Time delay source coding
US4969129A (en) 1989-09-20 1990-11-06 Texaco Inc. Coding seismic sources
US4982374A (en) 1989-10-23 1991-01-01 Halliburton Geophysical Services, Inc. Method of source coding and harmonic cancellation for vibrational geophysical survey sources
GB9011836D0 (en) 1990-05-25 1990-07-18 Mason Iain M Seismic surveying
US5469062A (en) 1994-03-11 1995-11-21 Baker Hughes, Inc. Multiple depths and frequencies for simultaneous inversion of electromagnetic borehole measurements
GB2322704B (en) 1994-07-07 1998-12-09 Geco As Method of Processing seismic data
US5583825A (en) 1994-09-02 1996-12-10 Exxon Production Research Company Method for deriving reservoir lithology and fluid content from pre-stack inversion of seismic data
US5924049A (en) 1995-04-18 1999-07-13 Western Atlas International, Inc. Methods for acquiring and processing seismic data
AU697195B2 (en) 1995-04-18 1998-10-01 Schlumberger Seismic Holdings Limited Uniform subsurface coverage at steep dips
US5721710A (en) 1995-09-29 1998-02-24 Atlantic Richfield Company High fidelity vibratory source seismic method with source separation
US5719821A (en) 1995-09-29 1998-02-17 Atlantic Richfield Company Method and apparatus for source separation of seismic vibratory signals
US5715213A (en) 1995-11-13 1998-02-03 Mobil Oil Corporation High fidelity vibratory source seismic method using a plurality of vibrator sources
US5790473A (en) 1995-11-13 1998-08-04 Mobil Oil Corporation High fidelity vibratory source seismic method for use in vertical seismic profile data gathering with a plurality of vibratory seismic energy sources
US5822269A (en) 1995-11-13 1998-10-13 Mobil Oil Corporation Method for separation of a plurality of vibratory seismic energy source signals
US5838634A (en) 1996-04-04 1998-11-17 Exxon Production Research Company Method of generating 3-D geologic models incorporating geologic and geophysical constraints
US5798982A (en) 1996-04-29 1998-08-25 The Trustees Of Columbia University In The City Of New York Method for inverting reflection trace data from 3-D and 4-D seismic surveys and identifying subsurface fluid and pathways in and among hydrocarbon reservoirs based on impedance models
GB9612471D0 (en) 1996-06-14 1996-08-14 Geco As Method and apparatus for multiple seismic vibratory surveys
US5878372A (en) 1997-03-04 1999-03-02 Western Atlas International, Inc. Method for simultaneous inversion processing of well log data using a plurality of earth models
US5999489A (en) 1997-03-21 1999-12-07 Tomoseis Inc. High vertical resolution crosswell seismic imaging
US6014342A (en) 1997-03-21 2000-01-11 Tomo Seis, Inc. Method of evaluating a subsurface region using gather sensitive data discrimination
US5920838A (en) 1997-06-02 1999-07-06 Carnegie Mellon University Reading and pronunciation tutor
FR2765692B1 (fr) 1997-07-04 1999-09-10 Inst Francais Du Petrole Methode pour modeliser en 3d l'impedance d'un milieu heterogene
GB2329043B (en) 1997-09-05 2000-04-26 Geco As Method of determining the response caused by model alterations in seismic simulations
US5999488A (en) 1998-04-27 1999-12-07 Phillips Petroleum Company Method and apparatus for migration by finite differences
US6219621B1 (en) 1998-06-30 2001-04-17 Exxonmobil Upstream Research Co. Sparse hyperbolic inversion of seismic data
US6388947B1 (en) 1998-09-14 2002-05-14 Tomoseis, Inc. Multi-crosswell profile 3D imaging and method
US6574564B2 (en) 1998-10-01 2003-06-03 Institut Francais Du Petrole 3D prestack seismic data migration method
FR2784195B1 (fr) 1998-10-01 2000-11-17 Inst Francais Du Petrole Methode pour realiser en 3d avant sommation, une migration de donnees sismiques
US6225803B1 (en) 1998-10-29 2001-05-01 Baker Hughes Incorporated NMR log processing using wavelet filter and iterative inversion
US6021094A (en) 1998-12-03 2000-02-01 Sandia Corporation Method of migrating seismic records
US6754588B2 (en) 1999-01-29 2004-06-22 Platte River Associates, Inc. Method of predicting three-dimensional stratigraphy using inverse optimization techniques
WO2000048022A1 (en) 1999-02-12 2000-08-17 Schlumberger Limited Uncertainty constrained subsurface modeling
US6058073A (en) 1999-03-30 2000-05-02 Atlantic Richfield Company Elastic impedance estimation for inversion of far offset seismic sections
FR2792419B1 (fr) 1999-04-16 2001-09-07 Inst Francais Du Petrole Methode pour obtenir un modele optimal d'une caracteristique physique dans un milieu heterogene, tel que le sous-sol
GB9927395D0 (en) 1999-05-19 2000-01-19 Schlumberger Holdings Improved seismic data acquisition method
US6327537B1 (en) 1999-07-19 2001-12-04 Luc T. Ikelle Multi-shooting approach to seismic modeling and acquisition
FR2798197B1 (fr) 1999-09-02 2001-10-05 Inst Francais Du Petrole Methode pour former un modele d'une formation geologique, contraint par des donnees dynamiques et statiques
EP2296013B1 (en) 1999-10-22 2016-03-30 CGG Services (NL) B.V. Method of estimating elastic and compositional parameters from seismic and echo-acoustic data
FR2800473B1 (fr) 1999-10-29 2001-11-30 Inst Francais Du Petrole Methode pour modeliser en 2d ou 3d un milieu heterogene tel que le sous-sol decrit par plusieurs parametres physiques
US6480790B1 (en) 1999-10-29 2002-11-12 Exxonmobil Upstream Research Company Process for constructing three-dimensional geologic models having adjustable geologic interfaces
CN1188711C (zh) 2000-01-21 2005-02-09 施鲁博格控股有限公司 用于地震波场分离的系统和方法
CN1188710C (zh) 2000-01-21 2005-02-09 施鲁博格控股有限公司 估算地震介质特性的系统和方法
US6826486B1 (en) 2000-02-11 2004-11-30 Schlumberger Technology Corporation Methods and apparatus for predicting pore and fracture pressures of a subsurface formation
FR2805051B1 (fr) 2000-02-14 2002-12-06 Geophysique Cie Gle Methode de surveillance sismique d'une zone souterraine par utilisation simultanee de plusieurs sources vibrosismiques
GB2359363B (en) 2000-02-15 2002-04-03 Geco Prakla Processing simultaneous vibratory seismic data
US6687659B1 (en) 2000-03-24 2004-02-03 Conocophillips Company Method and apparatus for absorbing boundary conditions in numerical finite-difference acoustic applications
US6317695B1 (en) 2000-03-30 2001-11-13 Nutec Sciences, Inc. Seismic data processing method
US6687619B2 (en) 2000-10-17 2004-02-03 Westerngeco, L.L.C. Method of using cascaded sweeps for source coding and harmonic cancellation
AU2002239619A1 (en) 2000-12-08 2002-06-18 Peter J. Ortoleva Methods for modeling multi-dimensional domains using information theory to resolve gaps in data and in theories
FR2818753B1 (fr) 2000-12-21 2003-03-21 Inst Francais Du Petrole Methode et dispositif de prospection sismique par emission simultanee de signaux sismisques obtenus en codant un signal par des sequences pseudo aleatoires
FR2821677B1 (fr) 2001-03-05 2004-04-30 Geophysique Cie Gle Perfectionnements aux procedes d'inversion tomographique d'evenements pointes sur les donnees sismiques migrees
US6751558B2 (en) 2001-03-13 2004-06-15 Conoco Inc. Method and process for prediction of subsurface fluid and rock pressures in the earth
US6927698B2 (en) 2001-08-27 2005-08-09 Larry G. Stolarczyk Shuttle-in receiver for radio-imaging underground geologic structures
US6545944B2 (en) 2001-05-30 2003-04-08 Westerngeco L.L.C. Method for acquiring and processing of data from two or more simultaneously fired sources
US6882958B2 (en) 2001-06-28 2005-04-19 National Instruments Corporation System and method for curve fitting using randomized techniques
GB2379013B (en) 2001-08-07 2005-04-20 Abb Offshore Systems Ltd Microseismic signal processing
US6593746B2 (en) 2001-08-27 2003-07-15 Larry G. Stolarczyk Method and system for radio-imaging underground geologic structures
US7672824B2 (en) 2001-12-10 2010-03-02 Westerngeco L.L.C. Method for shallow water flow detection
US7069149B2 (en) 2001-12-14 2006-06-27 Chevron U.S.A. Inc. Process for interpreting faults from a fault-enhanced 3-dimensional seismic attribute volume
US7330799B2 (en) 2001-12-21 2008-02-12 Société de commercialisation des produits de la recherche appliquée-Socpra Sciences et Génie s.e.c. Method and algorithm for using surface waves
US6842701B2 (en) 2002-02-25 2005-01-11 Westerngeco L.L.C. Method of noise removal for cascaded sweep data
GB2387226C (en) 2002-04-06 2008-05-12 Westerngeco Ltd A method of seismic surveying
FR2839368B1 (fr) 2002-05-06 2004-10-01 Total Fina Elf S A Methode de decimation de traces sismiques pilotee par le trajet sismique
US6832159B2 (en) 2002-07-11 2004-12-14 Schlumberger Technology Corporation Intelligent diagnosis of environmental influence on well logs with model-based inversion
FR2843202B1 (fr) 2002-08-05 2004-09-10 Inst Francais Du Petrole Methode pour former un modele representatif de la distribution d'une grandeur physique dans une zone souterraine, affranchi de l'effet de bruits correles entachant des donnees d'exploration
WO2004034088A2 (en) 2002-10-04 2004-04-22 Paradigm Geophysical Corporation Method and system for limited frequency seismic imaging
GB2396448B (en) 2002-12-21 2005-03-02 Schlumberger Holdings System and method for representing and processing and modeling subterranean surfaces
US6735527B1 (en) 2003-02-26 2004-05-11 Landmark Graphics Corporation 3-D prestack/poststack multiple prediction
US6999880B2 (en) 2003-03-18 2006-02-14 The Regents Of The University Of California Source-independent full waveform inversion of seismic data
WO2004095072A2 (en) 2003-03-27 2004-11-04 Exxonmobil Upstream Research Company Method to convert seismic traces into petrophysical property logs
US7072767B2 (en) 2003-04-01 2006-07-04 Conocophillips Company Simultaneous inversion for source wavelet and AVO parameters from prestack seismic data
WO2004095073A2 (en) 2003-04-01 2004-11-04 Exxonmobil Upstream Research Company Shaped high frequency vibratory source
NO322089B1 (no) 2003-04-09 2006-08-14 Norsar V Daglig Leder Fremgangsmate for simulering av lokale prestakk dypmigrerte seismiske bilder
GB2400438B (en) 2003-04-11 2005-06-01 Westerngeco Ltd Determination of waveguide parameters
US6970397B2 (en) 2003-07-09 2005-11-29 Gas Technology Institute Determination of fluid properties of earth formations using stochastic inversion
US6882938B2 (en) 2003-07-30 2005-04-19 Pgs Americas, Inc. Method for separating seismic signals from two or more distinct sources
US6944546B2 (en) 2003-10-01 2005-09-13 Halliburton Energy Services, Inc. Method and apparatus for inversion processing of well logging data in a selected pattern space
US6901333B2 (en) 2003-10-27 2005-05-31 Fugro N.V. Method and device for the generation and application of anisotropic elastic parameters
US7046581B2 (en) 2003-12-01 2006-05-16 Shell Oil Company Well-to-well tomography
US20050128874A1 (en) 2003-12-15 2005-06-16 Chevron U.S.A. Inc. Methods for acquiring and processing seismic data from quasi-simultaneously activated translating energy sources
FR2872584B1 (fr) 2004-06-30 2006-08-11 Inst Francais Du Petrole Methode pour simuler le depot sedimentaire dans un bassin respectant les epaisseurs des sequences sedimentaires
US7646924B2 (en) 2004-08-09 2010-01-12 David Leigh Donoho Method and apparatus for compressed sensing
US7480206B2 (en) 2004-09-13 2009-01-20 Chevron U.S.A. Inc. Methods for earth modeling and seismic imaging using interactive and selective updating
GB2422433B (en) 2004-12-21 2008-03-19 Sondex Wireline Ltd Method and apparatus for determining the permeability of earth formations
US7373251B2 (en) 2004-12-22 2008-05-13 Marathon Oil Company Method for predicting quantitative values of a rock or fluid property in a reservoir using seismic data
US7230879B2 (en) 2005-02-12 2007-06-12 Chevron U.S.A. Inc. Method and apparatus for true relative amplitude correction of seismic data for normal moveout stretch effects
WO2006090374A2 (en) 2005-02-22 2006-08-31 Paradigm Geophysical Ltd. Multiple suppression in angle domain time and depth migration
US7840625B2 (en) 2005-04-07 2010-11-23 California Institute Of Technology Methods for performing fast discrete curvelet transforms of data
WO2006122146A2 (en) 2005-05-10 2006-11-16 William Marsh Rice University Method and apparatus for distributed compressed sensing
US7405997B2 (en) 2005-08-11 2008-07-29 Conocophillips Company Method of accounting for wavelet stretch in seismic data
AU2006302736A1 (en) 2005-10-18 2007-04-26 Sinvent As Geological response data imaging with stream processors
AU2006235820B2 (en) 2005-11-04 2008-10-23 Westerngeco Seismic Holdings Limited 3D pre-stack full waveform inversion
FR2895091B1 (fr) 2005-12-21 2008-02-22 Inst Francais Du Petrole Methode pour mettre a jour un modele geologique par des donnees sismiques
US7196969B1 (en) * 2006-02-09 2007-03-27 Pgs Geophysical As Three-dimensional two-way acoustic wave equation pre-stack imaging systems and methods
GB2436626B (en) 2006-03-28 2008-08-06 Westerngeco Seismic Holdings Method of evaluating the interaction between a wavefield and a solid body
US7620534B2 (en) 2006-04-28 2009-11-17 Saudi Aramco Sound enabling computerized system for real time reservoir model calibration using field surveillance data
US20070274155A1 (en) 2006-05-25 2007-11-29 Ikelle Luc T Coding and Decoding: Seismic Data Modeling, Acquisition and Processing
US7725266B2 (en) 2006-05-31 2010-05-25 Bp Corporation North America Inc. System and method for 3D frequency domain waveform inversion based on 3D time-domain forward modeling
US7599798B2 (en) 2006-09-11 2009-10-06 Westerngeco L.L.C. Migrating composite seismic response data to produce a representation of a seismic volume
EP2067112B1 (en) * 2006-09-28 2017-10-18 Exxonmobil Upstream Research Company Iterative inversion of data from simultaneous geophysical sources
EP2104869B1 (en) 2007-01-20 2012-01-25 Spectraseis AG Time reverse reservoir localization
JP2009063942A (ja) 2007-09-10 2009-03-26 Sumitomo Electric Ind Ltd 遠赤外線カメラ用レンズ、レンズユニット及び撮像装置
US20090070042A1 (en) 2007-09-11 2009-03-12 Richard Birchwood Joint inversion of borehole acoustic radial profiles for in situ stresses as well as third-order nonlinear dynamic moduli, linear dynamic elastic moduli, and static elastic moduli in an isotropically stressed reference state
US20090083006A1 (en) 2007-09-20 2009-03-26 Randall Mackie Methods and apparatus for three-dimensional inversion of electromagnetic data
US20090164186A1 (en) 2007-12-20 2009-06-25 Bhp Billiton Innovation Pty Ltd. Method for determining improved estimates of properties of a model
US8577660B2 (en) 2008-01-23 2013-11-05 Schlumberger Technology Corporation Three-dimensional mechanical earth modeling
EP2105765A1 (en) 2008-03-28 2009-09-30 Schlumberger Holdings Limited Simultaneous inversion of induction data for dielectric permittivity and electric conductivity
US8494777B2 (en) 2008-04-09 2013-07-23 Schlumberger Technology Corporation Continuous microseismic mapping for real-time 3D event detection and location
US8345510B2 (en) 2008-06-02 2013-01-01 Pgs Geophysical As Method for aquiring and processing marine seismic data to extract and constructively use the up-going and down-going wave-fields emitted by the source(s)
CA2731985C (en) 2008-08-15 2016-10-25 Bp Corporation North America Inc. Method for separating independent simultaneous sources
US20100054082A1 (en) 2008-08-29 2010-03-04 Acceleware Corp. Reverse-time depth migration with reduced memory requirements
US8127154B2 (en) 2008-10-02 2012-02-28 International Business Machines Corporation Total cost based checkpoint selection
US8296069B2 (en) 2008-10-06 2012-10-23 Bp Corporation North America Inc. Pseudo-analytical method for the solution of wave equations
US7616523B1 (en) 2008-10-22 2009-11-10 Pgs Geophysical As Method for combining pressure and motion seismic signals from streamers where sensors are not at a common depth
US9213119B2 (en) 2008-10-29 2015-12-15 Conocophillips Company Marine seismic acquisition
US20100118651A1 (en) * 2008-11-10 2010-05-13 Chevron U.S.A. Inc. Method for generation of images related to a subsurface region of interest
US20100142316A1 (en) 2008-12-07 2010-06-10 Henk Keers Using waveform inversion to determine properties of a subsurface medium
US8223587B2 (en) * 2010-03-29 2012-07-17 Exxonmobil Upstream Research Company Full wavefield inversion using time varying filters
US8437998B2 (en) * 2010-09-27 2013-05-07 Exxonmobil Upstream Research Company Hybrid method for full waveform inversion using simultaneous and sequential source method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5504678A (en) * 1994-06-03 1996-04-02 Exxon Production Research Company Method for seismic data processing using depth slice decomposition
RU2306607C2 (ru) * 2001-12-10 2007-09-20 Эрт Дисижн Сайенсис Способ, устройство и программный продукт для трехмерного моделирования геологического объема при помощи выбора трехмерных параметров геологической области

Also Published As

Publication number Publication date
AU2011256799B2 (en) 2016-02-25
CN102906728A (zh) 2013-01-30
EP2572292A1 (en) 2013-03-27
RU2012154894A (ru) 2014-06-27
KR101931935B1 (ko) 2019-03-20
BR112012025845A2 (pt) 2016-06-28
US20110288831A1 (en) 2011-11-24
AU2011256799A1 (en) 2012-11-29
WO2011146161A1 (en) 2011-11-24
CN102906728B (zh) 2017-04-26
CA2796631A1 (en) 2011-11-24
SG184808A1 (en) 2012-11-29
US8756042B2 (en) 2014-06-17
EP2572292A4 (en) 2017-11-29
MY175034A (en) 2020-06-03
KR20130105792A (ko) 2013-09-26
CA2796631C (en) 2017-03-28

Similar Documents

Publication Publication Date Title
RU2573269C2 (ru) Способ и система для создания контрольных точек во время моделирования
Zhou et al. Reverse time migration: A prospect of seismic imaging methodology
Symes Reverse time migration with optimal checkpointing
Anderson et al. Time-reversal checkpointing methods for RTM and FWI
Etgen et al. Computational methods for large-scale 3D acoustic finite-difference modeling: A tutorial
Virieux P-SV wave propagation in heterogeneous media: Velocity-stress finite-difference method
KR102020759B1 (ko) Q-보상된 전 파동장 반전
Baysal et al. Reverse time migration
Sava et al. Angle-domain common-image gathers by wavefield continuation methods
Kelly et al. Synthetic seismograms: a finite-difference approach
Komatitsch et al. An unsplit convolutional perfectly matched layer improved at grazing incidence for the seismic wave equation
Virieux SH-wave propagation in heterogeneous media: Velocity-stress finite-difference method
Alford et al. Accuracy of finite-difference modeling of the acoustic wave equation
US11815642B2 (en) Elastic full wavefield inversion with refined anisotropy and VP/VS models
Tarantola Inversion of seismic reflection data in the acoustic approximation
McMechan Migration by extrapolation of time-dependent boundary values
US20140129479A1 (en) Method to aid in the exploration, mine design, evaluation and/or extraction of metalliferous mineral and/or diamond deposits
Engquist et al. Seismic imaging and optimal transport
Wu et al. Two-dimensional finite-difference seismic modeling of an open fluid-filled fracture: Comparison of thin-layer and linear-slip models
US11947062B2 (en) Velocity tomography using time lags of wave equation migration
Lu et al. Comparison of elastic and acoustic reverse-time migration on the synthetic elastic Marmousi-II OBC dataset
Larsen et al. Next-generation numerical modeling: incorporating elasticity, anisotropy and attenuation
US20230204816A1 (en) Modeling methods for minimizing grid sensitivity for numerical simulation of fracture propagation
Alaei et al. Geological modelling and finite difference forward realization of a regional section from the Zagros fold-and-thrust belt
Chen Numerical modeling of elastic wave propagation in anisotropic inhomogeneous media: a finite-element approach

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20180315