IceTiki / matrixDisplacementMethod

基于矩阵位移法的结构力学求解器(含绘图模块) | 2D structural-mechanics solver base on matrix displacement method

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

matrixDisplacementMethod

——基于矩阵位移法的二维结构内力图绘制器

image-20220515190240478


简介

基于矩阵位移法的平面结构力学求解器(借助numpymatplotlib模块辅助计算和绘图)。

只需要使用节点Node构件Element结构Struction三个类即可快速组建结构。

在初始化对象时输入结构的相关参数(位置、约束条件、荷载等),即可快速求解并绘图。

详细文档

快速开始

  1. 新建文件夹
  2. 将代码文件夹matrixDisplacementMethod(注意,不要在解压时套了两层文件夹)移动到新建的文件夹内
  3. 创建一个*.py文件,输入以下示例代码。并运行。
  1. 定义节点(输入坐标, 约束条件, 荷载......)
  2. 定义构件(输入两个节点组成一个构件)
  3. 定义结构(输入一个节点,自动寻找所有与之相连的节点和构件)
  4. 计算绘图
from matrixDisplacementMethod import Node, Element, Struction

# 定义节点Node
n1 = Node(position=(0, 0), constraints=(1, 1, 1)) # 定义节点位置、约束情况(x,y,转角)、荷载(见n3节点)
n2 = Node(position=(2, 0))
n3 = Node(position=(2, 1), load=(0, 0, 10))
n4 = Node(position=(3, 1), constraints=(1, 1, 1))
# 定义构件Element
e1 = Element(node=(n1, n2), q=(0, -100)) # 定义杆件由哪两个节点相连、均布荷载的方向与大小(皆使用笛卡尔坐标系)
e2 = Element(node=(n2, n3))
e3 = Element(node=(n3, n4))
# 定义结构Struction
c1 = Struction(first_node=n1) # 选择结构内的一个节点(通过广度优先搜索, 寻找所有相连节点, 建立整个结构)
c1.print_image(output_type=1) # 绘制内力图(多种输出方式)

注意事项

坐标系是数学上常用的右手坐标系(结构力学书上常用左手坐标系)

  • 力在x, y轴正方向为正
  • 力矩逆时针方向为正

各种物理量没有单位,使用前建议将所有物理量的单位统一转换为N/m

链接

Readme CardReadme Card

About

基于矩阵位移法的结构力学求解器(含绘图模块) | 2D structural-mechanics solver base on matrix displacement method

License:Apache License 2.0


Languages

Language:Python 100.0%