Заполнение неопределенных ячеек в гриде "осредненными" значениями из соседок?

Последнее сообщение
volvlad 2196 17
Фев 17

Итак, у нас тут с коллегами возник вопрос по Петрелу...

Имеется свойство, из прошлой версии модели, которое максимально нужно сохранить в том виде в каком оно есть в новой версии модели. Но в новой версии несколько изменились расположения разломов и некоторые толщины, в итоге при переносе свойства, некоторые ячейки становятся неопределенными. Таких ячеек не очень много, но все же хочется чтобы их не было вовсе.
При этом задать некие осредненные значения по значениям окружающих ячеек только в этих ячейках не меняя окружающие.

Как на картинке ниже:

Предлагайте идеи...

svetlanochkai 66 12
Фев 17 #1

Мне кажется тут есть несколько вариантов: 1. Если рядом нет скважинных данных можно задать среднее значение (быстро и просто)  или 2. Как более качественный вариант перераспределить свойства с использованием исходных кубов в качестве трендов, затем условием заменить undefined ячейки в нужных местах. Лично я пользовалась вторым методом, получалось довольно хорошо и если не знать где были замены то и не найти

VVS 183 16
Фев 17 #2

Просто экстраполировать куб через вкладку "операции"

Antalik 1673 17
Фев 17 #3

Разве нельзя просто свойства распределить? Как исходные параметры текущий куб - алгоритм распределит только в ячейках без значений. Можно самый простой алгоритм выбрать - nearest value или что-то подобное.

volvlad 2196 17
Фев 17 #4

VVS пишет:
Просто экстраполировать куб через вкладку "операции"

Да это работает, но только для непрерывный свойств.

 

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

Можно конечно, сделать непрерывную копию и выполнить экстраполяцию там, но мне нужен most-of.

Unknown 1640 17
Фев 17 #5

Кисточкой крась :)

Celebrity 1578 16
Фев 17 #6

насколько помню, есть плагин для локального обновления дискретных и непрерывных свойств.

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

 

FullChaos 834 16
Фев 17 #7

Lith=If( Lith=U,Lith[i-1,j,k] ,Lith )

прогнать неколько раз в цикле

Гоша 1201 17
Фев 17 #8

Или scale-up properties с осреднением most of. "Апскейлинг" ведь не всегда загрубление :)

 

UPD: а, у тебя же структура поменялась... тогда, похоже, только в цикле через [i,j,k]

volvlad 2196 17
Фев 17 #9

FullChaos пишет:

Lith=If( Lith=U,Lith[i-1,j,k] ,Lith )

прогнать неколько раз в цикле

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

volvlad 2196 17
Фев 17 #10

UPDATE: А ящик просто открывался, это все-таки оказался extrapolate. Он прекрасно работает для дискретных свойств из workflow.

Go to top