ข้ามไปที่เนื้อหา

การวิเคราะห์สถิตเชิงเส้น (ยืดหยุ่น, แบบขนาน)

ในการดำเนินการวิเคราะห์สถิต (ยืดหยุ่น) แบบขนาน 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

โดเมนการคำนวณของแต่ละโหนด

รูป 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 ออกเป็น 4 โดเมน

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

(รันด้วย MPI 4 กระบวนการแบบขนาน และ OpenMP 1 เธรด)

##################################################################
#                         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 เป็นต้นในการแสดงผล

ผลการวิเคราะห์ความเค้น von Mises (แสดงด้วย VTK)

รูป 4.2.2 ผลการวิเคราะห์ความเค้น von Mises (แสดงด้วย 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
AI-assisted translation May contain errors Official docs Status