2차원 탄성 골격 기하학적 비선형 분석
10951 단어 기하학적 비선형 분석FEMPython뼈대 구조 분석
프로그램 개요
항목
설명
노드 외력 증가
마운트 노드 수, 마운트 노드 번호, 부하 증가 값 지정
노드 변위 제한
변위 제한 노드 수, 제한 노드 번호 지정(전체 제한: 변위 제한=0)
FEM 해결자
Program name
Description
py_fem_gfrmAL.py
평면 골격 기하학적 비선형 구조 분석 프로그램
FEM 분석 실행 스크립트
python3 py_fem_gfrmAL.py inp.txt out.txt nnmax
inp.txt: 데이터 파일 입력(공백 구분자 데이터)
out.txt
: 출력 데이터 파일(공백 구분자 데이터)
nnmax
: 마운트 단계
입력 데이터 형식
npoin nele nsec npfix nlod # Basic values for analysis
E A I # Material properties
..... (1 to nsec) ..... #
node_1 node_2 isec # Element connectivity, material set number
..... (1 to nele) ..... #
x y # Node coordinate of node
..... (1 to npoin) ..... #
lp fix_x fix_y fix_r # Restricted node number
..... (1 to npfix) ..... #
lp df_x df_y df_r # Loaded node and loading conditions (load increment)
..... (1 to nlod) ..... # (omit data input if nlod=0)
npoin, nele, nsec : 노드수, 요소수, 단면 특성수
npfix, nlod
: 잡기 노드 수, 장착 노드 수
E, A, I
: 탄성 계량, 횡단면, 단면 2차 반경
node_1, node_2, isec
: 노드 1, 노드 2, 단면 특성 번호
x, y
: x 좌표, y 좌표
lp, fix_x, fix_y, fix_r
: 노드 번호, x/y/회전 방향 무제한 (0: 자유, 1: 완전 구속)
lp, df_x, df_y, df_r
: 노드 번호, x・y・회전 방향 하중
출력 데이터 형식
npoin nele nsec npfix nlod nnmax
(Each value of above)
sec E A I
sec : Material number
E : Elastic modulus
A : Section area
I : Moment of inertia
..... (1 to nsec) .....
node x y fx fy fr kox koy kor
node : Node number
x : x-coordinate
y : y-coordinate
fx : Load in x-direction
fy : Load in y-direction
fr : Moment load
kox : Index of restriction in x-direction (0: free, 1: fixed)
koy : Index of restriction in y-direction (0: free, 1: fixed)
kor : Index of restriction in rotation (0: free, 1: fixed)
..... (1 to npoin) .....
elem i j sec
elem : Element number
i : Node number of start point
j : Node number of end point
sec : Material number
..... (1 to nele) .....
* nnn=0 iii=0 lam=0.0
node fp-x fp-y fp-r dis-x dis-y dis-r dr-x dr-y dr-r
node : Node number
fp-x : Total load in x-direction
fp-y : Total load in y-direction
fp-r : Total load in rotation
dis-x : Displacement in x-direction
dis-y : Displacement in y-direction
dis-r : Displacement in rotation
dr-x : Un-balanced force in x-direction
dr-y : Un-balanced force in y-direction
dr-r : Un-balanced force in rotation
..... (1 to npoin) .....
elem N_i S_i M_i N_j S_j M_j
elem : Element number
N_i : Axial force of node-i
S_i : Shear force of node-i
M_i : Moment of node-i
N_j : Axial force of node-j
S_j : Shear force of node-j
M_j : Moment of node-j
..... (1 to nele) .....
* nnn=1 iii=xx lam=xxx
node fp-x fp-y fp-r dis-x dis-y dis-r dr-x dr-y dr-r
node : Node number
fp-x : Total load in x-direction
fp-y : Total load in y-direction
fp-r : Total load in rotation
dis-x : Displacement in x-direction
dis-y : Displacement in y-direction
dis-r : Displacement in rotation
dr-x : Un-balanced force in x-direction
dr-y : Un-balanced force in y-direction
dr-r : Un-balanced force in rotation
..... (1 to npoin) .....
elem N_i S_i M_i N_j S_j M_j
elem : Element number
N_i : Axial force of node-i
S_i : Shear force of node-i
M_i : Moment of node-i
N_j : Axial force of node-j
S_j : Shear force of node-j
M_j : Moment of node-j
..... (1 to nele) .....
.... .... ....
* nnn=nnmax-1 iii=xx lam=xxx
node fp-x fp-y fp-r dis-x dis-y dis-r dr-x dr-y dr-r
..... (1 to npoin) .....
elem N_i S_i M_i N_j S_j M_j
..... (1 to nele) .....
n=(total degrees of freedom) time=(calculation time)
fp-x, fp-y, fp-r : x방향 하중, y방향 하중, 회전방향 하중
dis-x, dis-y, dis-r
: x 방향 이동, y 방향 이동, 회전 방향 이동
dr-x, dr-y, dr-r
: x방향 불균형력, y방향 불균형력, 회전방향 불균형력
N, S, M
: 축력, 절단력, 모멘트
n
: 전자유도 (연립 방정식의 원)
time
: 시간 계산
수출 사례
Program name
Description
inp_gfrm_canti.txt
현수막 FEM 분석 입력 데이터
inp_gfrm_cable.txt
케이블이 있는 현수막 FEM 분석 입력 데이터
inp_gfrm_arch.txt
아치형 FEM 해석 입력 데이터
inp_gfrm_lee.txt
프레임 FEM 분석 입력 데이터
py_fig_gfrm.py
부하-위치 곡선 작도 프로그램(matplotlib)
py_fig_gfrm_mode.py
비트맵 제작 프로그램 (matplotlib)
부하-위치 곡선 그리기 프로그램pyfig_gfrm.py
부하 이동 곡선 제작 프로그램pyfig_gfrm.py에서는 통용성을 보여야 하기 때문에 명령줄에서 입력할 때 상당한 혼란이 발생할 수 있습니다.
위치 이동 모드맵 제작 프로그램pyfig_gfrm_mode.py
위치 이동 모드맵 제작 프로그램pyfig_gfrm_mode.py에서는 위치 이동 모드에서만 통용되는 도표를 쉽게 만들 수 있지만 경계 조건을 넣으려면 상당히 복잡해진다. 따라서 만들고자 하는 도표는 4장에 불과하기 때문에 프로그램에서 입력 파일을 지정하고 파일마다 개별적으로 처리한다.
(하중을 나타내는 화살표)
부하를 나타내는 화살표,arow로 쓰여 있다
ax.arrow(x,y,u,v,head_length=hl, ....)
이런 명령은예를 들어, 세로 화살표를 그릴 때는 화살표의 꼬리에서 끝까지의 길이가 (v+head length)라는 점에 유의해야 합니다.
uu=0.0
vv=(ymax-ymin)*0.1
x1=xx[lnod-1]
y1=yy[lnod-1]+vv
hl=vv*0.4
hw=hl*0.5
ax.arrow(x1,y1,uu,-(vv-hl), lw=2.0,head_width=hw, head_length=hl, fc='#555555', ec='#555555')
(고정 끝을 나타내는 기호)
수직 편도 빔의 밑에 있는 고정단을 나타내는 기호를 fill(...hatch='//')로 묘사합니다.
여기fill은 직사각형 영역을 지정하지만 경계선이 필요하지 않기 때문에fill에서 linewidth=0.0을 지정하면 경계선을 그리지 않습니다.
lp=1; x1=x[lp-1]; y1=y[lp-1]
px=[x1-2*scl,x1+2*scl,x1+2*scl,x1-2*scl]
py=[y1,y1,y1-1*scl,y1-1*scl]
ax.fill(px,py,fill=False,linewidth=0.0,hatch='///')
ax.plot([x1-2*scl,x1+2*scl],[y1,y1],color='#000000',linestyle='-',linewidth=1.5)
FEM 계산 실행 / 부하 변위 곡선 작도 프로그램 실행용 스크립트
# FEM calculation by Arc-Length method
python py_fem_gfrmAL.py inp_gfrm_canti.txt out_gfrm_canti.txt 70
python py_fem_gfrmAL.py inp_gfrm_cable.txt out_gfrm_cable.txt 290
python py_fem_gfrmAL.py inp_gfrm_arch.txt out_gfrm_arch.txt 310
python py_fem_gfrmAL.py inp_gfrm_lee.txt out_gfrm_lee.txt 160
# Drawing of Load-displacement curve
python py_fig_gfrm.py out_gfrm_canti.txt 11 11 -411.07 1000 1000 \$u/L\$ $\v/L\$ \$u/L\$\,$\v/L\$ \$P/P_{cr}\$ LL
python py_fig_gfrm.py out_gfrm_cable.txt 12 11 -1644.3 1000 1000 \$u/L\$ \$v/L\$ \$u/L\$\,\$v/L\$ \$P/P_{cr}\$ LL
python py_fig_gfrm.py out_gfrm_arch.txt 21 21 -666.4 -500 -500 \$u/R\$ \$v/R\$ \$u/R\$\,\$v/R\$ \$P\\cdot\(R^2/EI\)\$ UL
python py_fig_gfrm.py out_gfrm_lee.txt 13 13 -166.6 1000 -1000 \$u/L\$ \$v/L\$ \$u/L\$\,\$v/L\$ \$P\\cdot\(L^2/EI\)\$ LL
# Drawing of displacement mode
python py_fig_gfrm_mode.py
python py_fig_gfrm.py out.txt node-L node-D nd-L nd-u nd-v leg-u leg-v x-Label y-Label loc
out.txt : FEM 출력 데이터 파일(공백 구분 데이터)
node-L
: 하중 변위 커브를 그릴 하중 노드 번호
node-D
: 로드 변위 곡선의 변위 그리기 노드 번호
nd-L
: 하중 무량강화용 수치(기호 포함)
nd-u
: x방향 변위 무량강화에 사용되는 수치(기호 포함)
nd-v
: 기호 포함 Y 방향 변위 무량강화 수치입니다.
leg-u
: x 방향 이동 태그(범례용)
leg-v
: y 방향 이동 레이블(범례용)
x-Label
: X축 레이블(Displacement)
y-Label
: y 축 레이블(Load)
loc
: 범례 드로잉 위치
위치 이동 모드 및 부하-위치 곡선 출력 사례
축의 압축력을 받는 현수막 (inp gfrm canti.txt)
L=1,000mm, E=200,000MPa, A=100m$^2$, I=833m$^4$
Initial deflection $v_0$=1mm
Buckling load $P_{cr}=\pi^2 EI/4 L^2$=411.07N
케이블로 앞부분의 팔걸이 빔 당기기 (inp gfrm cable.txt)
Column: L=1,000mm, E=200,000MPa, A=100m$^2$, I=833m$^4$
Cable: L=1,000mm, E=200,000MPa, A=28.3$^2$
Initial deflection $v_0$=5mm
Buckling load $P_{cr}=\pi^2 EI/L^2$=1644.3NN
수직 집중 부하를 받는 비대칭 지지 아치형 (inp gfrm arch.txt)
R=500mm, Center angle=215$^\circ$, E=200,000MPa, A=100m$^2$, I=833m$^4$
수직 집중 부하를 받는 프레임 (inp gfrm lee.txt)
L=1000mm, E=200,000MPa, A=100m$^2$, I=833m$^4$
이상
Reference
이 문제에 관하여(2차원 탄성 골격 기하학적 비선형 분석), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/damyarou/items/f4c82f27bdb180e30c5f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)