简单有限元分析python实现——二维1单元4节点刚度矩阵求解然后得到4个节点的位移和力

这是一个2020年的数值分析作业,通过Python实现了二维1单元4节点的刚度矩阵求解,详细介绍了理论推导过程、边界条件和解题思路,并提供了源代码。虽然K矩阵为奇异矩阵,但功能已成功实现。
摘要由CSDN通过智能技术生成

2020数值分析作业,已成功实现功能,可直接复制代码就能实现

1、先给出大概的理论推导过程

形函数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里取高斯点坐标为Ɛ=-Ƞ=1/,权重为W1=W2=1
在这里插入图片描述

2、边界条件和解题思路如下在这里插入图片描述

3、源代码双手奉上

from math import *
import numpy as np
# from  my_inv import invmat # 自己在网上看的矩阵求逆方法
# from LU import my_LUsolve # LU解线性方程


# 1个单元四个节点
def shapefunction(r,s):#形函数
    N1 = 1 / 4 * (1 - r) * (1 - s)
    N2 = 1 / 4 * (1 + r) * (1 - s)
    N3 = 1 / 4 * (1 + r) * (1 + s)
    N4 = 1 / 4 * (1 - r) * (1 + s)
    return N1,N2,N3,N4

def diffNdr(r,s): # 求dNidr
    dN1dr = 1 / 4 * (-1) * (1 - s)
    dN2dr = 1 / 4 * (1) * (1 - s)
    dN3dr = 1 / 4 * (1) * (1 + s)
    dN4dr = 1 / 4 * (-1) * (1 + s)
    dNdr = [dN1dr,dN2dr,dN3dr,dN4dr]
    return dNdr


def diffNds(r,s): # 求dNids
    dN1ds = 1 / 4 * (1 - r) * (-1
  • 8
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值