案例1

给出4个弹簧的劲度系数,离散后,求其总的刚度矩阵。
**代码:**
```
import numpy as np
k1, k2, k3, k4 = 500, 250, 2000, 1000
ki = np.array([k1, k2, k3, k4])
p = 1000
K = np.matrix(np.zeros((4, 4)))
eindex = [K[0:2, 0:2], K[1:3, 1:3], K[0:3:2, 0:3:2], K[2:, 2:]]
for i in range(4):
ke = ki[i] * np.array([[1, -1], [-1, 1]])
eindex[i] += np.matrix(ke)
print(K)
```
**结果如下:**
[[ 2500. -500. -2000. 0.]
[ -500. 750. -250. 0.]
[-2000. -250. 3250. -1000.]
[ 0. 0. -1000. 1000.]]

案例2

两根杆的实例。
**代码分析:**
```
import numpy as np
# 系统的初始参数如下:
A1, A2, L1, L2, E1, E2 = 2400, 600, 300, 400, 7e4, 2e5
# 计算每根杆的刚度
k1 = (E1*A1/L1)*np.array([[1, -1], [-1, 1]])
print('k1', k1)
k2 = (E2*A2/L2)*np.array([[1, -1], [-1, 1]])
print('k2', k2)
ki = [k1, k2]
# 初始化总的刚度矩阵、力以及位移
K, F, d = np.zeros((3, 3)), np.zeros((3, 1)), np.zeros((3, 1))
print(K)
print(F)
print(d)
# 组装总的刚度矩阵
eindex = [K[0:2, 0:2], K[1:, 1:]]
for i in range(2):
eindex[i] += ki[i]
print(K)
# 给出力向量
F[1] = 200000
print(F)
# 求解过程
KK = K[1, 1]
FF = F[1]
dd = FF/KK
d[1] = dd
print(d)
```
**计算结果:**
1. 每根杆的刚度矩阵
k1 [[ 560000. -560000.]
[-560000. 560000.]]
k2 [[ 300000. -300000.]
[-300000. 300000.]]
2. 总的刚度矩阵
[[ 560000. -560000. 0.]
[-560000. 860000. -300000.]
[ 0. -300000. 300000.]]
3. 力向量
[[ 0.]
[200000.]
[ 0.]]
4. 求解的位移向量
[[0. ]
[0.23255814]
[0. ]]

专业方向系列-00-Python与有限元初探的更多相关文章

  1. saltstack自动化运维系列⑩SaltStack二次开发初探

    saltstack自动化运维系列⑩SaltStack二次开发初探 1.当salt运行在公网或者网络环境较差的条件下,需要配置timeout时间vim /etc/salt/master timeout: ...

  2. IDT系列:(一)初探IDT,Interrupt Descriptor Table,中断描述符表

    原文:  IDT系列:(一)初探IDT,Interrupt Descriptor Table,中断描述符表 IDT,Interrupt Descriptor Table,中断描述符表是CPU用来处理中 ...

  3. 【系列】Python编程思想(1):Python简介与开发环境搭建

    李宁老师的 开始学习.   本系列文章深入介绍了Python的各种技术,堪称是目前最全的Python教程.主要目的是让读者可以了解Python的各种核心技术,包括各种Python函数库.本教程使用Py ...

  4. C#进阶系列——DDD领域驱动设计初探(一):聚合

    前言:又有差不多半个月没写点什么了,感觉这样很对不起自己似的.今天看到一篇博文里面写道:越是忙人越有时间写博客.呵呵,似乎有点道理,博主为了证明自己也是忙人,这不就来学习下DDD这么一个听上去高大上的 ...

  5. C#进阶系列——DDD领域驱动设计初探(二):仓储Repository(上)

    前言:上篇介绍了DDD设计Demo里面的聚合划分以及实体和聚合根的设计,这章继续来说说DDD里面最具争议的话题之一的仓储Repository,为什么Repository会有这么大的争议,博主认为主要原 ...

  6. C#进阶系列——DDD领域驱动设计初探(三):仓储Repository(下)

    前言:上篇介绍了下仓储的代码架构示例以及简单分析了仓储了使用优势.本章还是继续来完善下仓储的设计.上章说了,仓储的最主要作用的分离领域层和具体的技术架构,使得领域层更加专注领域逻辑.那么涉及到具体的实 ...

  7. C#进阶系列——DDD领域驱动设计初探(四):WCF搭建

    前言:前面三篇分享了下DDD里面的两个主要特性:聚合和仓储.领域层的搭建基本完成,当然还涉及到领域事件和领域服务的部分,后面再项目搭建的过程中慢慢引入,博主的思路是先将整个架构走通,然后一步一步来添加 ...

  8. C#进阶系列——DDD领域驱动设计初探(五):AutoMapper使用

    前言:前篇搭建了下WCF的代码,就提到了DTO的概念,对于为什么要有这么一个DTO的对象,上章可能对于这点不太详尽,在此不厌其烦再来提提它的作用: 从安全上面考虑,领域Model都带有领域业务,让Cl ...

  9. C#进阶系列——DDD领域驱动设计初探(六):领域服务

    前言:之前一直在搭建项目架构的代码,有点偏离我们的主题(DDD)了,这篇我们继续来聊聊DDD里面另一个比较重要的知识点:领域服务.关于领域服务的使用,书中也介绍得比较晦涩,在此就根据博主自己的理解谈谈 ...

随机推荐

  1. Windows下 Robhess SIFT源码配置

    Robhess OpenSIFT 源码下载:传送门 为了进一步学习SIFT,选择论文就着代码看,在VS2013.OpenCV2.4.13下新建项目,跑一跑经典之作.由于将代码和Opencv配置好后还会 ...

  2. 字符驱动之二操作方法(struct file_operations)【转】

    转自:http://blog.chinaunix.net/uid-26837113-id-3157515.html 从上一篇我们看到了字符驱动的三个重要结构,那我现在跟大家详细的说说 struct f ...

  3. WampServer配置

    本机php环境搭建教程:windows环境下wampserver的配置教程--超级详细 对于初做PHP网站的朋友来说,第一步肯定是希望在自己电脑是搭建PHP环境,省去空间和上传的麻烦!但搭建环境也不是 ...

  4. jQuery性能优化指南

    总是从ID选择器开始继承在jQuery中最快的选择器是ID选择器,因为它直接来自于JavaScript的getElementById()方法. 例如有一段HTML代码:代码 <div id=&q ...

  5. Coursera台大机器学习技法课程笔记07-Blending and Bagging

    这一节讲如何将得到的feature或hypothesis组合起来用于预测. 1. 林老师给出了几种方法 在选择g时,需要选择一个很强的g来确保Eval最小,但如果每个g都很弱该怎么办呢 这个时候可以选 ...

  6. TestNG测试方法

    @Test(enabled = false)有助于禁用此测试用例. 分组测试是TestNG中的一个新的创新功能,使用<groups>标记在testng.xml文件中指定分组. 它可以在&l ...

  7. hdu5646数学构造+二分

    /* 满足n>=(k+1)*k/2的整数n必定满足 a+(a+1)+...+(a+k-1)<=n<=(a+1)+(a+2)+...+(a+k) 只要在[a,a+k]中减掉一个数字ai ...

  8. JavaScript错误:Maximum call stack size exceeded错误

    错误的表面意思是,因为递归次数太多而内存溢出, 当然引起溢出的原因很多 找了下问题来源,发现引用了两个版本的jquery,在layout.cshtml母模块页中和视图中都引用了jq.导致循环调用,从而 ...

  9. 解决在使用pip list时出现DEPRECATION

    在C:\Users\Administrator下建立pip文件夹,在pip下新建pip.ini:内容为: [list]format=columns

  10. Journal of BitcoinJ 从clone开始

    启动Powershell cd D:\workspace mkdir BitcoinJ git init