找回密码
 注册
Simdroid-非首页
查看: 216|回复: 0

[H. 有限元编程] Python有限元框架的求解实例步骤

[复制链接]
发表于 2018-11-23 16:03:28 | 显示全部楼层 |阅读模式 来自 湖北武汉
本帖最后由 Iwin4FuN 于 2018-11-23 16:05 编辑

使用feon求解如下图所示二维杆系统。

Feon使用非常简单,只包含3种数据结构,分别为节点,单元和系统。求解过程如下。

#从feon.sa(结构分析子包)中导入所有的对象
from feon.sa import *

if __name__ == "__main__":

    #定义材料参数
    E = 210e6
    A = 0.005
    K = 79e3

    #通过Node对象创建节点,需要节点左边
    n0 = Node(0,0)
    n1 = Node(5,0)
    n2 = Node(10,0)
    n3 = Node(15,0)
    n4 = Node(5,7)
    n5 = Node(10,7)
    n6 = Node(15,-1)

    #通过节点创建单元,Link2D11为杆单元
    e0 = Link2D11((n0,n1),E,A)
    e1 = Link2D11((n1,n2),E,A)
    e2 = Link2D11((n2,n3),E,A)
    e3 = Link2D11((n4,n0),E,A)
    e4 = Link2D11((n4,n1),E,A)
    e5 = Link2D11((n4,n2),E,A)
    e6 = Link2D11((n4,n5),E,A)
    e7 = Link2D11((n5,n2),E,A)
    e8 = Link2D11((n5,n3),E,A)

    #创建弹簧单元
    e9 = Spring2D11((n3,n6),K)

    #创建一个有限元系统
    s = System()

    #将节点和单元添加到系统中
    s.add_nodes(n0,n1,n2,n3,n4,n5,n6)
    s.add_elements(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9)

   #添加力边界条件
    s.add_node_force(4,Fx = 30)

    #添加固定支座,输入节点的编号0和6
    s.add_fixed_sup(0,6)

    #求解系统
    s.solve()



F5运行,接下来就可以查看结果。

#查看节点的水平和竖向位移。
>>> [nd.disp['Ux'] for nd in s.get_nodes()]
[0.0, 9.523809523809531e-05, 0.00019047619047619062, 0.00023809523809523823, 0.0005274897818499395, 0.0004798707342308918, 0.0]
>>> [nd.disp['Uy'] for nd in s.get_nodes()]
[0.0, -0.00020356152587617328, -0.00027106862998363895, -0.00017721518987341765, -0.00020356152587617328, -0.00017773529665030566, 0.0]

#查看单元轴力
>>> [el.force['N'] for el in s.get_elements()]
[array([[-20.],
       [ 20.]]), array([[-20.],
       [ 20.]]), array([[-10.],
       [ 10.]]), array([[-17.20465053],
       [ 17.20465053]]), array([[0.],
       [0.]]), array([[ 17.20465053],
       [-17.20465053]]), array([[ 10.],
       [-10.]]), array([[-14.],
       [ 14.]]), array([[ 17.20465053],
       [-17.20465053]]), array([[ 14.],
       [-14.]])]


更多例子可关注github开源链接

Feon

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-25 14:30 , Processed in 0.026282 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表