python有限元例题_《有限元分析基础教程》(曾攀)笔记一-二维杆单元有限元程序(基于Python)...

曾攀老师的《有限元分析基础教程》第三章有二维杆单元的推导,并结合一个例题进行了解析解和基于Matlab的程序求解。但是我感觉书中的MATLAB代码有点罗嗦,而且一些实现方法也比较麻烦,比如已经知道了杆单元的起点和终点坐标,仍然需要另外给出单元局部坐标与整体坐标的夹角,这完全没必要。于是我就用Python重构了这段程序,当然并不是把书中的MATLAB代码翻译成python(事实上完全可以这么干,而且很快!)。比如我使用了面向对象的思想,把杆单元写成了一个类,这样思路比较清晰。

#! /usr/bin/python#-*- coding: utf-8 -*-

importmathimportnumpy as np

sqrt, cos, sin, pi=math.sqrt, math.cos, math.sin, math.pi"前处理"nodeNumber= 4KK= np.zeros((2*nodeNumber, 2*nodeNumber))"""边界条件,U表示节点的位移向量,如果某个自由度的位移未知,则该处填写‘u_Unknown’,

F表示节点的荷载向量,如果某个自由度的荷载未知,则该处填写‘f_Unknown’"""U= np.array([0, 0, ‘u_Unknown‘, 0, ‘u_Unknown‘, ‘u_Unknown‘, 0, 0], dtype=object)

F= np.array([‘f_Unknown‘, ‘f_Unknown‘, 2e4, ‘f_Unknown‘, 0, -2.5e4, ‘f_Unknown‘, ‘f_Unknown‘], dtype=object)classBar2D:"""定义二维杆单元类ÿ

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值