Metatron-Research¶
gitverse.ru/SeleznyovDV/Metatron-Research
Личные скрипты запуска расчётов, серии, визуализации и результаты — то, что
не является ядром и не должно жить в Metatron.
Установка¶
Первый раз (сразу с обоими submodule):
git clone --recurse-submodules https://gitverse.ru/SeleznyovDV/Metatron-Research
Если репозиторий уже склонирован без --recurse-submodules:
git submodule update --init --recursive
Структура¶
Metatron-Research/
├── Metatron/ # submodule ядра - не редактируется отсюда
├── Metatron-Docs/ # submodule документации
├── Namespaces.m # единая точка входа этого репозитория
├── Examples/
│ ├── GettingStarted.m # минимальный bootstrap-пример
│ ├── SingleRun/
│ │ └── BasicConfigReference.m # все настройки CalculationConfig
│ └── Series/
│ └── ParameterSeriesExample.m # серии и очереди расчётов
└── README.md
Metatron/ и Metatron-Docs/ — полноценные git-клоны (не копии).
Если внутри Metatron/ что-то изменить и закоммитить+запушить оттуда,
это изменит настоящий репозиторий Metatron, а не какую-то локальную ветку.
Обычно так и разрабатывается ядро на практике — из submodule-копии внутри
Metatron-Research, без отдельного клона Metatron «для порядка».
Bootstrap: подключение путей из скрипта¶
Каждый скрипт в Examples/ (на любой глубине вложенности, например
Examples/2026_MyPaper/script.m) начинается с поиска корневого
Namespaces.m вверх по дереву папок:
dir_ = fileparts(mfilename('fullpath'));
while ~isfile(fullfile(dir_, 'Namespaces.m'))
parent = fileparts(dir_);
if strcmp(parent, dir_)
error('Namespaces.m репозитория не найден выше %s', fileparts(mfilename('fullpath')));
end
dir_ = parent;
end
run(fullfile(dir_, 'Namespaces.m'));
Это подключает и пути ядра (через Metatron/Namespaces.m), и пути этого
репозитория, и настраивает папку логов внутрь Metatron-Research (а не
внутрь submodule). Работает независимо от того, откуда и с какой глубины
запущен скрипт — писать этот блок вручную в каждом новом скрипте не нужно,
проще скопировать готовый из Examples/GettingStarted.m.
Организация своих скриптов¶
Заведите подпапку в Examples/ под конкретную задачу или статью
(например Examples/2026_MyPaper/), чтобы не смешивать разные
исследования в одной куче файлов. SingleRun/ и Series/ — это
эталонные примеры от ядра, ваши рабочие скрипты — рядом, в своих папках.
Пошаговое руководство по написанию скриптов расчёта — Как писать скрипты расчёта.