Для чего писалась: 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. Нет операций над массивами (создать новый и так далее). Когда достанет, напишу вторую версию
Сначала нужно было выяснить где контур. Режется же пористость, на которой не видна нефтенасыщенная часть. Переключаясь между SOIL и PORO неспешно удалялись ячейки в PORO.
Рома, объясни мне темному почему для этой операции нельзя использовать фильтр или калькулятор в РМС???
Я так понимаю что под "удалялись ячейки в PORO" имеется ввиду просто присваивание 0, тк удаление ячейки это перенос ее из автивной в неактивную...
Мне лень перечитывать, о чем я писал в то время, но я уверен, что описал всё верно. Моя задача (как мне кажется) не решалась быстро фильтрами и калькуляторами. Например, мне нужно было соединить два пятачка коллектора, разделенных неколлектором, коллектором. То есть, банально, присвоить значение конкретным двадцати-тридцати ячейкам непрямоугольной формы. Перестраивать свойства? Да ну.
Отрезание "фальшивого" коллектора (почистить модель), ну кароче когда ты не хочешь перестраивать полностью, а надо лишь шлифануть некоторые места, необходимость в которых я понял на этапе гидродинамики. По какой-то причине геологи херово понимают. Например, надо удалить в некоторых слоях коллектор произвольной формы. Чото мне начинали говорить про рисуешь полигон, блаблабла, логическая операция объедиения, в калькулятор, кароче проще было написать, чем ждать. Это простой редактор 2D массива.
Но на будущее - дорисовать коллектор не проблема и в РМС если речь идет про дискретное свойство. Как раз обрисовывая область можно сразу нескольким ячейкам присвоить определенный код (при чем при этом задать количество слоев по вертикали). В этом случам ничего перестраивтаь не нужно! Твои геологи говорили все верно, но немного муторным путем.
Насчет отрезания дело тут сложнее но тоже в полне разрешимое.
Но в любом случаи снимаю шляпу за креативный подход )))))
Я не помню какая у меня версия РМС. Кажется надо было делать так - ткнуть в ячейку, сверху появлялось значение, выделить его, заменить на ноль, нажать enter. Потом сказали что есть какая-то или кисточка или ластик, кароче мне нужен был элементарно ЛАСТИК. Бывает же так - коллектор случайно вне залежи выше ВНК поднялся и залился нефтью. Геологи наши неаккуратные, им все равно, они запасы в ПОЛИГОНЕ посчитали, а что модель грязновата и чувство прекрасного нарушается не учли. Надо было такой инструмент - модель представить как simbox (так пишется?) и быстро редактировать. Потом встала вторая задача - например мне нужно уничтожить коллектор, я работаю по PORO, понятное дело. Но контур залежи на поро не виден, поэтому надо иметь одновременно под рукой и SWAT или SOIL. Поэтому я взял числовые значения пористости и подложил под них цветом значения насыщенности. И пошел вдоль контура ВНК резать залежь (мне нужен был гидродинамический барьер метров от 5 до незнаю сколько ячеек). Далее, я подрезал барьер до нужного, увеличивая его расстояние, пока адаптация не ложилась точно. Выгружал постоянно новые значения PORO, ставил к ним номер версии и если перебарщивал откатывался назад. РМС для меня был реально затратнее по времени.
А снимать шляпу рано - я написал новую версию, которая понимает эти гребанные петрелевские "*" (RMS ещё не дожил до этого), в итоге - массивы подгружаются, но в выгрузке назад происходит какой-то косяк, который не позволяет пользоватся моей программой. Пока не понадобится опять, дописывать не стану или пока не попросят. Кароче такой есть за мной должок неприятный. А дописать я чую надо три строки.
И пошел вдоль контура ВНК резать залежь (мне нужен был гидродинамический барьер метров от 5 до незнаю сколько ячеек). Далее, я подрезал барьер до нужного, увеличивая его расстояние, пока адаптация не ложилась точно.
Обычно скриптом по глубине (FWL + Х) метров режу и всё. Можно и расстояние от ближайшей нефтенасыщенной ячейки брать. Вручную это наверное муторно.
Перед тем как скачать, хочу узнать что умеет эта прога? :-)
Для чего писалась:
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. Нет операций над массивами (создать новый и так далее).
Когда достанет, напишу вторую версию
Если вы не гидродинамите, утилита бесполезна.
Roxar не использую, руки не доходят пока, а в Петреле все в кулькуляторе можно посчитать или воркфлоу забацать
Но прогу скачаю, можт пригодится
Я не говорю откажись от Пети Это утилита, решает одну конкретную задачу. То что "все в калькуляторе можно посчитать" это вранье.
Ты второй кто это спрашивает. Конечно есть, только зачем?
Уже не зачем
Рома, объясни мне темному почему для этой операции нельзя использовать фильтр или калькулятор в РМС???
Я так понимаю что под "удалялись ячейки в PORO" имеется ввиду просто присваивание 0, тк удаление ячейки это перенос ее из автивной в неактивную...
Мне лень перечитывать, о чем я писал в то время, но я уверен, что описал всё верно. Моя задача (как мне кажется) не решалась быстро фильтрами и калькуляторами. Например, мне нужно было соединить два пятачка коллектора, разделенных неколлектором, коллектором. То есть, банально, присвоить значение конкретным двадцати-тридцати ячейкам непрямоугольной формы. Перестраивать свойства? Да ну.
Отрезание "фальшивого" коллектора (почистить модель), ну кароче когда ты не хочешь перестраивать полностью, а надо лишь шлифануть некоторые места, необходимость в которых я понял на этапе гидродинамики. По какой-то причине геологи херово понимают. Например, надо удалить в некоторых слоях коллектор произвольной формы. Чото мне начинали говорить про рисуешь полигон, блаблабла, логическая операция объедиения, в калькулятор, кароче проще было написать, чем ждать. Это простой редактор 2D массива.
я понял.
Но на будущее - дорисовать коллектор не проблема и в РМС если речь идет про дискретное свойство. Как раз обрисовывая область можно сразу нескольким ячейкам присвоить определенный код (при чем при этом задать количество слоев по вертикали). В этом случам ничего перестраивтаь не нужно! Твои геологи говорили все верно, но немного муторным путем.
Насчет отрезания дело тут сложнее но тоже в полне разрешимое.
Но в любом случаи снимаю шляпу за креативный подход )))))
Я не помню какая у меня версия РМС. Кажется надо было делать так - ткнуть в ячейку, сверху появлялось значение, выделить его, заменить на ноль, нажать enter. Потом сказали что есть какая-то или кисточка или ластик, кароче мне нужен был элементарно ЛАСТИК. Бывает же так - коллектор случайно вне залежи выше ВНК поднялся и залился нефтью. Геологи наши неаккуратные, им все равно, они запасы в ПОЛИГОНЕ посчитали, а что модель грязновата и чувство прекрасного нарушается не учли. Надо было такой инструмент - модель представить как simbox (так пишется?) и быстро редактировать. Потом встала вторая задача - например мне нужно уничтожить коллектор, я работаю по PORO, понятное дело. Но контур залежи на поро не виден, поэтому надо иметь одновременно под рукой и SWAT или SOIL. Поэтому я взял числовые значения пористости и подложил под них цветом значения насыщенности. И пошел вдоль контура ВНК резать залежь (мне нужен был гидродинамический барьер метров от 5 до незнаю сколько ячеек). Далее, я подрезал барьер до нужного, увеличивая его расстояние, пока адаптация не ложилась точно. Выгружал постоянно новые значения PORO, ставил к ним номер версии и если перебарщивал откатывался назад. РМС для меня был реально затратнее по времени.
А снимать шляпу рано - я написал новую версию, которая понимает эти гребанные петрелевские "*" (RMS ещё не дожил до этого), в итоге - массивы подгружаются, но в выгрузке назад происходит какой-то косяк, который не позволяет пользоватся моей программой. Пока не понадобится опять, дописывать не стану или пока не попросят. Кароче такой есть за мной должок неприятный. А дописать я чую надо три строки.
Обычно скриптом по глубине (FWL + Х) метров режу и всё. Можно и расстояние от ближайшей нефтенасыщенной ячейки брать. Вручную это наверное муторно.
Как шутят в одном программистском комьюнити вконтакте: Устал ждать выхода игры - написал сам
Скажите, при написании программы Вы использовали готовые (сторонние) реализации классов Grid, Property и т.д., или сами реализовали эти классы?
Сам