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

Translation update pending

The Thai translation may be out of date because the Japanese source has changed. The existing translation remains available while it is being updated.

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

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