|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 导入必要的模块
import numpy as np
# 函数,计算弹簧单元刚度矩阵
def ele_K(K):
Ke = np.array([[K,-K],[-K,K]])
return Ke
print(ele_K(4))
dimen = 1 # 一维
K1 = 4.0
K2 = 6.0
K3 = 3.0
# 节点坐标阵
node_coord = np.array([0.0,1.0,2.0,3.0])
# 单元节点阵
ele_node = np.array([[1,2],[2,3],[2,3],[3,4]])
# 外力向量
F = np.array([0.0,-30.0,0.0,50.0])
K = np.array([K1,K2,K2,K3])
# 总的自由度数
ndof = dimen*len(node_coord)
# 初始化总体刚度阵
K_total = np.zeros((ndof,ndof))
print(K_total)
# 计算总体刚度阵
for e in range(0,len(ele_node)):
n1 = ele_node[e][0]-1
n2 = ele_node[e][1]-1
K_total[np.ix_([n1,n2],[n1,n2])] += ele_K(K[e])
print(K_total)
这个代码里面,最后一句K_total[np.ix_([n1,n2],[n1,n2])] += ele_K(K[e]),里面的[n1,n2],[n1,n2],这个含义是什么? |
|