Программируемый фильтр в FidesysViewer

Этот фильтр выполняет python-скрипт для создания выходного набора данных. Фильтр сохраняет копию python-скрипта в Скрипт и создает интерпретатор python для запуска скрипта при первом выполнении. Для выполнения внешних сценариев на сервере FidesysViewer используйте: execfile('полный_путь/скрипт.py').

Получение результатов расчета

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

Или введи в командну строку команды:

reset
import step "C:/Fidesys/Bort/bort_.stp" heal
curve 9 10 15 1 11 12 14 13 17 8 2 16 7 interval 40
curve 9 10 15 1 11 12 14 13 17 8 2 16 7 scheme equal
surface 1 scheme quad_dominant 
surface 1  interval 40 
mesh surface 1 
create material 1 from 'Грунт'
block 1 add surface 1
block 1 material 1 cs 1 element plane order 2
create displacement  on curve 4 6  dof 1 fix  
create displacement  on curve 5  dof 2 fix  
create gravity global
modify gravity 1 dof 2 value -9.81
analysis type static elasticity plasticity dim2 planestrain
nonlinearopts maxiters 20 minloadsteps 4 maxloadsteps 1000 tolerance 0.01 targetiter 5

Создание программируемого фильтра

Откройте два файла с результатами. Затем в дереве объектов выделите их. Порядок выделения важен.

Далее на панели инструментов выберите Фильтры - Алфавитный указатель - Программируемый фильтр.

Во вкладке Свойства введите скрипт программируемого фильтра и нажмите Применить:

#массивы значений выбранных файлов результатов (порядок важен)
input0 = inputs[0]
input1 = inputs[1]
#посчитанное значение (массив, т.к. на входе тоже массивы)
zapas = (input0.PointData["Stress"])/(input1.PointData["Stress"])
#вывод посчитанного массив. В кавычках – название полей. Индексы будут соответствовать индексам исходных массивов
output.PointData.append(zapas, "zapas")

В результате на панели инструментов появится новый фильтр с названием zapas.