plantFEM으로 만든 메쉬 객체를 matplotlib로 그립니다.
6343 단어 JSONplantFEMmatplotlibnumpy
! server.f90
program main
use plantFEM
implicit none
type(FEMDomain_) :: domain
call domain%create(meshtype="Cylinder",x_num=10,y_num=10,z_num=10,x_len=10.0d0,y_len=3.0d0,z_len=2.0d0)
call domain%json(name="domain.json",endl=.true.)
end program main
실행 명령은 여기입니다.
./plantfem run
이 메쉬 객체는 json 형식으로 저장됩니다.
이것을 matplotlib로 그려 보겠습니다.
다음은 그리기 스크립트입니다.
import json
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
json_file = open('domain.json', 'r')
json_object = json.load(json_file)
# メッシュオブジェクト中の節点座標配列を取り出す
nodcoord = np.array(json_object["mesh"]["nodcoord"])
# 以下、matplotlibで描画
#x軸とy軸にラベル付け
fig = plt.figure()
ax = Axes3D(fig)
ax.set_xlabel("x")
ax.set_ylabel("y")
ax.set_zlabel("z")
# 節点を描画
x = nodcoord[:,0]
y = nodcoord[:,1]
z = nodcoord[:,2]
ax.plot(x,y,z,marker="o",linestyle='None')
# 図を表示
plt.show()
여기서는 json 파일 이름을 domain.json으로 지정합니다.
스크립트를 실행하면 3차원 원통형 메시 노드가 그려집니다.
앞으로는
json_object["mesh"]["elemnod"]
에는 커넥티비티 정보가 격납되어 있으므로, 향후는 그쪽을 사용해 메쉬의 묘화를 실시하고 싶습니다.
Reference
이 문제에 관하여(plantFEM으로 만든 메쉬 객체를 matplotlib로 그립니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/soybean/items/1f0c21be1075c86d422d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)