Python 2차원 FEM 응력 분석 프로그램

절차의 완성으로서 아래의 투고가 비교적 좋다고 생각합니다. 참고해 주십시오.
  • Pythhon의 2차원 응력 분석 프로그램(사각형 요소)의 이론을 상세히 해설(개정판)
  • 유한 원법과 Pythhon 프로그램 (삼각형의 일차 원소를 사용하는 2차원 응력 분석 프로그램)
  • 개요


    파이톤의 선형 탄성 2차원 FEM 응력 분석 프로그램을 만들어 보았다.
    원소는 원소 네 노드의 동위소 원소로 한 원소는 네 개의 고스 적분점이 있다.
    감당할 수 있는 부하는 다음과 같다.
  • 노드 외력
  • 노드 온도 변화
  • 자중 및 지진시 관성력
  • 이론식


    노드 변위 공식
    $$
    [\boldsymbol{k}]\{\boldsymbol{u}\}=\{\boldsymbol{f}\}+\{\boldsymbol{f_t}\}+\{\boldsymbol{f_b}\}
    $$
    $$
    \begin{align}
    &[\boldsymbol{k}]=t\cdot\int_A [\boldsymbol{B}]^T[\boldsymbol{D}][\boldsymbol{B}] dA\\
    &\{\boldsymbol{f_t}\}=t\cdot\int_A [\boldsymbol{B}]^T[\boldsymbol{D}]\{\boldsymbol{\epsilon_0}\} dA\\
    &\{\boldsymbol{f_b}\}=t\cdot\gamma\cdot\int_A [\boldsymbol{N}]^T [\boldsymbol{N}] dA\cdot\{\boldsymbol{w}\}
    \end{align}
    $$
  • 달러: 원소 강성 매트릭스
  • $\{boldsymbol{u}\}달러: 노드 이동 벡터
  • $\{boldsymbol{f]\}달러: 노드 외력 벡터
  • $\{boldsymbol{ft}\}달러: 온도 변화로 인한 노드력 벡터
  • $\{boldsymbol{fb]\}: 자중, 지진 가속도 기반 노드 벡터
  • $[\boldsymbol{D}]달러: 응력실진 관련 행렬
  • $t$$,$\gamma달러: 요소 두께, 요소 단위 부피 중량
  • $\{boldsymbol{w]\}달러: 노드 가속도 벡터(중력 가속도에 대한 비율로 입력)
  • 원소 응력 계산 공식
    $$
    \{\boldsymbol{\sigma}\}=[\boldsymbol{D}]\{\boldsymbol{\epsilon}-\boldsymbol{\epsilon_0}\}
    $$
    온도 변화로 인한 오류
    노드 위치 이동 - 임의의 위치 오류 관계식
    $$
    \{\boldsymbol{\epsilon}\}=[\boldsymbol{B}]\{\boldsymbol{u}\}
    $$
    $는 원소 내 임의의 점의 오류입니다
    노드 위치 이동 - 임의의 위치 오류 계산 공식
    $$
    \{\boldsymbol{v}\}=[\boldsymbol{N}]\{\boldsymbol{u}\}
    $$
    $원소 내 임의의 점의 위치 이동

    쓸 수 있어요?


    파이톤은 해석기이기 때문에 계산 속도에 유용한지 걱정이 되지만 노드수:3417, 원소수:3257, 자유도:6834의 모델에서의 계산 시간은 7.9초로 사용할 수 있음을 확인할 수 있습니다.

    절차.


    프로그램이 길어서 지스트에 붙은 물건에 링크가 붙어 있다.
    게다가 변환 그림이라고 해도 응력 등급에 따라 색깔 도색 요소를 구분할 뿐이다. 왜냐하면 나의 목적은 삽입값을 해서 윤곽을 그릴 필요가 없기 때문이다.
  • 2D FEM 응력 분석 프로그램(py fem plnt.py)
  • 주 응력 변환 그림 프로그램 (py fig connt.py)
  • 주 응력 벡터 & 변위 모드 그림 그리기 프로그램 (py fig vect.py)
  • 3417 노드 모델의 입력 데이터(inp arch.txt)
  • 입력 데이터 형식

    npoin  nele  nsec  npfix  nlod  NSTR # 基本量
    t  E  po  alpha  gamma  gkh  gkv     # 材料特性
    ..... (1~nsec) .....
    node1  node2  node3  node4  isec     # 要素-節点関係,材料特性番号
    ..... (1~nele) .....
    x  y  deltaT                         # 節点座標,節点温度変化
    ..... (1~npoin) .....
    node  kox  koy  rdisx  rdisy         # 変位拘束条件
    ..... (1~npfix) .....
    node  fx  fy                         # 外力
    ..... (1~nlod) .....
    
    npoin, nele, nsec
    노드 수, 요소 수, 재료 특성 수
    npfix, nlod
    잡기 노드 수
    NSTR
    응력 상태(평면 오류: 0, 평면 응력: 1)
    t, E, po, alpha
    판 두께, 탄성 계량, 파송비, 선팽창 계수
    gamma, gkh, gkv
    단위 부피 중량, 수평 및 수직 가속도(g의 비)
    x, y, deltaT
    노드 x 좌표, 노드 y 좌표, 노드 온도 변화
    node, kox, koy
    구속 노드 번호, x 및 y 방향 무구속(구속: 1, 자유: 0)
    rdisx, rdisy
    x 및 y 방향 이동(제한 없이 0 입력)
    node, fx, fy
    하중 노드 번호, x방향 하중, y방향 하중

    출력 데이터 형식

    npoin  nele  nsec npfix  nlod   NSTR
        4     1     1     2     2      1
      sec               t               E              po           alpha           gamma        gkh        gkv
        1   1.0000000e+00   1.0000000e+03   0.0000000e+00   1.0000000e-05   2.3000000e+00      0.000      0.000
     node               x               y              fx              fy          deltaT   kox   koy
        1   0.0000000e+00   0.0000000e+00   0.0000000e+00   0.0000000e+00   0.0000000e+00     1     1
        2   1.0000000e+00   0.0000000e+00   0.0000000e+00   0.0000000e+00   0.0000000e+00     0     1
        3   1.0000000e+00   1.0000000e+00   0.0000000e+00   1.0000000e+01   0.0000000e+00     0     0
        4   0.0000000e+00   1.0000000e+00   0.0000000e+00   1.0000000e+01   0.0000000e+00     0     0
     node   kox   koy          rdis_x          rdis_y
        1     1     1   0.0000000e+00   0.0000000e+00
        2     0     1   0.0000000e+00   0.0000000e+00
     elem     i     j     k     l   sec
        1     1     2     3     4     1
     node           dis-x           dis-y
        1   0.0000000e+00   0.0000000e+00
        2   8.8817842e-19   0.0000000e+00
        3   1.7763568e-18   2.0000000e-02
        4   4.1448326e-18   2.0000000e-02
     elem           sig_x           sig_y          tau_xy              p1              p2             ang
        1  -7.4014868e-16   2.0000000e+01   1.1333527e-16   2.0000000e+01   0.0000000e+00   9.0000000e+01
    n=8  time=0.044 sec
    
    node, dis-x, dis-y
    노드 번호, x 방향 이동, y 방향 이동
    elme, sig_x, sig_y, tau_xy
    부속품 번호, x방향 직응력, y방향 직응력, 커팅 응력
    p1, p2, ang
    첫 번째 응력, 두 번째 응력, 첫 번째 응력의 방향
    n, time
    전자유도, 시간 계산

    수출 사례



    이상

    좋은 웹페이지 즐겨찾기