Translation update pending
The Korean 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절점 2차 사면체 요소 | !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¶
해석 절차¶
MPI로 FrontISTR를 실행하기 위해 먼저 메시 데이터 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
이어서 MPI를 사용하여 FrontISTR 실행 명령 fistr1을 실행합니다.
(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 !!가 표시되면 해석이 완료된 것입니다.
해석 결과¶
해석이 완료되면 여러 파일이 새로 생성됩니다.
실행 결과:
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