/
SeleznyovDV
/
test
Обзор
Документация
Войти
/
SeleznyovDV
/
test
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
docs/source/examples.rst
119 строк
4 KB
Dmitriy Seleznyov
test
10 май 2026, 21:14
10 май 2026, 21:14
5506330
Код
Авторство
О чём код?
Примеры использования ===================== В этом разделе собраны примеры использования основных компонентов проекта Metatron. .. contents:: Содержание :local: :depth: 2 Базовый расчёт SFI Energy Based ------------------------------- .. rubric:: Настройка и запуск .. code-block:: matlab %% Инициализация расчёта SFI Energy Based Namespaces(); clear; clc; % Параметры T = 0.9; % температура (K) L = 2000; % длина (нм) fi = 0.1; % угол спинового смешивания zN = 40; % число узлов по координате eN = 750; % число узлов по энергии % Создание объекта материала Al = AluminumPhysicalConstants(); % Создание слоя сверхпроводника S_layer = SuperconductorLayer(Al, L, T); % Настройка начальных условий initCond = SCFIEnergyBasedInitialConditions(L); initCond.SpinMixingAngle = fi; initCond.SelfConsistencySteps = 1; initCond.IsTripleLayer = true; % Создание расчёта calculation = Calculation("SFI Energy Demo", S_layer, initCond); % Запуск расчёта results = RunSFIEnergyBasedPipeline(calculation, true); % Визуализация результата figure; plot(results.Split.Zmas, results.CalculatedPhysicalProperties.OrderParameter); xlabel('Координата z (нм)'); ylabel('Параметр порядка Δ(z)'); title('Самосогласованная щель'); Сохранение результатов ---------------------- .. rubric:: Использование SaverCalculation .. code-block:: matlab % Создание сервиса сохранения saver = SaverCalculation('OutputDir', './my_results', ... 'SaveGreenMatrix', false, ... 'SaveRiccatiTensor', false, ... 'SaveGapHistory', true); % Сохранение результатов saver.saveOnly(results); % Простое сохранение основных данных saver.saveSimple('./my_results/gap.mat', struct('gap', results.CalculatedPhysicalProperties.OrderParameter)); Работа с логгером ----------------- .. rubric:: Логирование расчётов .. code-block:: matlab % Настройка логгера Config.LogsFolder = './MetatronTemporaryFiles'; Logger.Setup('MyCalculation'); % Логирование сообщений Logger.Info('Начало расчёта'); Logger.Error('Не удалось открыть файл'); % Закрытие лога Logger.Close(); Параллельные расчёты -------------------- .. rubric:: Использование параллельной версии .. code-block:: matlab % Запуск с параллелизацией (parfor) results = RunSFIEnergyBasedPipeline(calculation, true); % Последовательная версия results = RunSFIEnergyBasedPipeline(calculation, false); Получение физических свойств ---------------------------- .. rubric:: Вычисление плотности состояний и проводимости .. code-block:: matlab model = SFIEnergyBasedFindDensityofStates(calculation); conductivity = SFIEnergyBasedFindConductivity(calculation); magnetization = SFIEnergyBasedFindMagnetization(calculation); См. также --------- * :class:`SaverCalculation` * :class:`Logger` * :func:`RunSFIEnergyBasedPipeline`