يحل هذا المشروع مشكلة المرونة الخطية باستخدام PETSc في 2d و 3d لمعاملات lamé التي تكون ثابتة أو ثابتة بواسطة الخلية على شبكة ديكارتية باستخدام خوارزمية GenEO الموضحة في https://hal.archives-ouvertes.fr/hal-01170059/document .
لتثبيت هذه الحزمة، تحتاج أولاً إلى تثبيت اناكوندا. إذا لم يكن لديك أناكوندا على نظامك، فيمكنك تنزيل 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
يحتوي على أمثلة ثنائية وثلاثية الأبعاد.
من المهم أن تكون في بيئة كوندا التي تم إنشاؤها مسبقًا. إذا لم يكن الأمر كذلك
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
.يجب أن ترى النتائج.