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