Описание
Моделирование технологических процессов обработки материалов давлением требует решения краевых задач механики, описывающих формоизменение заготовок в состоянии сверхпластичности. Особенностью таких задач являются сложности, связанные с большими деформациями, нелинейностью и нестационарностью граничных условий, нелинейностью уравнений состояния, описывающих свойства материала. В рамках данного проекта предлагается разработать систему конечно-элементного моделирования, реализующую расчёт деформационного поведения материала. Такая система будет представлена в виде статической библиотеки, которая может быть использована в других проектах для решения специализированных задач.
Содержание
- Технологии
- Установка
- Тестирование
- Документация
- Команда
Используемые технологии
- Разработка ПО ведется на языке
C++
, API на языке C
- Зависимости:
- vcpkg (пакетный менеджер)
- nlohmann-json (работа с json-файлами)
Установка проекта
- Скачать и установить Git
- Склонировать проект:
git clone --recurse-submodules https://git.miem.hse.ru/1566/fem.git
Unit - Тесты
- Скачать и установить cmake и Ninja (ninja-build). Пути до этих программ желательно добавить в Path
- Скачать и установить желаемый компилятор C и C++
- Скачать и устанавить пакетный менеджр vcpkg в любое место на компьютере (НЕ в папку с библиотекой).
- Инструкция по установке vcpkg: https://vcpkg.io/en/getting-started.html (нужно выполнить только step 1 и step 2)
- Перейти в папку fem, создать там папку build и перейти в нее (
mkdir build && cd build
)
cmake -DCMAKE_TOOLCHAIN_FILE=<путь_до_файла_vcpkg.cmake> ../
- Если хотим возможность запустить все тесты сразу, то:
cmake -DCMAKE_TOOLCHAIN_FILE=<путь_до_файла_vcpkg.cmake> -DENABLE_GLOBAL_TESTS_EXE=ON ../
cmake --build ./
./fem_googletests
(start fem_googletests
для windows)
Настройка для Clion
Тесты лежат в папке /tests/
- Собрать проект (не забыть указать путь до vcpkg.cmake)
- Верхняя плашка (левее зеленого треугольника "Run") -> Edit Configuration
- Если еще нет, добавить конфигурацию Google Test ("+" -> "Google Test")
- В настройках конфигурации в поле "Target" выбрать нужный исполянемый файл
- Нажать "Run"
- Результаты тестов появятся во вкладке внизу "Run"
Документация
Как локально сгенерировать документацию по коду проекта:
- Скачать Docker
- Установить его (можно нигде не регистрироваться, нам важна лишь работа программы в фоне) и запустить
- Открыть Git Bash в папке проекта, ввести
cd configs
- Запустить скрипт
doxygen.sh
(ввести ./doxygen.sh
в консоли, "." и "/" важны)
- Сгенерированная документация появится в папке configs/tmp/html, для просмотра открыть в браузере файл
index.html
Команда проекта
Руководители
Участники
- Скриплёнок Михаил Сергеевич - трение между инструментов и образцом, плоско-напряженный solver
- Кудряшов Максим Дмитриевич - общая архитектура FEM, несколько инструментов
- Ткаченко Никита Андреевич - граничные условия, верификация с Abaqus, DevOps
- Бабушкин Михаил Алексеевич - Переработка библиотеки для динамического перестроения сетки
Наверх