2차원 응력 분석
오랜만에 만난 그는 2차원 응력 분석을 직접 경영하며 절차를 남겼다.
원본 코드는 Gist에 연결해 열람할 수 있는데 원본 코드를 표시하기보다 프로그램이 있다는 것을 명확하게 표시하기 위해서다. 원본 코드보다 이런 이미지가 출력되어 방문자의 참고가 되었으면 좋겠다.
Fortran과 Pythhon을 혼합하여 사용하면 큰 의미의 구분은 다음과 같은 느낌을 가진다.
http://kbtkt.web.fc2.com//sub_fem_mesh.html
http://kbtkt.web.fc2.com//sue_fem_plnt.html
사용 프로그램은 거의 스스로 제작한 것으로 자동 격자 제작과 2차원 유한원 응력 분석 프로그램은 다음과 같은 교과서를 바탕으로 한다.
(1) 자동 격자 프로그램
교과서: FEM의 요소를 이용하여 델로니 삼각분할법, 곡구건남 저서, 2006년 8월 10일 제1판 7인쇄 발행, 삼북출판주식회사
교과서의 사각형 격자 분할 절차를 세 부분으로 나누어 포란 90으로 개작하다.
(2) 2차원 유한원법 응력 분석 프로그램
교과서: 컴퓨터 구조 공학 강좌 유한 요소법 구조 해석 프로그램, 삼본 무프 길촌 신민 공동 저서, 소화 54년 5월 10일 초판 제9인쇄 발행, 주식회사 배풍관
교과서의 2차원 탄력성 문제에 대한 프로그램(삼각 1차 요소)은 삼각형의 1차 요소와 사각형 동위원소 파라미터의 1차 요소로 개작되었다. 양자의 혼합 모델은 불가능하다. 또한 1차 방정식을 연립하는 것은 행렬을 띠는 이 스키법으로 해결한다.
2. 프로그램 사용
사용 절차는 다음과 같습니다.
(1) 모델 디스플레이
py_gmt_shape.py
: GMT를 통해 모델 구조의 형태를 제작, 표시합니다.
하는 일,
py_gmt_model.py
: 메쉬 맵에서 하중 및 경계 조건을 기록하는 출력 이미지를 만듭니다.
하는 일,
자동 격자에 대한 원본 데이터를 만들려면 Excel 또는 텍스트 편집기에서 미리 생성합니다.
f90_fem_mesh4a.f90
: 삼각형 요소 생성
f90_fem_mesh4b.f90
: 사각형 요소 생성
f90_fem_mesh4c.f90
사각형 요소 성형
f90_num_mesh.f90
: 노드 번호 최적화. 출력된 격자 데이터를 이 스키에 사용하고 대역폭을 줄이기 위해 노드 번호를 바꿉니다.
f90_gmt_mesh.f90
: GMT를 통해 요소 맵을 출력합니다. 아래 스크립트에서 GMT, figgmt_mesh.eps라는 이미지 파일을 만들고 요소의 분할 상황을 확인합니다.
상기 프로그램은 아래 스크립트에 따라 실행됩니다.
gfortran -o f90_fem_mesh4a f90_fem_mesh4a.f90
gfortran -o f90_fem_mesh4b f90_fem_mesh4b.f90
gfortran -o f90_fem_mesh4c f90_fem_mesh4c.f90
gfortran -o f90_gmt_mesh f90_gmt_mesh.f90
gfortran -o f90_num_mesh f90_num_mesh.f90
range=-6/6/175/185
scale=12/10
gmt set FONT_ANNOT_PRIMARY 10
gmt set MAP_ANNOT_OFFSET_PRIMARY 0.3c
gmt set FONT_LABEL 10p
gmt set MAP_LABEL_OFFSET 0.1c
gmt set MAP_TICK_LENGTH_PRIMARY -0.2c
inp=mesh_arch4.csv
./f90_fem_mesh4a $inp out_work_A.txt
./f90_fem_mesh4b out_work_A.txt out_work_B.txt
./f90_fem_mesh4c out_work_B.txt out_work_C.txt
./f90_num_mesh 4 out_work_C.txt out_mesh.txt
./f90_gmt_mesh 4 out_mesh.txt _inp_gmt.txt
inp=_inp_gmt.txt
fig=fig_gmt_mesh.eps
gmt psxy $inp -R$range -JX$scale -W0.5,black -G255/255/191 -P > $fig
py_model_dat.py : 격자 데이터(상기 성과 텍스트 파일out mesh.txt)에 요소의 물성, 경계 조건, 부하 조건을 첨가하여 해석용 입력 데이터를 제작한다.
프로그램은 통용성이 없지만 모델이 바뀔 때마다 고치면서 사용하는 프로그램이다.
(3) 응력 분석과 결과 표시
f90_fem_plnt.f90
: FEM 응력 분석 프로그램
py_fem_cont.py
: 첫 번째 주응력, 두 번째 응력, 최대 절단 응력의 조절기 도면. 조절기라고 해도 연속적으로 표시되는 것이 아니라 응력치에 따라 요소에 착색된 것이다. 디자인에 있어서 이것을 사용하는 것이 더욱 편리하다.
py_fem_vect.py
: 주응력 벡터맵・위치 모드맵 제작.
상기 프로그램은 아래 스크립트에 따라 실행됩니다. 계산을 실행하고 결과를 읽고 pg 이미지를 출력합니다.
gfortran -o f90_fem_plnt f90_fem_plnt.f90
./f90_fem_plnt inp_arch1.csv out_arch1.csv
python3 py_fem_cont.py out_arch1.csv
python3 py_fem_vect.py out_arch1.csv
GMT도 이 응력 변환기를 표시하는 프로그램을 시도했지만,'응력치에 따라 임의의 모양의 사각형 요소를 채우는 작업'은 충전치에 따라 파일을 만들어야 하는 등 GMT에서는 까다롭기 때문에 파이톤이 기억해 배열한 좌표로 둘러싸인 영역(망상물)을 응력치에 따라 채우는 방법을 채택했다.
또한 GMT에서는 모델 영역을 작은 직사각형으로 분할해 점별 응력값을 내삽해 계산해 변환기를 만드는 방법은 이 예에서 사용되지 않았으나 잘 진행됐다.
3. 성과도
Reference
이 문제에 관하여(2차원 응력 분석), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/damyarou/items/5e7cafe27a469b3d306a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)