Перейти к основному содержимому

Open API

Open API — интерфейс программного управления GAMMA. Он позволяет выполнить любой типовой сценарий — открыть проект, переключить режим, настроить решатель, запустить расчёт, выгрузить результаты — без единого клика мышью.

Зачем это нужно

  • Пакетные расчёты. Прогнать десятки проектов за ночь по одному сценарию.
  • Регрессионные проверки. Один и тот же расчёт после каждого обновления, с автоматическим сравнением результатов.
  • Интеграция. Встроить GAMMA в свой расчётный конвейер наравне с другими инструментами.
  • Воспроизводимость. Сценарий — текстовый файл: его можно хранить рядом с проектом, передать коллеге, положить в систему контроля версий.

Четыре способа обратиться к одному набору команд

СпособДля чегоРаздел
Окно командного процессораручной ввод, разбор сценария по шагамОкно
Файл сценария *.gcpзапуск по расписанию, пакетные прогоныСценарии
Python-модуль gammapyуправление из внешнего скриптаPython
TCP/JSONинтеграция со сторонним ПОPython

Набор команд у всех четырёх один и тот же — см. Справочник команд. Отличается только способ доставки команды в приложение и способ получить ответ.

Самый короткий пример

Открыть проект, посчитать, выгрузить S-параметры и сохранить:

Project Open "C:\Projects\Filter.gma"
Mode Set FEM
Solver Start
CalculationResult Export SNP "C:\Projects\Export"
Project Save
Project Close

Сохраните это как scenario.gcp и запустите:

Gamma.exe scenario.gcp

То же самое из Python:

import gammapy as gamma

with gamma.service.start() as app:
app.project_open(r"C:\Projects\Filter.gma")
app.mode_set("FEM")
app.solver_start()
app.calculation_result_export("SNP", r"C:\Projects\Export")
app.project_save()

С чего начать

к сведению

Open API будет расширяться: набор команд, покрытие Python-API и сценарии интеграции.