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.