有限元软件开发的基本要求,你还差几条?

转载 2011年09月09日 10:37:00

原帖:http://streda.blog.sohu.com/167339051.html


有限元分析软件在几何所有的行业领域里都会碰到。

虽然有许多开源软件可用,但作为出生于高校的开源软件,都是为了研究目的开发的。算算小的问题可以,一旦碰到大规模的问题,就不够用了。

有限元软件的开发综合了计算机、计算数学、应用力学、有限元等各方面的因素,没有个10年8年的积累,还真是干不了这个活儿。

常碰到一些刚毕业的硕士、博士,一开始就雄心勃勃地要搞什么通用有限元软件开发,那是连门儿还没有找到呢。

算起来,从事这个行业也快10个年头了,总结了一下这方面的经验,权当饭后谈资,和大家共同探讨一下吧。

 

1.内存管理(计算机方向)

对于大型有限元软件,对效率要求很高的。在CPU的频率及逻辑内核不断增加,多线程应用很广泛的情况下,内存的使用效率就显著影响了计算过程的效率了。目前竟然还有的程序在内外存缓冲时有64K的容量限值(老的FORTRAN程序中开数组的长度限制),可见咱们的FEA软件的研发水平处于什么程度了。

 

2.网格剖分(图形学/数值计算)

这方面的东西研究的人比较少,各软件公式都急功近利,谁还肯在这种东西上花时间呀。

2D的剖分算法(三角形/四边形)在FEA软件中是重中之重,研究的也最多。千万不要迷信那个什么NETGEN、TETGEN等开源的算法,不灵呀。

 

3.基本单元(有限元方向)

对于杆件单元,普遍认为现有的成果已经很不错了。

膜、板单元似乎各有各的主意,大家都说自己的单元好精度高。尤其是那些加了旋转自由度的膜单元的主儿们,都说自己的主意好,还申请什么专利!搞笑,用梁单元你给timoshenko付了多少钱?

3.静力求解器(应用力学+计算数学+图形学方向)

基本上都是基于LDLT分解算法的,有内存模式、内/外存交换模式、稀疏矩阵存贮系列。目前,稀疏矩阵求解器使用的状况还是不错的。可这方面的资料很少,中国人聪明,赔本赚吆喝的事情国家不作,没有纵向科研经费支持;公司也不作。太聪明了,外国从6、70年代都有专著出版,咱们仅有少的可怜的基本小册子作了蜻蜓点水的介绍而已。

 

4.动力求解器(应用力学+计算数学方向)

还静力求解器比较起来,动力求解器的使用情况还好点。Ritz向量及其改进版、Subspace、Lanczos方法也都用的不错。本身比较简单,上手也快。改一下初始迭代向量就能对某一类特定问题解决漏、伪频的问题,多多少少也还是有点成就感的。

 

5.动力时程分析

基本上用述的基本技术就可以完成了,只需要研究一下3种基本算法的过程就可以了:直接积分系列、振型位移叠加法、振型加速度叠加法。

 

以上说的5个方面的基础,至少掌握了前4个,再开始尝试作有限元软件开发吧,不要把时间都浪费在作一个半拉子产品上。


智慧农业App开发部分文档

1.
  • lixinxinlove
  • lixinxinlove
  • 2015年05月04日 18:39
  • 1110

通用有限元软件简介及比较

一般而言,有限元软件属于科技计算软件,评价标准是为3个:(1)可移植性,能够在各个平台之间传输;(2)可使用性——使用简便,可靠;(3)可维护性——可读,易检验,可扩充。当今世界有限元软件舞台上,最为...
  • anjiuzhen
  • anjiuzhen
  • 2014年01月02日 19:42
  • 1047

对清华有限元板块的看法兼谈怎样学习有限元

发信人: wuhee (无涯的荒野), 信区: FEA标  题: 对清华有限元板块的看法兼谈怎样学习有限元发信站: BBS 水木清华站 (Fri Aug 13 17:08:43 2004), 站内  ...
  • yuanqingfei
  • yuanqingfei
  • 2004年08月14日 20:33
  • 1929

再论有限元方法

Banach 空间,由一组线性
  • lizhengjiang
  • lizhengjiang
  • 2014年11月25日 15:10
  • 929

有限元方法基础入门教程(一维弹性问题的有限元程序)

有限元方法(冯康首次发现时称为基于变分原理的差分方法),是一种用于求解微分方程组或积分方程组数值解的数值技术。这一解法基于完全消除微分方程,即将微分方程转化为代数方程组(稳定情形);或将偏微分方程(组...
  • lusongno1
  • lusongno1
  • 2017年07月29日 20:25
  • 2761

边界元与有限元方法相比较的优缺点

 一本书上关于有限元和边界元的比较,摘录如下:有限元基于区域上的变分原理和剖分插值,边界元基于边界归化及边界上的剖分插值;有限元属于区域法,其剖分涉及到整个区域,而边界元只需对边界离散,...
  • lilyh620
  • lilyh620
  • 2015年12月28日 13:15
  • 1631

做一个专业软件开发必须精通的事项,你还差多少

这两天读bob大叔的《程序员的职业素养》,感觉作为一个专业的软件开发人员不容易,身上顿时感觉压力山大。 bob大叔认为作为一个专业软件开发必须精通以下几点 1、设计模式。必须能描述GOF书...
  • Syvon
  • Syvon
  • 2013年06月20日 12:55
  • 496

面向对象有限元框架设计(OOFEM)

参考OOFEM.org 开发者手册   一, 介绍             oofem 项目是一个高效,健壮的fem求解器,且模块化/扩展性强。   二, 基本框架 ...
  • lizhengjiang
  • lizhengjiang
  • 2014年07月21日 10:48
  • 2047

一个好用的套路

一个好用的套路 要想成为老司机,套路一定要玩得深.在程序开发中也是这样.现在有这样一个需求:      通过观察我们知道这三个界面或者说需求有相同的部分,也有不同的部分. 当然根据他们据点比...
  • u014234061
  • u014234061
  • 2016年08月24日 14:22
  • 246

matlab网格划分程序与matlab有限元的结合

1. distmesh是一个较好的网格划分程序,具体可以参考:http://persson.berkeley.edu/distmesh/   2.matlab有限元可以参考徐荣桥的书 3.这里本人打算...
  • conjimmy
  • conjimmy
  • 2014年02月11日 11:10
  • 17245
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:有限元软件开发的基本要求,你还差几条?
举报原因:
原因补充:

(最多只允许输入30个字)