Редактор grid-файлов

Последнее сообщение
RomanK. 2164 13
Авг 10

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

k-159 294 14
Сен 10 #1

Перед тем как скачать, хочу узнать что умеет эта прога? :-)

RomanK. 2164 13
Сен 10 #2

Для чего писалась:
1. Есть массив нефтенасыщенности и пористости. Надо было вырезать коллектор по контуру нефтеносности только с северной стороны, то есть создать барьер для продвижения воды. Оказалось что надо резать много и в разных пропорциях (полное и частичное изолирование). Чтобы показать какая это на самом деле муторная работа, расскажу как это делалось в RMS.
Сначала нужно было выяснить где контур. Режется же пористость, на которой не видна нефтенасыщенная часть. Переключаясь между SOIL и PORO неспешно удалялись ячейки в PORO. После того, как контур был обрезан уже смелее удаляются остатки в водоносной области. И так для 60 слоев. Площадь нефтяной части, чем глубже слой, тем меньше. То есть просто видом сверху или полигоном не удалить.
Кратко проблема первая: Как вырезать пористость по контуру нефтенасыщенности, когда на пористости не видно где он контур.
Решение gedit: Подгружаем SOIL, делаем его цветовой подкладкой под PORO и режем PORO.

2. А что такое удалить ячейку в RMS? Считаем количество операций: ткнуть в ячейку мышкой, выделить старое значение, нажать ноль, нажать enter. Четыре операции. Теперь попробуйте для 20000 ячеек, а если их 60000?
Проблема вторая: Неудобно редактировать значения в ячейках.
Решение gedit: Перемещаемся клавиатурой, как в Excel. Нажатием Delete устанавливается значение в ноль.

3. А что такое удалить область ячеек в RMS? Решения нет.
Решение gedit: С зажатым shift или ctrl выделяется произвольная область, далее вбиваем значение (или нажимаем delete для удаления) которое приравнивается всем ячейкам выделенной области.

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

Минусы:
1. Подсветка только в интервале [0..1]. стал редактировать массив регионов инициализации [1..8] столкнулся, надо писать.
2. Нет undo (хотя и в RMS его нет), так как удалять ячейки стало очень просто и быстро, велика опасность удалить лишнего. Пока мирюсь.
3. Нет фильтров. Пока только один - Show zero value.
4. Нет операций над массивами (создать новый и так далее).
Когда достанет, напишу вторую версию smile.gif

Если вы не гидродинамите, утилита бесполезна.

k-159 294 14
Сен 10 #3

Roxar не использую, руки не доходят пока, а в Петреле все в кулькуляторе можно посчитать или воркфлоу забацать rolleyes.gif
Но прогу скачаю, можт пригодится rolleyes.gif

RomanK. 2164 13
Сен 10 #4

k-159 пишет:

Roxar не использую, руки не доходят пока, а в Петреле все в кулькуляторе можно посчитать или воркфлоу забацать rolleyes.gif
Но прогу скачаю, можт пригодится rolleyes.gif


Я не говорю откажись от Пети smile.gif Это утилита, решает одну конкретную задачу. То что "все в калькуляторе можно посчитать" это вранье.

Temr 140 14
Окт 10 #5

RomanK. пишет:

Я не говорю откажись от Пети smile.gif Это утилита, решает одну конкретную задачу. То что "все в калькуляторе можно посчитать" это вранье.

Согласен, сам использую VBA , кстати исходники к проге есть ?

RomanK. 2164 13
Окт 10 #6

Ты второй кто это спрашивает. Конечно есть, только зачем?

Temr 140 14
Июл 12 #7

Уже не зачем

Celebrity 1678 13
Июл 12 #8

 

Цитата:
Сначала нужно было выяснить где контур. Режется же пористость, на которой не видна нефтенасыщенная часть. Переключаясь между SOIL и PORO неспешно удалялись ячейки в PORO.  

Рома, объясни мне темному почему для этой операции нельзя использовать фильтр или калькулятор в РМС???

Я так понимаю что под "удалялись ячейки в PORO" имеется ввиду просто присваивание 0, тк удаление ячейки это перенос ее из автивной в неактивную...

RomanK. 2164 13
Июл 12 #9

Мне лень перечитывать, о чем я писал в то время, но я уверен, что описал всё верно. Моя задача (как мне кажется) не решалась быстро фильтрами и калькуляторами. Например, мне нужно было соединить два пятачка коллектора, разделенных неколлектором, коллектором. То есть, банально, присвоить значение конкретным двадцати-тридцати ячейкам непрямоугольной формы. Перестраивать свойства? Да ну.

Отрезание "фальшивого" коллектора (почистить модель), ну кароче когда ты не хочешь перестраивать полностью, а надо лишь шлифануть некоторые места, необходимость в которых я понял на этапе гидродинамики. По какой-то причине геологи херово понимают. Например, надо удалить в некоторых слоях коллектор произвольной формы. Чото мне начинали говорить про рисуешь полигон, блаблабла, логическая операция объедиения, в калькулятор, кароче проще было написать, чем ждать. Это простой редактор 2D массива.

Celebrity 1678 13
Июл 12 #10

я понял.

Но на будущее - дорисовать коллектор не проблема и в РМС если речь идет про дискретное свойство. Как раз обрисовывая область можно сразу нескольким ячейкам присвоить определенный код (при чем при этом задать количество слоев по вертикали). В этом случам ничего перестраивтаь не нужно! Твои геологи говорили все верно, но немного муторным путем.

Насчет отрезания дело тут сложнее но тоже в полне разрешимое.

Но в любом случаи снимаю шляпу за креативный подход )))))

RomanK. 2164 13
Июл 12 #11

Я не помню какая у меня версия РМС. Кажется надо было делать так - ткнуть в ячейку, сверху появлялось значение, выделить его, заменить на ноль, нажать enter. Потом сказали что есть какая-то или кисточка или ластик, кароче мне нужен был элементарно ЛАСТИК. Бывает же так - коллектор случайно вне залежи выше ВНК поднялся и залился нефтью. Геологи наши неаккуратные, им все равно, они запасы в ПОЛИГОНЕ посчитали, а что модель грязновата и чувство прекрасного нарушается не учли. Надо было такой инструмент - модель представить как simbox (так пишется?) и быстро редактировать. Потом встала вторая задача - например мне нужно уничтожить коллектор, я работаю по PORO, понятное дело. Но контур залежи на поро не виден, поэтому надо иметь одновременно под рукой и SWAT или SOIL. Поэтому я взял числовые значения пористости и подложил под них цветом значения насыщенности. И пошел вдоль контура ВНК резать залежь (мне нужен был гидродинамический барьер метров от 5 до незнаю сколько ячеек). Далее, я подрезал барьер до нужного, увеличивая его расстояние, пока адаптация не ложилась точно. Выгружал постоянно новые значения PORO, ставил к ним номер версии и если перебарщивал откатывался назад. РМС для меня был реально затратнее по времени.

А снимать шляпу рано - я написал новую версию, которая понимает эти гребанные петрелевские "*" (RMS ещё не дожил до этого), в итоге - массивы подгружаются, но в выгрузке назад происходит какой-то косяк, который не позволяет пользоватся моей программой. Пока не понадобится опять, дописывать не стану или пока не попросят. Кароче такой есть за мной должок неприятный. А дописать я чую надо три строки.

EmptyEye13 102 14
Июл 12 #12

RomanK. пишет:
И пошел вдоль контура ВНК резать залежь (мне нужен был гидродинамический барьер метров от 5 до незнаю сколько ячеек). Далее, я подрезал барьер до нужного, увеличивая его расстояние, пока адаптация не ложилась точно.

Обычно скриптом по глубине (FWL + Х) метров режу и всё. Можно и расстояние от ближайшей нефтенасыщенной ячейки брать. Вручную это наверное муторно.

k-159 294 14
Июл 12 #13

Как шутят в одном программистском комьюнити вконтакте: Устал ждать выхода игры - написал сам

oilman007 38 11
Апр 13 #14

Скажите, при написании программы Вы использовали готовые (сторонние) реализации классов Grid, Property и т.д., или сами реализовали эти классы?

Go to top