انتقل إلى المحتوى

التحليل الساكن الخطي (المرونة، التوازي)

لإجراء تحليل ساكن (مرونة) بتنفيذ متوازٍ رباعي، استخدم البيانات الموجودة في tutorial/02_elastic_hinge_parallel.

نموذج التحليل

البند الوصف ملاحظات المرجع
نوع التحليل تحليل ساكن خطي !SOLUTION,TYPE=STATIC
عدد العقد 84,056
عدد العناصر 49,871
نوع العنصر عنصر رباعي السطوح تربيعي من 10 عقد !ELEMENT,TYPE=342 مكتبة العناصر
اسم المادة STEEL !MATERIAL,NAME=STEEL بيانات المواد
خواص المادة ELASTIC !ELASTIC
الشروط الحدّية تقييد، حمل مركز
طريقة حل المصفوفة CG/SSOR !SOLVER,METHOD=CG,PRECOND=1

مجال الحساب لكل عقدة

الشكل 4.2.1 مجال الحساب لكل عقدة

محتوى التحليل

فكّ ضغط أرشيف الشيفرة المصدرية لـ FrontISTR، وانتقل إلى دليل هذا المثال، ثم تحقّق من وجود الملفات التالية اللازمة للتحليل

اسم الملف النوع الدور
hecmw_ctrl.dat بيانات التحكم العامة
hinge.cnt بيانات التحكم في التحليل
hinge.msh بيانات الشبكة
hecmw_part_ctrl.dat بيانات التحكم في تقسيم الشبكة بيانات التحكم المستخدمة عند تقسيم بيانات الشبكة إلى مجالات باستخدام hecmw_part1

موجودة.

tar xvf FrontISTR.tar.gz
cd FrontISTR/tutorial/02_elastic_hinge_parallel
ls

ناتج التنفيذ:

hecmw_ctrl.dat  hecmw_part_ctrl.dat  hinge.cnt  hinge.msh

يُجرى تحليل إجهاد مع تقييد إزاحة الأسطح المقيّدة وتطبيق حمل مركز على سطح التحميل.

تُعرض أدناه بيانات التحكم العامة وبيانات التحكم في التحليل وبيانات التحكم في تقسيم الشبكة.

بيانات التحكم العامة hecmw_ctrl.dat

#
# for partitioner
#
!MESH, NAME=part_in,TYPE=HECMW-ENTIRE # بيانات الشبكة الأصلية التي سيقسّمها hecmw_part1
 hinge.msh
!MESH, NAME=part_out,TYPE=HECMW-DIST  # اسم الملف بعد التقسيم بواسطة hecmw_part1
 hinge_4
#
# for solver
#
!MESH, NAME=fstrMSH, TYPE=HECMW-DIST  # تحديد بيانات الشبكة المقسّمة
 hinge_4
!CONTROL, NAME=fstrCNT                # تحديد بيانات التحكم في التحليل
 hinge.cnt
!RESULT, NAME=fstrRES, IO=OUT         # تحديد بيانات النتائج
 hinge.res
!RESULT, NAME=vis_out, IO=OUT         # تحديد بيانات التصور
 hinge_vis

بيانات التحكم في التحليل hinge.cnt

#  Control File for FISTR
## Analysis Control
!VERSION                   # تحديد إصدار تنسيق الملف
 3
!SOLUTION, TYPE=STATIC     # تحديد نوع التحليل
!WRITE,RESULT              # تحديد إخراج بيانات النتائج
!WRITE,VISUAL              # تحديد إخراج بيانات التصور
## Solver Control
### Boundary Condition
!BOUNDARY
 BND0, 1, 3, 0.000000      # تحديد السطح المقيّد 1
!BOUNDARY
 BND1, 1, 3, 0.000000      # تحديد السطح المقيّد 2
!CLOAD
 CL0, 1, 0.01000           # تحديد سطح التحميل
### Material
!MATERIAL, NAME=STEEL      # تحديد خصائص المادة
!ELASTIC                   # تعريف المادة المرنة
 210000.0, 0.3
!DENSITY                   # تعريف كثافة الكتلة
 7.85e-6
### Solver Setting
!SOLVER,METHOD=CG,PRECOND=1,ITERLOG=YES,TIMELOG=YES  # التحكم في الحالّ
 10000, 2
 1.0e-08, 1.0, 0.0
## Post Control
!VISUAL,method=PSR         # تحديد طريقة التصور
!surface_num=1             # عدد الأسطح في عملية تصيير سطح واحدة
!surface 1                 # تحديد محتوى السطح
!output_type=VTK           # تحديد نوع ملف التصور
!END                       # الإشارة إلى نهاية بيانات التحكم في التحليل

بيانات التحكم في تقسيم الشبكة hecmw_part_ctrl.dat

!PARTITION,TYPE=NODE-BASED,METHOD=PMETIS,DOMAIN=4,UCD=part.inp

إجراءات التحليل

لتشغيل FrontISTR باستخدام MPI، قسّم أولًا بيانات الشبكة hinge.msh إلى أربعة مجالات.

hecmw_part1

ناتج التنفيذ:

Oct 07 11:04:52 Info: Reading mesh file...
Oct 07 11:04:52 Info: Starting domain decomposition...
Oct 07 11:04:52 TH(0/8) Info: Creating local mesh for domain #0 ...
Oct 07 11:04:52 TH(2/8) Info: Creating local mesh for domain #1 ...
Oct 07 11:04:52 TH(6/8) Info: Creating local mesh for domain #2 ...
Oct 07 11:04:52 TH(7/8) Info: Creating local mesh for domain #3 ...
Oct 07 11:04:52 Info: Domain decomposition done

تُنشأ ملفات جديدة باسم hinge_4.x وpart.inp.

ls

ناتج التنفيذ:

hecmw_ctrl.dat  hecmw_part_ctrl.dat  hinge.msh  hinge_4.1  hinge_4.3
hecmw_part.log  hinge.cnt            hinge_4.0  hinge_4.2  part.inp

بعد ذلك، شغّل الأمر التنفيذي لـ FrontISTR وهو fistr1 باستخدام MPI.

mpirun -np 4 fistr1 -t 1

(التنفيذ باستخدام 4 عمليات MPI وخيط OpenMP واحد)

##################################################################
#                         FrontISTR                              #
##################################################################
---
version:    5.1.0
git_hash:   acab000c8c633b7b9d596424769e14363f720841
build:
  date:     2020-10-05T07:39:55Z
  MPI:      enabled
  OpenMP:   enabled
  option:   "-p --with-tools --with-refiner --with-metis --with-mumps --with-lapack --with-ml --with-mkl "
  HECMW_METIS_VER: 5
execute:
  date:       2020-10-07T11:07:21+0900
  processes:  4
  threads:    1
  cores:      4
  host:
    0: flow-p06
    1: flow-p06
    2: flow-p06
    3: flow-p06
---
...
 Step control not defined! Using default step=1
 fstr_setup: OK
 Start visualize PSF 1 at timestep 0

 loading step=    1
 sub_step= 1,   current_time=  0.0000E+00, time_inc=  0.1000E+01
 loading_factor=    0.0000000   1.0000000
### 3x3 BLOCK CG, SSOR, 2
      1    2.183567E+00
      2    2.423900E+00
      3    2.939117E+00
...
   2084    1.158654E-08
   2085    1.032414E-08
   2086    9.436273E-09
### Relative residual = 9.43589E-09

### summary of linear solver
      2086 iterations      9.435886E-09
    set-up time      :     4.695220E-02
    solver time      :     7.103976E+01
    solver/comm time :     1.929294E+01
    solver/matvec    :     1.544405E+01
    solver/precond   :     3.243278E+01
    solver/1 iter    :     3.405549E-02
    work ratio (%)   :     7.284205E+01

 Start visualize PSF 1 at timestep 1
### FSTR_SOLVE_NLGEOM FINISHED!

 ====================================
    TOTAL TIME (sec) :     72.42
           pre (sec) :      0.29
         solve (sec) :     72.13
 ====================================
 FrontISTR Completed !!

يكتمل التحليل عند ظهور FrontISTR Completed !!.

نتائج التحليل

عند اكتمال التحليل، تُنشأ عدة ملفات جديدة.

ls

ناتج التنفيذ:

0.log       FSTR.dbg.3           hinge.cnt      hinge.res.2.1  hinge_vis_psf.0000
1.log       FSTR.msg             hinge.msh      hinge.res.3.0  hinge_vis_psf.0000.pvtu
2.log       FSTR.sta             hinge.res.0.0  hinge.res.3.1  hinge_vis_psf.0001
3.log       hecmw_ctrl.dat       hinge.res.0.1  hinge_4.0      hinge_vis_psf.0001.pvtu
FSTR.dbg.0  hecmw_part.log       hinge.res.1.0  hinge_4.1      part.inp
FSTR.dbg.1  hecmw_part_ctrl.dat  hinge.res.1.1  hinge_4.2
FSTR.dbg.2  hecmw_vis.ini        hinge.res.2.0  hinge_4.3

تُسمّى ملفات *.res.* بيانات النتائج، وهي تحتوي على نتائج تحليل FrontISTR لكل عقدة MPI. ويمكن عرضها باستخدام REVOCAP_PrePost وأدوات مماثلة.

تُسمّى ملفات *_vis_* بيانات التصور، ويمكن عرضها باستخدام برامج تصور عامة. في هذا المثال، تُخرج البيانات بتنسيق VTK، لذا استخدم ParaView أو برنامجًا مماثلًا لعرضها.

نتيجة تحليل إجهاد فون ميزس (معروضة بتنسيق VTK)

الشكل 4.2.2 نتيجة تحليل إجهاد فون ميزس (معروضة بتنسيق VTK)

سجل نتائج التحليل 0.log

 fstr_setup: OK
#### Result step=     0
 ##### Local Summary @Node    :Max/IdMax/Min/IdMin####
 //U1    0.0000E+00         1  0.0000E+00         1
 //U2    0.0000E+00         1  0.0000E+00         1
 //U3    0.0000E+00         1  0.0000E+00         1
 //E11   0.0000E+00         1  0.0000E+00         1
 //E22   0.0000E+00         1  0.0000E+00         1
 //E33   0.0000E+00         1  0.0000E+00         1
 //E12   0.0000E+00         1  0.0000E+00         1
 //E23   0.0000E+00         1  0.0000E+00         1
 //E31   0.0000E+00         1  0.0000E+00         1
 //S11   0.0000E+00         1  0.0000E+00         1
 //S22   0.0000E+00         1  0.0000E+00         1
 //S33   0.0000E+00         1  0.0000E+00         1
 //S12   0.0000E+00         1  0.0000E+00         1
 //S23   0.0000E+00         1  0.0000E+00         1
 //S31   0.0000E+00         1  0.0000E+00         1
 //SMS   0.0000E+00         1  0.0000E+00         1
 ##### Local Summary @Element :Max/IdMax/Min/IdMin####
 //E11   0.0000E+00         1  0.0000E+00         1
 //E22   0.0000E+00         1  0.0000E+00         1
 //E33   0.0000E+00         1  0.0000E+00         1
 //E12   0.0000E+00         1  0.0000E+00         1
 //E23   0.0000E+00         1  0.0000E+00         1
 //E31   0.0000E+00         1  0.0000E+00         1
 //S11   0.0000E+00         1  0.0000E+00         1
 //S22   0.0000E+00         1  0.0000E+00         1
 //S33   0.0000E+00         1  0.0000E+00         1
 //S12   0.0000E+00         1  0.0000E+00         1
 //S23   0.0000E+00         1  0.0000E+00         1
 //S31   0.0000E+00         1  0.0000E+00         1
 //SMS   0.0000E+00         1  0.0000E+00         1
 ##### Global Summary @Node    :Max/IdMax/Min/IdMin####
 //U1    0.0000E+00        14  0.0000E+00        14
 //U2    0.0000E+00        14  0.0000E+00        14
 //U3    0.0000E+00        14  0.0000E+00        14
 //E11   0.0000E+00        14  0.0000E+00        14
 //E22   0.0000E+00        14  0.0000E+00        14
 //E33   0.0000E+00        14  0.0000E+00        14
 //E12   0.0000E+00        14  0.0000E+00        14
 //E23   0.0000E+00        14  0.0000E+00        14
 //E31   0.0000E+00        14  0.0000E+00        14
 //S11   0.0000E+00        14  0.0000E+00        14
 //S22   0.0000E+00        14  0.0000E+00        14
 //S33   0.0000E+00        14  0.0000E+00        14
 //S12   0.0000E+00        14  0.0000E+00        14
 //S23   0.0000E+00        14  0.0000E+00        14
 //S31   0.0000E+00        14  0.0000E+00        14
 //SMS   0.0000E+00        14  0.0000E+00        14
 ##### Global Summary @Element :Max/IdMax/Min/IdMin####
 //E11   0.0000E+00        14  0.0000E+00        14
 //E22   0.0000E+00        14  0.0000E+00        14
 //E33   0.0000E+00        14  0.0000E+00        14
 //E12   0.0000E+00        14  0.0000E+00        14
 //E23   0.0000E+00        14  0.0000E+00        14
 //E31   0.0000E+00        14  0.0000E+00        14
 //S11   0.0000E+00        14  0.0000E+00        14
 //S22   0.0000E+00        14  0.0000E+00        14
 //S33   0.0000E+00        14  0.0000E+00        14
 //S12   0.0000E+00        14  0.0000E+00        14
 //S23   0.0000E+00        14  0.0000E+00        14
 //S31   0.0000E+00        14  0.0000E+00        14
 //SMS   0.0000E+00        14  0.0000E+00        14
#### Result step=     1
 ##### Local Summary @Node    :Max/IdMax/Min/IdMin####
 //U1    7.4906E-03     50978 -6.9368E-04     51989
 //U2    6.1150E-05      2426 -1.2781E-04     40202
 //U3    1.8720E-04      2712 -5.5024E-03     67858
 //E11   1.3024E-03     28591 -1.2844E-03     28580
 //E22   2.1102E-04     24593 -2.0594E-04       205
 //E33   6.8634E-04     51036 -5.9603E-04     67794
 //E12   5.2186E-04       209 -5.4559E-04     28641
 //E23   2.5417E-04     28521 -3.2956E-04       187
 //E31   7.2396E-04     36168 -9.5847E-04     28591
 //S11   3.6844E+02     28591 -3.6387E+02     28580
 //S22   1.5841E+02     28591 -1.5743E+02     28580
 //S33   1.5959E+02     51036 -1.5643E+02     28580
 //S12   4.2150E+01       209 -4.4067E+01     28641
 //S23   2.0529E+01     28521 -2.6618E+01       187
 //S31   5.8474E+01     36168 -7.7415E+01     28591
 //SMS   2.5134E+02     28591  3.5157E-02     12726
 ##### Local Summary @Element :Max/IdMax/Min/IdMin####
 //E11   1.0115E-03      9959 -9.7870E-04      9942
 //E22   1.5457E-04     13694 -1.4639E-04      7189
 //E33   5.9415E-04     44563 -5.0497E-04     47965
 //E12   3.5513E-04      9579 -3.9083E-04      9600
 //E23   2.0608E-04      9563 -2.3480E-04      9589
 //E31   5.7633E-04     43142 -4.8019E-04      9571
 //S11   2.6038E+02      9573 -2.5605E+02      9571
 //S22   1.0144E+02      9573 -1.0100E+02      9571
 //S33   1.3921E+02     44569 -1.1431E+02     47974
 //S12   2.8683E+01      9579 -3.1567E+01      9600
 //S23   1.6645E+01      9563 -1.8964E+01      9589
 //S31   4.6550E+01     43142 -3.8785E+01      9571
 //SMS   2.0350E+02      9959  3.4602E-02        28
 ##### Global Summary @Node    :Max/IdMax/Min/IdMin####
 //U1    3.9115E-02     82452 -7.1083E-04     65233
 //U2    7.4504E-05       354 -5.8813E-04       696
 //U3    5.9493E-04        84 -5.8751E-03     61080
 //E11   1.3777E-03       130 -1.3653E-03     77625
 //E22   4.9199E-04        61 -5.4370E-04       102
 //E33   6.8634E-04     51036 -6.1176E-04     30070
 //E12   7.1556E-04     27808 -6.8093E-04     27863
 //E23   5.3666E-04        56 -5.4347E-04        82
 //E31   7.2396E-04     36168 -9.6621E-04       130
 //S11   3.8626E+02       130 -3.6387E+02     28580
 //S22   1.6628E+02       130 -1.5743E+02     28580
 //S33   1.6502E+02     30033 -1.5643E+02     28580
 //S12   5.7795E+01     27808 -5.4998E+01     27863
 //S23   4.3345E+01        56 -4.3896E+01        82
 //S31   5.8474E+01     36168 -7.8040E+01       130
 //SMS   2.8195E+02     77625  1.2755E-02     75112
 ##### Global Summary @Element :Max/IdMax/Min/IdMin####
 //E11   1.0731E-03     10485 -1.2123E-03     41779
 //E22   3.9143E-04     33536 -4.1389E-04     22892
 //E33   5.9415E-04     44563 -5.0497E-04     47965
 //E12   5.3264E-04      9163 -5.0405E-04      9161
 //E23   3.9226E-04     33024 -4.1464E-04     23465
 //E31   5.7633E-04     43142 -4.8019E-04      9571
 //S11   2.7231E+02      9180 -2.9763E+02     41779
 //S22   1.0792E+02      9180 -1.0656E+02     41779
 //S33   1.3921E+02     44569 -1.1431E+02     47974
 //S12   4.3021E+01      9163 -4.0712E+01      9161
 //S23   3.1683E+01     33024 -3.3490E+01     23465
 //S31   4.6550E+01     43142 -3.8785E+01      9571
 //SMS   2.4057E+02     41779  3.1383E-02     38687