«Ку? Знакомые формулы — по-новому с SymPy.» Кин-дза-дза!, 1986
Практические примеры расчётов балок и ферм на Python и SymPy.
| Возможность | Статус |
|---|---|
| Балки | ✅ |
| Плоские фермы | ✅ |
Построение эпюр M, Q, N |
✅ |
| Символьные и численные расчёты | ✅ |
| Арки | 🚧 |
| Тросы | 🚧 |
| Колонны | 🚧 |
| 2D рамы | 🚧 |
- Верификация аналитических решений из учебников
- Быстрый прототипинг расчётов без развёртывания FEM-пакетов
- Получение символьных выражений для чувствительного анализа
- Автоматизация построения эпюр и линий влияния
- Подготовка интерактивных учебных материалов
📦 project-root/
│
├── 📘 README.md .................................... Описание проекта
├── 📄 requirements.txt ............................. Зависимости Python
├── 🐍 start_jupyterbook.py ......................... Скрипт сборки и запуска
├── 🐚 start_jupyterbook.sh ......................... Bash-скрипт сборки и запуска
│
└── 📚 book/ ........................................ Исходный код Jupyter Book
├── 🏠 index.md ................................. Главная страница
├── ⚙️ myst.yml ................................. Конфигурация MyST
│
├── 🏛️ arch.md .................................. Раздел "Арка"
│ └── arch/
│ ├── ⚙️ configuration.ipynb ............... Настройка модели
│ ├── 🏋️ loads.ipynb ....................... Приложение нагрузок
│ ├── 📊 plotting.ipynb .................... Визуализация
│ └── 🧮 solving-and-results.ipynb ......... Расчёт и результаты
│
├── 🪵 beam.md .................................. Раздел "Балка"
│ └── beam/
│ ├── 📐 deformations.ipynb ............... Расчёт деформаций
│ ├── 💡 examples.ipynb .................... Примеры расчётов
│ ├── 📈 ild.ipynb ......................... Линии влияния
│ ├── 🔗 joining.ipynb .................... Соединение элементов
│ ├── 🏋️ loads-and-supports.ipynb ......... Нагрузки и опоры
│ ├── 📊 plotting.ipynb .................... Визуализация
│ ├── 🧱 properties.ipynb ................. Свойства сечений
│ └── ⚖️ statics.ipynb ..................... Статический расчёт
│
├── 🧊 beam3d.md ................................. Раздел "3D-балка"
│ └── beam3d/
│ ├── 📐 deformations.ipynb ............... Деформации в пространстве
│ ├── 🏋️ loads.ipynb ....................... Пространственные нагрузки
│ ├── 📊 plotting.ipynb .................... 3D-визуализация
│ ├── 🧱 properties.ipynb ................. Свойства 3D-сечений
│ └── ⚖️ statics.ipynb ..................... Статика в пространстве
│
├── 🌉 cable.md .................................. Раздел "Ванты/Тросы"
│ └── cable/
│ ├── ⚙️ configuration.ipynb ............... Настройка модели
│ ├── 🏋️ loads.ipynb ....................... Приложение нагрузок
│ ├── 📊 plotting.ipynb .................... Визуализация провисания
│ └── 🧮 solving-and-results.ipynb ......... Расчёт усилий
│
├── 🏗️ truss.md .................................. Раздел "Ферма"
│ └── truss/
│ ├── 📐 geometry.ipynb .................... Геометрия фермы
│ ├── 🏋️ loads-and-supports.ipynb ......... Нагрузки и опоры
│ ├── 🧩 members-and-nodes.ipynb ........... Стержни и узлы
│ ├── 📊 plotting.ipynb .................... Визуализация ферм
│ └── 🧮 solving-and-results.ipynb ......... Расчёт усилий в стержнях
│
└── 🖼️ images/ .................................. Изображения
├── ...
Требования: Python 3.9+ и Git должны быть установлены.
Проверьте:python --versionиgit --version
git clone https://github.com/mraduntsev/q-mech.git
cd q-mech| Система | Команды |
|---|---|
| Linux/macOS | python -m venv .venv && source .venv/bin/activate |
| Windows | python -m venv .venv.venv\Scripts\activate |
💡 Если
pythonне найден, попробуйтеpython3.
pip install -r requirements.txt❗ Ошибка установки? Обновите pip:
pip install --upgrade pip
❗ Конфликт версий? Создайте окружение заново: удалите папку.venvи вернитесь к шагу 2.
Любой из способов:
# Основной способ (Linux/macOS)
./start_jupyterbook.sh
# Основной способ (Windows PowerShell)
python start_jupyterbook.py
# Вручную
cd book && jupyter-book start| Ошибка | Решение |
|---|---|
python: command not found |
Python не установлен или не в PATH. Скачайте python.org и при установке отметьте ✅ «Add to PATH» |
git: command not found |
Установите Git: git-scm.com |
| Ошибка прав в Linux/macOS | chmod +x start_jupyterbook.sh |
| Виртуальное окружение не активируется в PowerShell | Запустите PowerShell от администратора и выполните:Set-ExecutionPolicy RemoteSigned -Scope CurrentUser |
jupyter-book: command not found |
Зависимости не установились — вернитесь к шагу 3 |
Примечание: Данный материал предназначен для инженерных расчётов и образовательных целей. При проектировании реальных конструкций необходимо руководствоваться действующими нормативными документами (СП, СНиП, Еврокоды).
| Тип обращения | Канал |
|---|---|
| Вопросы по расчётам, примеры | Discussions |
| Ошибки в коде, предложения | Issues |
| Сотрудничество, рецензирование | @mraduntsev в GitHub |
Для ускорения ответа указывайте: версию SymPy, минимальный воспроизводимый пример, ожидаемый и фактический результат.
BSD-3-Clause
