تحلیل استاتیکی خطی (الاستیسیته، موازی)¶
برای اجرای تحلیل استاتیکی (الاستیسیته) بهصورت 4-موازی، از دادههای 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 |

محتوای تحلیل¶
کد FrontISTR را استخراج کنید، به دایرکتوری این مثال بروید و بررسی کنید که فایلهای زیر که برای تحلیل لازم هستند
| نام فایل | نوع | نقش |
|---|---|---|
| hecmw_ctrl.dat | دادههای کنترل کلی | |
| hinge.cnt | دادههای کنترل تحلیل | |
| hinge.msh | دادههای مش | |
| hecmw_part_ctrl.dat | دادههای کنترل پارتیشنبندی مش | دادههای کنترلی که هنگام پارتیشنبندی مش توسط hecmw_part1 استفاده میشود |
وجود داشته باشند.
خروجی:
تحلیل تنش با مقید کردن جابهجایی سطوح مقید و اعمال بار متمرکز به سطح بارگذاری انجام میشود.
دادههای کنترل کلی، دادههای کنترل تحلیل و دادههای کنترل پارتیشنبندی مش در ادامه نشان داده شدهاند.
دادههای کنترل کلی hecmw_ctrl.dat¶
#
# برای تقسیمکنندهٔ مش
#
!MESH, NAME=part_in,TYPE=HECMW-ENTIRE # دادههای مش اصلی که توسط hecmw_part1 تقسیم میشود
hinge.msh
!MESH, NAME=part_out,TYPE=HECMW-DIST # نام فایل پس از تقسیم توسط hecmw_part1
hinge_4
#
# برای حلگر
#
!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¶
# فایل کنترل FISTR
## کنترل تحلیل
!VERSION # نسخه قالب فایل را مشخص کنید
3
!SOLUTION, TYPE=STATIC # نوع تحلیل را مشخص کنید
!WRITE,RESULT # خروجی دادههای نتیجه را مشخص کنید
!WRITE,VISUAL # خروجی دادههای بصریسازی را مشخص کنید
## کنترل حلگر
### شرایط مرزی
!BOUNDARY
BND0, 1, 3, 0.000000 # سطح مقید 1 را مشخص کنید
!BOUNDARY
BND1, 1, 3, 0.000000 # سطح مقید 2 را مشخص کنید
!CLOAD
CL0, 1, 0.01000 # سطح بارگذاری را مشخص کنید
### ماده
!MATERIAL, NAME=STEEL # خواص ماده را مشخص کنید
!ELASTIC # ماده الاستیک را تعریف کنید
210000.0, 0.3
!DENSITY # چگالی جرمی را تعریف کنید
7.85e-6
### تنظیمات حلگر
!SOLVER,METHOD=CG,PRECOND=1,ITERLOG=YES,TIMELOG=YES # حلگر را کنترل کنید
10000, 2
1.0e-08, 1.0, 0.0
## کنترل پسپردازش
!VISUAL,method=PSR # روش بصریسازی را مشخص کنید
!surface_num=1 # تعداد سطوح در یک رندر سطحی
!surface 1 # محتوای سطح را مشخص کنید
!output_type=VTK # نوع فایل بصریسازی را مشخص کنید
!END # پایان دادههای کنترل تحلیل را نشان میدهد
دادههای کنترل پارتیشنبندی مش hecmw_part_ctrl.dat¶
روش اجرای تحلیل¶
برای اجرای FrontISTR با MPI، ابتدا دادههای مش hinge.msh را به 4 دامنه تقسیم کنید.
خروجی:
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 ایجاد میشوند.
خروجی:
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 اجرا کنید.
(اجرا با 4 فرایند MPI و 1 رشته 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 !! نمایش داده شود، تحلیل کامل شده است.
نتایج تحلیل¶
پس از پایان تحلیل، چند فایل جدید ایجاد میشود.
خروجی:
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 یا ابزارهای مشابه استفاده کنید.

گزارش نتایج تحلیل 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