An open API service indexing awesome lists of open source software.

https://github.com/ashenblade/adi-mpi

Соловьев Сергей Вадимович
https://github.com/ashenblade/adi-mpi

Last synced: about 2 months ago
JSON representation

Соловьев Сергей Вадимович

Awesome Lists containing this project

README

        

# Решение задачи теплопроводности методом продольно-поперечной прогонки через MPI

## Описание
В данном репозитории представлен вариант решения задачи теплопроводности.
Метод решения - продольно-поперечная прогонка.
Также используется распараллеливание по процессам - по процессу на каждое направление.

## Сборка

Для сборки используется CMake.

Расположение CMakeLists.txt - `src/CMakeLists.txt`

Для сборки требуется установленная библиотека MPI.
Следующие команды исполнять из директории `src`

Собрать приложение можно командой:
```shell
mkdir cmake-build && cd cmake-build
cmake ..
```

Также можно собрать с помощью компилятора MPI напрямую:

Windows
```shell
mpicxx.exe main.cpp -o adi.exe
```

Linux
```shell
mpicxx main.cpp -o adi.exe
```

## Запуск

Запуск производится из директории в которой создался исполняемый файл на предыдущем шаге.

```shell
mpiexec.exe -np 30 ./adi.exe
```

## Дополнительно
Приложение выводит в `stdout` сетку температуры на текущем слое каждые 100 итераций.

Шаг логирования и количество итераций можно изменить в исходном коде:
- `logStep` - шаг логирования
- `iterations` - количество итераций