Симулятор цунами (Julia version)
Реализация симулятора цунами из книги Milan Curcic “Modern Fortran. Building efficient parallel applications” (https://milancurcic.com/book/).
Запуск
Параметры симуляции задаются аргументами скрипта. Для получения справки по параметрам запустите скрипт с опцией -h
или --help
: $ julia ./tsunami.jl -h|--help
Симуляция c выводом на экран: $ julia [-t|--threads <num_threads>] ./tsunami.jl
Симуляция c выводом в файл: $ julia [-t|--threads <num_threads>] ./tsunami.jl >out.txt
Графическое представление
Симулятор выводит результаты вычислений в числовом виде, он не строит графики.
Для получения графического представления необходимо воспользоваться Python-скриптом, представленным в репозитории автора.
Чтобы получить набор графиков, можно запустить скрипт-визуализатор следующим образом (предполагается, что код автора склонирован в $HOME/src/tsunami
):
printf "%s\0" {1..5000} | xargs -0 -I @ -P 4 python3 ~/src/tsunami/src/ch04/plot_water_height.py out.txt @
Цифра 4 в этой команде обозначает количество процессов для скрипта.
Результатом команды будут SVG-файлы, из которых можно сделать анимацию следующим образом:
ffmpeg -framerate 60 -i water_height_%04d.svg -r 30 video.mp4
На выходе получится анимация в формате MP4.