Metatron (ядро)

gitverse.ru/SeleznyovDV/Metatron

Структура

Metatron/
├── Config.m                 # глобальные настройки (папка логов и т.п.)
├── Namespaces.m             # addpath всех папок ядра
├── INTEGRATION.md           # контракт для внешних (потребляющих) репозиториев
├── Core/
│   ├── Model/                          # объектная модель физической задачи
│   ├── Solvers/                        # численные решатели (BVP по Риккати)
│   ├── Pipelines/                      # самосогласованный цикл целиком
│   ├── PhysicalPropertiesProcedures/   # DoS, намагниченность, проводимость...
│   ├── Infrastructure/                 # Logger, Timer, SaverCalculation
│   └── Scripting/                      # публичный API - декларативная конфигурация
└── Tests/
    └── TestScriptingLayer.m            # регрессионный тест скриптового слоя

Подробное описание того, что в Core/Model и Core/Scripting — в Объектная модель ядра.

Публичная граница API

Работать с ядром извне (в частности, из Metatron-Research) нужно только через Core/Scripting/*. Он и есть публичный, поддерживаемый API — см. Скриптовый слой (Core/Scripting) и главу Как писать скрипты расчёта.

Core/Model, Core/Pipelines, Core/Solvers — внутренняя реализация: может меняться без сохранения обратной совместимости между коммитами. Если вы обнаружили, что для задачи не хватает какой-то возможности скриптового слоя — это повод расширить Core/Scripting (см. Варианты расширения), а не обращаться к внутренним классам напрямую.

Установка отдельно (для разработки самого ядра)

git clone https://gitverse.ru/SeleznyovDV/Metatron
cd Metatron
git checkout refactoring_2/self_order_loop

В MATLAB:

cd('путь/до/Metatron')
Namespaces

Дальше доступны все классы ядра, включая Как писать скрипты расчёта. Отдельно устанавливать ядро таким образом стоит, только если вы меняете сам движок. Для обычных расчётов — см. Metatron-Research, ядро подключается автоматически через submodule.