pasuka 发表于 2012-6-6 13:15:53

开发带有一定前后处理功能的有限元“玩具"软件设想

本帖最后由 pasuka 于 2012-6-6 13:24 编辑

有限元软件国内外现在非常多,撇去主流的ANSYS、Nastran、Abaqus这样的商业软件不算,开源的简直多如牛毛,某版友也开发过一个读取abaqus的inp文件计算程序,可惜无前后处理界面
abaqus版也有牛人展示过,读取inp、odb和fil文件的后处理软件,这里不多做赘述,跑题了
前段时间贴了大连理工某院士旗下开发的CAE软件,结果负面评价居多,倒是有点想开发一个带有一定前后处理功能的玩具型的有限元软件
设想的初始阶段主要功能:
1、导入/导出inp、bdf、cdb、stl等文件
2、模型的缩放、旋转、平移
3、基本的有限元动力、静力计算
4、计算结果的云图、动画显示功能
中长期的功能:
1、三角形、四面体网格划分
2、施加边界条件
终极目标:仿效联发科的MTK手机平台,把CAE软件产业做成白菜价
设想的开发语言:
GUI界面:Python + wxPython
数值计算:C/C++/Fortran
图像显示:pyOpenGL、VTK
目前可以参考的类似开源程序
pyNastran
pyFormex
pyCAM
Gmsh
CAELinux
Elemer等等
当前困惑的地方:
1、软件的定位:
初步是教学型的玩具软件,但是没有更多思考
2、软件的许可证:
GPL、LGPL、MIT、BSD抑或闭源
开源的好处是,可以直接使用已有的开源代码,增加使用者
开源的坏处是,在国内目前的氛围下,难保有人不会”打磨“后径自宣传100%自主知识产权,拿来申请项目,申报评奖,赚得盆满钵满,且还无处说理
3、用户群体:
显然用户越多越好,否则软件没法发展壮大,但是既然初步设想是”玩具“软件,潜在用户稀少的话,便难以为继,国内外类似的例子很多
4、开发者的回报:
没有稳定的收入或项目支撑,不会有人愿意长期坚持开发,但是国内找到愿意投入的单位或企业简直是水中捞月,即便挂靠大连理工某院士旗下,只怕也很难接受开源的想法,国外很多类似的开源软件如果没有项目支撑也就自生自灭或者沦为自娱自乐型的~
其它诸如,是否考虑用OpenCASCADE、ACIS内核,增加四边形、六面体网格、流固耦合计算、扩展有限元计算,开发语言Matlab、C++是否更好啊~~~~太多了,无力吐糟!
以偶在某外资CAE企业实习的经历来看,在有钞票的前提下,搭一个2、3人的草台班子,花费1年时间,在界面前后处理上基本达到Ansys5.6,计算上实现线性问题的动力、静力计算,并无太大难度,只是这样的软件充其量只能算是玩具而已,对于民营企业来说是赔本生意,对于国企来说采购国外软件的回扣更多,对于研究所、高校来说是鸡肋,不如用盗版的
以上仅仅是一家之言,欢迎大家参与讨论,正面和负面意见都行

hillyuan 发表于 2012-6-7 12:57:08

pasuka 发表于 2012-6-7 12:22 static/image/common/back.gif
1、并不是说开源或者商业软件已经成熟了,就无需再开发新的,毕竟时代在进步,技术在更新;
2、一体化也 ...

回答

1对!没有绝对成熟的东西。那你能不能以一个有代表性的软件为例,指出他们有什么不足,而你的新软件又能导入什么新技术?
2同上你能不能以一个有代表性的软件为例,指出它的程序架构不合理,而你的新软件能解决这些问题
3你认为python这样的script语言能用于computational intensive编程吗?即使是图形显示,当有限元的节点有个上百万时,你有没有考录要多少处理时间。

也许有点吹毛求疵。但你如果没有好好的回答上述问题,你的软件将缺乏存在的理由。

jdbear 发表于 2012-6-6 18:30:47

楼主这个想法很有创意,可以找个风险投资来做!:victory:

caoer 发表于 2012-6-6 21:33:13

本帖最后由 caoer 于 2012-6-6 08:35 编辑

好啊,你带头,我跟你做。呵呵
我就选前处理吧,gird gen是我的兴趣所在。
不过构架师你可得选好。不然将来麻烦事多。
还有我不会python,啊哈。

善意的提醒一下,已经有人做好了基于andorid和 ipad的application。
当然主要功能是读取,显示。没有计算。

tonnyw 发表于 2012-6-6 21:55:37

个人认为
1. 最好做个软件小而精,避免大而全。不妨盯住某一个特定行业。比如石油化工行业,增加后处理功能,可以直接生成符合相关行业标准的应力报告。
2. 软件要有自己的特色,不妨增加近年来出现的新事物,比如 hp自适应,新型Hex网格生成器,新的弹塑性大变形应力积分算法之类的东西。

pasuka 发表于 2012-6-6 22:13:01

jdbear 发表于 2012-6-6 18:30 static/image/common/back.gif
楼主这个想法很有创意,可以找个风险投资来做!

问题在于:
盈利模式在哪里?风投一般是要三年内实现盈利的
找风投,可能还不如找一个艺术品赞助者

pasuka 发表于 2012-6-6 22:16:11

caoer 发表于 2012-6-6 21:33 static/image/common/back.gif
好啊,你带头,我跟你做。呵呵
我就选前处理吧,gird gen是我的兴趣所在。
不过构架师你可得选好。不然将来 ...

其实类似的后处理程序,国内应该有很多,可能大多数并未开源
abaqus版,不是某人展示过了,C++代码,显示用opengl
网格生成是个难点,尤其是四边形和六面体网格,没有特别好的解决办法

pasuka 发表于 2012-6-6 22:25:19

tonnyw 发表于 2012-6-6 21:55 static/image/common/back.gif
个人认为
1. 最好做个软件小而精,避免大而全。不妨盯住某一个特定行业。比如石油化工行业,增加后处理功能 ...

恩,和成熟商业软件的功能相比,一开始只能对照着做减法,把暂时无法实现或用不上的功能砍掉,否则会贪多嚼不烂
至于新的算法其实就看个人喜好了,扩展有限元、单位分解有限元也都是可以参考的点

liuichini 发表于 2012-6-7 02:56:48

本帖最后由 liuichini 于 2012-6-7 02:59 编辑

楼主的这个设想里,最靠谱的是文件转换部分,至于前后处理,我看好Salome,自己从头搞估计很难超过这个东西。至于求解器,我看好oofem,而不是elmer。另外,搞裂纹计算,似乎warp3d也是不错的选项,有点遗憾的是,那玩意是fortran的。
几何内核,occ是开源的,acis貌似是开源的,或者是parasolid?我的印象中三大内核中除了occ肯定开源外,还有一个貌似也是开源的,但肯定没有occ那么开放。其实就选occ就很好了。
还有一项功能,难于实现,但却很有用,那就是几何修补。
python确实很好,但貌似很难搞懂,我原来玩过一阵子perl,觉得还是perl好懂点。不过,不管是哪个,普通用户要弄明白并以此作为二次开发语言,都不会太容易吧。当然话说回来,真的容易了,好像功能是不是也就受到限制了?软件自带的开发语言,我用过dmap和apdl,也许是年龄的关系,我还是喜欢dmap一些(学这玩意的时候年轻一些) ,曾经写过一个完整的求解序列,感觉功能也还行,所以我也曾经设想如果要搞一个楼主所设想的这么个软件的话,也顺便弄一个类似于dmap的东西,既有比较强大的功能,又简单易学。
开源不开源的确实是个大问题!
所以,想来想去,最后恐怕还是一场空。出路或许就是要舍得!先有舍而后才能得。

liuichini 发表于 2012-6-7 03:01:14

而文件转化部分也有麻烦,人家老是在更新升级,跟着升级也是一件麻烦的事。

tonnyw 发表于 2012-6-7 06:58:57

美国有很多小的有限元软件公司。Adina不到二十个人,ESRD也就七八个人。搞软件需要有特色,有特色才有生存能力。

tonnyw 发表于 2012-6-7 07:02:45

liuichini 发表于 2012-6-7 02:56 static/image/common/back.gif
楼主的这个设想里,最靠谱的是文件转换部分,至于前后处理,我看好Salome,自己从头搞估计很难超过这个东西 ...

对于一些英语简写,楼主能否给出一些链接或者简要说明?很多都是头一次听说,不知道具体内容。

hillyuan 发表于 2012-6-7 09:40:21

=> 在有钞票的前提下,搭一个2、3人的草台班子,花费1年时间,在界面前后处理上基本达到Ansys5.6,计算上实现线性问题的动力、静力计算,并无太大难度
这一估计大致靠谱,但要加一条件 -- 开发者有充分的能力。以我的经验,这样的人才并不太多,比如说大连理工某院士旗下大概没有。

但你似乎首先要回答一个问题,你为什么要开发一个新的软件?现在类似软件满天飞,其中优秀的open source也不少?你要超过他们?亦或纯粹自己玩玩?如只是玩玩,干自己想干的即可。如想靠他赚钱,靠你上面写的东西,似乎不可能

pasuka 发表于 2012-6-7 10:18:56

liuichini 发表于 2012-6-7 02:56 static/image/common/back.gif
楼主的这个设想里,最靠谱的是文件转换部分,至于前后处理,我看好Salome,自己从头搞估计很难超过这个东西 ...

文件转换部分其实有很多商业、开源代码了,只不过有些商业软件的二进制文件读写需要购买相应的api
occ是开源的,剩下两个都不是,但是要把occ吃透了,就不是那么简单了,几何修补也是类似情况,二者都精通的人年薪至少得20w
所以现在只是空想阶段而已

pasuka 发表于 2012-6-7 10:24:39

本帖最后由 pasuka 于 2012-6-7 10:25 编辑

hillyuan 发表于 2012-6-7 09:40 static/image/common/back.gif
=> 在有钞票的前提下,搭一个2、3人的草台班子,花费1年时间,在界面前后处理上基本达到Ansys5.6,计算上实 ...
填补国内空白,做为孵蛋的母鸡,促进国内相关软件的发展,希望是开源的
但是问题就在于钞票、何种盈利模式,人才倒是次要因素,有合理的薪酬不愁找不到人
按照目前设想而开发的软件基本上是温室里的豆芽菜,没有任何商业上的竞争力

liuichini 发表于 2012-6-7 10:29:02

tonnyw 发表于 2012-6-7 07:02 static/image/common/back.gif
对于一些英语简写,楼主能否给出一些链接或者简要说明?很多都是头一次听说,不知道具体内容。 ...

我在那里提到的鬼子词,严格说来应该只有occ是简写了,我因为是临屏凭记忆写的,还搞错了,一般来说有两种说法,一种就是我这里用的occ,全称是Open Cascade,还有一种就是Cascade,当然后者是严格意义上的几何内核名称,前者应该是一个开源实现,但貌似在商业软件中的实现也是照抄的occ,不过,我对这点不是很确定,只是当时浏览器网站时得到了这么一个印象。当然,也可以说acis是缩写,甚至parasolid也是缩写,不过,这两大几何内核比Cascade还要有名,如果要想多了解一点有限元前处理的话,我想多少应该听说过这两大内核的名字。

那些词中可能也就dmap生僻一点,apdl是ansys的脚本语言,dmap就是nastran所对应的东西。阁下大概不用ansys,所以对apdl不熟悉,一般来说凡是用ansys的人都应该知道apdl吧,

现在python大行其道,但至少有一阵子perl比python牛叉吧,也是跟python一样,是一种开源脚本语言。

其他的都是开源项目名称,而且也都是比较大的仍然在更新着的开源项目名称。

当然,我为了偷懒,凡是要大写的地方都小写了,可能看起来有些别扭。抱歉了。

liuichini 发表于 2012-6-7 10:30:56

hillyyuan提了一个很好的问题,我也想听听楼主怎么看这个问题。:P

pasuka 发表于 2012-6-7 10:31:57

tonnyw 发表于 2012-6-7 07:02 static/image/common/back.gif
对于一些英语简写,楼主能否给出一些链接或者简要说明?很多都是头一次听说,不知道具体内容。 ...

occ的主页,是法国人开发的
http://www.opencascade.org/
caelinux的主页,有一大堆开源CAE软件
http://www.caelinux.com/CMS/

liuichini 发表于 2012-6-7 10:36:01

我那里提到了elmer,我猜测应该楼主说的elemer就是我说的elmer,楼主可能是多带了个字母进去了。

所有这些开源项目都可以i用相关的开源项目名称搜索到其主页,对比一下人家的主页,再看看我们那个Si舍呢么的主页,真是无语呀!

liuichini 发表于 2012-6-7 10:42:13

pasuka 发表于 2012-6-7 10:18 static/image/common/back.gif
文件转换部分其实有很多商业、开源代码了,只不过有些商业软件的二进制文件读写需要购买相应的api
occ是 ...

关于文件转换部分的开源代码,能否请多谈点?

几何修补难度太大,但对用户而言又非常有用,我觉得可能最好的解决办法就是干脆从源头解决,让CAD的几何向CAE靠拢,我觉得应该不是什么难事,至少ideas就做到了。

pasuka 发表于 2012-6-7 10:53:17

本帖最后由 pasuka 于 2012-6-7 10:54 编辑

liuichini 发表于 2012-6-7 10:42 static/image/common/back.gif
关于文件转换部分的开源代码,能否请多谈点?

几何修补难度太大,但对用户而言又非常有用,我觉得可能最 ...
网上搜索呗~
功能不够完整,只是基本的节点、单元信息读取
读取inp的话,参考
http://code.google.com/p/femio/
读取bdf的话,参考
http://code.google.com/p/pynastran/
此外,Gmsh也带有输出bdf文件的选项
商业化的软件,HM、Ansa都是
对于acii码的文件,只要有说明书,都可以实现
对于二进制的文件,要麻烦些
页: [1] 2 3 4 5 6
查看完整版本: 开发带有一定前后处理功能的有限元“玩具"软件设想