Files
molecular_frontend/src/Pages/DocumentationPage/DocumentationPage.tsx
DeOwl f3372eb0ad v1.0
- added task rendering instead of molecule
- fied a lot of errors
- changes experiment page to show generic experiment info
2026-05-25 12:55:46 +03:00

335 lines
17 KiB
TypeScript
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import {
Box,
Divider,
TableOfContents,
Title,
Text,
List,
Code,
Anchor,
} from "@mantine/core";
import "./DocumentationPage.css";
import { Helmet } from "react-helmet";
function DocumentationPage() {
return (
<>
<Helmet>
<title>Документация | QMolSim</title>
<meta
name="description"
content="Полное руководство пользователя по системе распределенного квантово-химического расчета QMolSim."
/>
</Helmet>
<Title order={1} className="docTitle">
Руководство пользователя
</Title>
<Text size="sm" c="dimmed" mb="md">
Автоматизированная система распределенного расчета энергии основного
состояния молекул
</Text>
<Divider />
<div className="DocumentationPage">
<Box className="tableOfContents" visibleFrom="md">
<TableOfContents
variant="light"
color="accent"
size="sm"
radius="sm"
minDepthToOffset={0}
depthOffset={20}
scrollSpyOptions={{
selector: "section h1, section h2, section h3",
}}
getControlProps={({ data }) => ({
onClick: () =>
data
.getNode()
.scrollIntoView({ behavior: "smooth", block: "start" }),
children: data.value,
})}
/>
</Box>
<div className="contents">
{/* ================= 1 ВВЕДЕНИЕ ================= */}
<section id="introduction">
<Title order={1}>1. Введение</Title>
<Title order={2} mt="md" id="application-area">
1.1 Область применения
</Title>
<Text>Требования настоящего документа применяются при:</Text>
<List>
<List.Item>предварительных комплексных испытаниях;</List.Item>
<List.Item>опытной эксплуатации;</List.Item>
<List.Item>приемочных испытаниях;</List.Item>
<List.Item>промышленной эксплуатации.</List.Item>
</List>
<Title order={2} mt="md" id="capabilities">
1.2 Краткое описание возможностей
</Title>
<Text>
Автоматизированная система распределенного расчета энергии
основного состояния молекул с помощью квантовых алгоритмов
представляет собой распределенный веб-сервис, предназначенный для
выполнения ресурсоемких квантово-химических расчетов с
использованием гибридной архитектуры, состоящей из центрального
сервера и распределенных квантовых симуляторов.
</Text>
<Title order={3} mt="sm" id="cap-mgmt">
Управление командной работой
</Title>
<Text>
Пользователи могут создавать команды, приглашать других
исследователей, назначать права доступа.
</Text>
<Title order={3} mt="sm" id="cap-nodes">
Подключение вычислительных систем
</Title>
<Text>
Исследователи регистрируют в системе свои вычислительные узлы. Для
каждого узла исследователь задает максимальное количество кубитов,
а также предоставляет доступ командам на использование устройства.
</Text>
<Title order={3} mt="sm" id="cap-experiments">
Создание и запуск экспериментов
</Title>
<Text>
В рамках команды пользователь создает эксперимент (набор задач для
разных молекул). Для каждой задачи загружается или редактируется
структура молекулы в формате XYZ, задаются квантово-химические
параметры.
</Text>
<Title order={3} mt="sm" id="cap-vqe">
Распределенные вычисления VQE
</Title>
<Text>
При запуске эксперимента система автоматически распределяет задачи
по доступным вычислительным узлам с учетом их ограничений по числу
кубит. В процессе расчета на сервер передаются промежуточные
результаты.
</Text>
<Title order={3} mt="sm" id="cap-fault">
Отказоустойчивость и восстановление
</Title>
<Text>
Каждый вычислительный узел каждые 5 секунд отправляет сигнал о
своей работоспособности. При выходе узла из строя незавершенная
задача автоматически перенаправляется в очередь и назначается на
другой узел с сохранением промежуточных весов оптимизации.
</Text>
<Title order={3} mt="sm" id="cap-vis">
Визуализация молекул
</Title>
<Text>
Для каждой задачи доступна интерактивная 3D-визуализация молекулы
в шаростержневой модели.
</Text>
<Title order={3} mt="sm" id="cap-import">
Импорт молекулярных данных
</Title>
<Text>
Система поддерживает преобразование молекул в требуемый формат из
большинства существующих химических форматов.
</Text>
</section>
{/* ================= 2 НАЗНАЧЕНИЕ И УСЛОВИЯ ================= */}
<section id="purpose-conditions" style={{ marginTop: "2rem" }}>
<Title order={1}>2. Назначение и условия применения</Title>
<Title order={2} mt="md" id="purpose">
2.1 Назначение системы
</Title>
<Text>
Система предназначена для автоматизированного распределенного
расчета энергии основного состояния молекул с использованием
квантового алгоритма VQE. Она обеспечивает создание команд
исследователей с настройкой прав доступа, автоматическое
распределение вычислительных задач между доступными узлами,
мониторинг состояния вычислений и восстановление прогресса расчета
при сбое отдельных вычислительных систем. Применение системы
позволяет повысить скорость проведения квантово-химических
расчетов и снизить нагрузку на пользователя по управлению
вычислительным процессом. Система ориентирована на специалистов в
области квантовой химии и вычислительных технологий.
</Text>
<Title order={2} mt="md" id="tech-reqs">
2.2 Требования к техническим средствам
</Title>
<Title order={3} mt="sm" id="client-browser">
Клиент-браузер:
</Title>
<List>
<List.Item>Оперативная память от 4 Гб;</List.Item>
<List.Item>Свободное пространство на диске от 2 Гб;</List.Item>
<List.Item>Процессор 4-ядерный с частотой от 2 ГГц;</List.Item>
<List.Item>Скорость подключения в интернет от 50 Мб/c;</List.Item>
<List.Item>
Наличие манипулятора "мышь" или аналогичного устройства для
взаимодействия с интерфейсом;
</List.Item>
<List.Item>Наличие Клавиатуры.</List.Item>
</List>
<Title order={3} mt="sm" id="client-compute">
Клиент-ВС:
</Title>
<List>
<List.Item>Оперативная память от 8 Гб;</List.Item>
<List.Item>Свободное пространство на диске от 5 Гб;</List.Item>
<List.Item>
Процессор 8-ядерный с частотой от 2-4,4 ГГц;
</List.Item>
<List.Item>Скорость подключения в интернет от 50 Мб/с;</List.Item>
<List.Item>
Наличие манипулятора "мышь" или аналогичного устройства для
взаимодействия с интерфейсом;
</List.Item>
<List.Item>Наличие Клавиатуры.</List.Item>
</List>
<Title order={2} mt="md" id="software-reqs">
2.3 Требования к программным средствам
</Title>
<Title order={3} mt="sm" id="sw-browser">
Клиент-браузер:
</Title>
<Text>
Браузер (Safari 18.1.1, Яндекс Браузер 25.2.1, Google Chrome
110.0.5481.100)
</Text>
<Title order={3} mt="sm" id="sw-compute">
Клиент-ВС:
</Title>
<List>
<List.Item>ОС Windows 10, Windows 11, MacOS, Linux</List.Item>
<List.Item>
Браузер (Safari 18.1.1, Яндекс Браузер 25.2.1, Google Chrome
110.0.5481.100)
</List.Item>
<List.Item>Docker</List.Item>
<List.Item>Docker-compose v2</List.Item>
</List>
<Title order={2} mt="md" id="exec-conditions">
3. Условия выполнения программы
</Title>
<Text>
Для работы системы требуется веб-браузер, поддерживающий
современные функции JavaScript (Google Chrome версии 110 и выше,
Яндекс Браузер версии 25.2.1 и выше, Safari версии 18.1.1 и выше).
Доступ к системе осуществляется через веб-интерфейс по адресу,
предоставленному администратором. Для работы вычислительных узлов
дополнительно требуется установленный Docker и Docker Compose v2
на каждой подключаемой вычислительной системе. Необходимо наличие
постоянного сетевого подключения к серверу для всех
взаимодействующих компонентов системы.
</Text>
</section>
{/* ================= 4 ВЫПОЛНЕНИЕ ПРОГРАММЫ ================= */}
<section id="execution" style={{ marginTop: "2rem" }}>
<Title order={1}>4. Выполнение программы</Title>
<Title order={2} mt="md" id="install">
4.1 Инсталяция/деинсталяция
</Title>
<Text>
Клиент-браузер инсталляции и деинсталляции не требуется, для
работы необходимо только наличие на системе совместимого браузера.
</Text>
<Title order={3} mt="sm" id="install-compute">
Для инсталляции клиента-ВС:
</Title>
<List>
<List.Item>
На системе необходимо наличие docker и docker-compose v2
</List.Item>
<List.Item>
Необходимо скачать контейнер с помощью команды:{" "}
<Code>docker pull git.deowl.ru/vkrb/client:0.1.0</Code>
</List.Item>
<List.Item>
Затем скачать файл docker-compose с помощью команды:{" "}
<Code>
curl -O
"https://git.deowl.ru/vkrb/local_quantum_simulator/raw/branch/main/docker-compose.yml"
</Code>
</List.Item>
<List.Item>
Наконец, в той же папке необходимо создать файл переменных среды
с названием ".env" и содержимым:
<Code block mt="xs">
{`PORT=5001
STORAGE_PATH="/storage"
RABBITMQ_HOST=rabbit.deowl.ru
RABBITMQ_PORT=5672
KEYCLOAK_URL=https://quantum-auth.deowl.ru
KEYCLOAK_REALM_NAME=quant_sim-realm
KEACLOAK_CLIENT_ID=local_quantum_sim
QUANTUM_BACKEND_URL=https://quantum.deowl.ru`}
</Code>
</List.Item>
</List>
<Title order={3} mt="md" id="uninstall-compute">
Для деинсталляции клиента-ВС:
</Title>
<List>
<List.Item>
Удаляем файлы «docker-compose.yml», «.env» и папку
«localStorage» (при ее наличие)
</List.Item>
<List.Item>
Удаляем установленное изображение с помощью команды:{" "}
<Code>docker image rm git.deowl.ru/vkrb/client:0.1.0</Code>
</List.Item>
</List>
<Title order={2} mt="md" id="start-stop">
4.2 Запуск / Остановка программы
</Title>
<Text>
Клиент-браузер может быть открыт по ссылке:{" "}
<Anchor href="http://quantum.deowl.ru/">
http://quantum.deowl.ru/
</Anchor>
</Text>
<Text mt="sm">
Для запуска клиента-ВС необходимо выполнить команду, находясь в
папке с файлом «docker-compose.yml»:{" "}
<Code>docker compose up --d</Code>
</Text>
<Text mt="sm">
Для остановки клиента-ВС: <Code>docker compose down</Code>
</Text>
<Text mt="sm">
Для первичного подключения и мониторинга статуса клиента-ВС
необходимо открыть ссылку:{" "}
<Anchor href="http://localhost:5001/">
http://localhost:5001/
</Anchor>
</Text>
</section>
</div>
</div>
</>
);
}
export default DocumentationPage;