Phân tích tĩnh tuyến tính (đàn hồi, song song)¶
Để thực hiện phân tích tĩnh (đàn hồi) với 4 tiến trình song song, sử dụng dữ liệu trong tutorial/02_elastic_hinge_parallel.
Đối tượng phân tích¶
| Hạng mục | Nội dung | Ghi chú | Tham chiếu |
|---|---|---|---|
| Loại phân tích | Phân tích tĩnh tuyến tính | !SOLUTION,TYPE=STATIC | |
| Số nút | 84,056 | ||
| Số phần tử | 49,871 | ||
| Loại phần tử | Phần tử tứ diện bậc hai 10 nút | !ELEMENT,TYPE=342 | Thư viện phần tử |
| Tên vật liệu | STEEL | !MATERIAL,NAME=STEEL | Dữ liệu vật liệu |
| Tính chất vật liệu | ELASTIC | !ELASTIC | |
| Điều kiện biên | Ràng buộc, tải tập trung | ||
| Bộ giải ma trận | CG/SSOR | !SOLVER,METHOD=CG,PRECOND=1 |

Nội dung phân tích¶
Giải nén mã nguồn FrontISTR, chuyển đến thư mục của ví dụ này và kiểm tra rằng các tệp cần thiết cho phân tích sau đây
| Tên tệp | Loại | Vai trò |
|---|---|---|
| hecmw_ctrl.dat | Dữ liệu điều khiển tổng thể | |
| hinge.cnt | Dữ liệu điều khiển phân tích | |
| hinge.msh | Dữ liệu lưới | |
| hecmw_part_ctrl.dat | Dữ liệu điều khiển phân hoạch lưới | Dữ liệu điều khiển khi hecmw_part1 phân chia dữ liệu lưới thành các miền |
đều có.
Kết quả:
Thực hiện phân tích ứng suất bằng cách ràng buộc chuyển vị của các bề mặt ràng buộc và đặt tải tập trung lên bề mặt chịu tải.
Dữ liệu điều khiển tổng thể, dữ liệu điều khiển phân tích và dữ liệu điều khiển phân hoạch lưới được trình bày dưới đây.
Dữ liệu điều khiển tổng thể hecmw_ctrl.dat¶
#
# cho trình phân hoạch lưới
#
!MESH, NAME=part_in,TYPE=HECMW-ENTIRE # Dữ liệu lưới gốc để hecmw_part1 phân chia
hinge.msh
!MESH, NAME=part_out,TYPE=HECMW-DIST # Tên tệp sau khi được hecmw_part1 phân chia
hinge_4
#
# cho bộ giải
#
!MESH, NAME=fstrMSH, TYPE=HECMW-DIST # Chỉ định dữ liệu lưới đã phân chia
hinge_4
!CONTROL, NAME=fstrCNT # Chỉ định dữ liệu điều khiển phân tích
hinge.cnt
!RESULT, NAME=fstrRES, IO=OUT # Chỉ định dữ liệu kết quả
hinge.res
!RESULT, NAME=vis_out, IO=OUT # Chỉ định dữ liệu trực quan hóa
hinge_vis
Dữ liệu điều khiển phân tích hinge.cnt¶
# Tệp điều khiển FISTR
## Điều khiển phân tích
!VERSION # Chỉ định phiên bản định dạng tệp
3
!SOLUTION, TYPE=STATIC # Chỉ định loại phân tích
!WRITE,RESULT # Chỉ định xuất dữ liệu kết quả
!WRITE,VISUAL # Chỉ định xuất dữ liệu trực quan hóa
## Điều khiển bộ giải
### Điều kiện biên
!BOUNDARY
BND0, 1, 3, 0.000000 # Chỉ định bề mặt ràng buộc 1
!BOUNDARY
BND1, 1, 3, 0.000000 # Chỉ định bề mặt ràng buộc 2
!CLOAD
CL0, 1, 0.01000 # Chỉ định bề mặt chịu tải
### Vật liệu
!MATERIAL, NAME=STEEL # Chỉ định thuộc tính vật liệu
!ELASTIC # Định nghĩa vật liệu đàn hồi
210000.0, 0.3
!DENSITY # Định nghĩa khối lượng riêng
7.85e-6
### Thiết lập bộ giải
!SOLVER,METHOD=CG,PRECOND=1,ITERLOG=YES,TIMELOG=YES # Điều khiển bộ giải
10000, 2
1.0e-08, 1.0, 0.0
## Điều khiển hậu xử lý
!VISUAL,method=PSR # Chỉ định phương pháp trực quan hóa
!surface_num=1 # Số bề mặt trong một lần kết xuất bề mặt
!surface 1 # Chỉ định nội dung bề mặt
!output_type=VTK # Chỉ định kiểu tệp trực quan hóa
!END # Cho biết kết thúc dữ liệu điều khiển phân tích
Dữ liệu điều khiển phân hoạch lưới hecmw_part_ctrl.dat¶
Quy trình phân tích¶
Để chạy FrontISTR bằng MPI, trước tiên chia dữ liệu lưới hinge.msh thành 4 miền.
Kết quả:
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
Các tệp mới có tên hinge_4.x và part.inp được tạo ra.
Kết quả:
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
Tiếp theo, chạy lệnh thực thi FrontISTR fistr1 bằng MPI.
(Chạy với 4 tiến trình MPI và 1 luồng 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 !!
Phân tích hoàn tất khi FrontISTR Completed !! được hiển thị.
Kết quả phân tích¶
Khi phân tích hoàn tất, một số tệp mới được tạo.
Kết quả:
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
Các tệp *.res.* là dữ liệu kết quả chứa kết quả phân tích của FrontISTR cho từng nút MPI. Có thể hiển thị chúng bằng REVOCAP_PrePost hoặc các công cụ tương tự.
Các tệp *_vis_* là dữ liệu trực quan hóa và có thể được hiển thị bằng phần mềm trực quan hóa đa dụng. Trong ví dụ này, dữ liệu được xuất ở định dạng VTK, vì vậy hãy dùng ParaView hoặc phần mềm tương tự để hiển thị.

Nhật ký kết quả phân tích 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