В этом проекте решается проблема линейной эластичности с использованием PETSc в 2d и 3d для коэффициентов Ламе, которые являются постоянными или постоянными по ячейкам в декартовой сетке, с использованием алгоритма GenEO, описанного в https://hal.archives-ouvertes.fr/hal-01170059/document. .
Чтобы установить этот пакет, вам сначала потребуется установить anaconda. Если в вашей системе нет anaconda, вы можете скачать miniconda для Python 3 (https://conda.io/miniconda.html).
Чтобы установить этот проект, вам необходимо его клонировать
git clone https://github.com/gouarin/GenEO.git
cd GenEO
Далее мы создадим среду со всеми необходимыми пакетами, используя следующую команду.
conda env create -f environment.yml
Чтобы активировать вашу среду
source activate petsc-geneo
Затем
python setup.py install
В каталоге этого проекта у вас есть каталог demos
с 2d и 3d примерами.
Важно находиться в среде conda, созданной ранее. Если это не так
source activate petsc-geneo
Это пример того, как протестировать один из них
mpiexec -np 4 python demo_elasticity_2d.py -AMPCG_verbose -ksp_monitor -PCBNN_verbose
Если выполнение demo_elasticity_2d.py
прошло успешно, у вас должно быть имя файла 'solution_2d_asm.vts'
.
Чтобы визуализировать этот файл, вам необходимо установить paraview (https://www.paraview.org/download/).
paraview
и выберите файл->состояние загрузки.paraview
этого проекта под названием visu_2d.pvsm
.vts
.Вы должны увидеть результаты.