用户登录

你在这里

开源有限元代码的现状如何?

fem广泛应用于教育、研究和工业领域。有一个充满活力的社区来发展开源有限元代码的前景如何?这样的社区和代码有什么潜在的好处?有人试过吗?

据推测,无论谁积极参与这项工作,都可能得到政府资助机构和行业的支持。

免费的标签:

看到http://www.ce.berkeley.edu/~rlt/feap/.该代码售价750美元。

索志刚的照片

我看了你给的网站,但信息似乎有限。你使用FEAP吗?它与商业代码ABAQUS相比如何?你在这个开源FEM社区工作吗?

我们在杜克大学的计算力学实验室经常使用FEAP,过去也使用过ABAQUS。此外,我们以前的几个博士生现在为ABAQUS工作。所以我就说说我的想法。

在研究有限元素和有限元素方法的世界里,既有分析人员也有开发人员。在这里,我将分析人员定义为将FEM主要视为工具的人,类似于相当复杂的计算器。例如,分析人员可能对研究组合梁的偏转或薄膜的屈曲感兴趣。然而,分析人员很少对修改代码本身的细节感兴趣。

对于分析师来说,ABAQUS是一个很棒的代码。它提供了一个合理的用户界面,可以访问*一些*子例程,并且技术支持随时可用。

另一方面,开发人员关心的是数值方法本身的发展。有限元开发人员关注的是该方法的技术挑战。例如,处理任意域上的四阶问题的最佳方法是什么?由于各种原因,经典有限元法在这方面做得不太好。发展的另一个问题涉及强耦合场现象(例如流体结构相互作用或力平衡/传质)的解决战略。如果不能直接修改代码的任何部分(不仅仅是一个子例程),几乎不可能研究这些问题。

FEAP是开发人员的优秀代码。代码的大部分核心是透明的,元素例程相对容易理解,并且在大多数情况下是高效的。它是为研究人员设计的,他们可能曾经自己写过一个小的有限元代码。

索志刚的照片

John:非常感谢你对FEAP和ABAQUS的比较。

现在,关于另一个方面的问题。是否有一个社区在开发FEAP,就像一个社区在开发其他知名的开源项目一样,比如Firefox?对于像你我这样的普通用户来说,Firefox的市场份额可能只有10%左右。像FEAP这样的项目会产生分析师可用的产品吗?

或者FEM只是从性质上不同于浏览器,所以做这样的比较没有意义?

假设您已经修改了FEAP,然后下一个FEAP发布了。你会怎么做?FEAP是否足够模块化,以便您可以将您的修改从一个版本插入到另一个版本?作为用户,您可以为FEAP做出贡献吗?你是怎么做到的?

我只是好奇这项重要的技术是如何被开发出来的。请慢慢看。我不着急。或者让你在ABAQUS的一些学生来解释这些问题。

肯定有一群人经常在FEAP上工作。从iMechanica所代表的社区的意义上来说,我并不一定会称它们为社区。万博manbetx平台他们中的一些人彼此交换信息和代码片段,另一些人只与Bob Taylor交换。

有很多人使用FEAP来做分析工作。然而,我不认为这是鲍勃·泰勒的目标。我认为整个项目与Firefox相比是非正式的。

FEAP是模块化的。人们通常可以将你在一个版本中所做的更改移植到另一个版本中,前提是你没有对代码的基本结构做太大的改动。我确信Bob还合并了开发人员建议或发送给他的更改或子例程。

在我看来,没有更活跃的开源有限元项目的一个原因是,即使是计算力学社区的一小部分人也很难就基本规则达成一致。即使是最基本的问题,比如应该用什么语言来写,也可能是有争议的。

志刚:非常感谢你向我推荐这个网站。今天早上我快速浏览了一下,发现里面有各种有趣的信息,是我以前不知道的。我完全同意上面的许多评论。在有限元界有两种不同的人。一类是有限元素方法或有限元素程序的使用者(或分析家)。他们需要高度健壮的、文档完备的、经过充分验证的代码和良好的技术支持来解决他们的问题,但他们对计算实际上是如何进行的并不感兴趣。只有商业有限元程序,如ABAQUS,才能满足他们的需求。与此同时,另一组人,有限元素方法的研究人员和开发人员,将乐于获得成熟可靠的源代码,这些源代码可以作为他们开发新算法的基础和构建模块,以解决以前从未解决过的问题。所以我认为商业有限元代码和开源有限元代码可能会同时存在。一个不能被另一个取代,因为他们满足不同的人的需求。

我使用Firefox已经有很长一段时间了。但即使火狐拥有10%的用户份额,我仍然会使用它。

志刚:我们是FEAP的初学者。ABAQUS是一个很棒的软件,但它只能用于解决“常规”问题。当我们想要获得更多自由时,例如在我们最近正在做的蛋白质机制中,我们总是受到ABAQUS所犯的未知问题/错误的限制。因此,通过使用FEAP或其他开放源代码对问题有更多的控制是有益的;我们仍在比较几个代码,看看哪个更适合我们的目的。同时,对于像缩进这样的“常规”问题,我想说ABAQUS工作得更好,它现在几乎是学术界的“标准”。例如,我的一个博士后喜欢使用ANSYS,有时我们甚至会收到论文评论,问我们为什么不用ABAQUS……我同意John的观点,这两个工具对研究计算力学的人都非常有用。

滕力的照片

这可能有点偏离这里的主题,但可能会很有趣。谢谢。

Teng教授说,很多问题ABAQUS不能有效地处理,如蛋白质-水的相互作用和溶剂化,热涨落等。

假设您已经修改了FEAP,然后下一个FEAP发布了
出去了。你会怎么做?FEAP是否足够模块化以便您可以插入
你从一个版本到另一个版本的修改?作为用户,
你能对FEAP做出贡献吗?你是怎么做到的?

谢谢

短剑

模块化是FEAP设计的一部分;如果你坚持通过材质、元素、网格命令、解决方案命令、绘图命令等许多用户界面来修改东西,那么你在更新方面是相当安全的。如果你在代码的内部捣鼓,那么你需要更加小心。也就是说,如果你做了一些侵入性的事情,但它不仅对你有用,而且对其他人有用,那么Taylor教授经常会在下一个代码版本中包含你开发的功能(可能会重新编写它们)。

Sanjay Govindjee教授
加州大学伯克利分校

克里斯蒂安·林德的照片

你甚至可以从泰勒教授的网页下载免费的个人版本FEAPpvhttp://www.ce.berkeley.edu/~rlt/feappv.这将是一个学习结构和一般使用格式的良好开端。由于FEAP和FEAPpv共享相同的输入信息,迁移到FEAP是很简单的。

西

谢谢你提供的信息。

在我来美国之前,我有一份代码的副本(教育版本),发现它非常有用。我听说了更多,特别是那些先进的求解器,已经集成到它,但我想知道如何才能访问它。希望他们还在分发源代码——请直接联系他们。谢谢aagain。

Qingda

有一个FEM的公海,是由我在加州大学伯克利分校的同事开发的。我会试着为你找到更多的信息。

其他开放源代码的有限元代码

  1. 交易http://www.dealii.org
  2. Libmeshhttp://libmesh.sourceforge.net
  3. OpenFemhttp://www-rocq.inria.fr/OpenFEM
N.苏库马尔的照片

有限元建模已经成为一种无处不在且功能强大的仿真工具,以至于公共领域的软件包几乎不可能满足潜在用户在功能方面的最基本需求。对于研究固体力学的人来说,静态/动态分析(隐式和显式)、非弹性材料定律、有限应变运动学和非线性求解方案等特征将是起点。在此基础上,你可以添加愿望列表:失效/损伤建模,复杂几何网格,接触,多物理,这个列表很快就不再是可管理的。考虑到一旦一个人偏离线性,有限元公式往往也变得更加复杂(混合公式,减少积分),细微之处不能再被忽视。最重要的是,准确性和稳健性是必不可少的。因此,要实现这一目标,有限元的发展只能由ABAQUS、ANSYS等能够满足行业需求的公司来支撑。软件的质量保证、验证和确认是至关重要的,我确信在新版本发布之前,这些公司会在这些方面花费大量的时间。

在我看来,至少在力学领域,计算软件开发本身并不被视为一项重要的研究活动,这种努力很少得到支持。它更多地被视为一种达到目的(模拟)的手段,因此通常内部研究代码正在开发,以满足不同群体的特定需求。少帆提到了OpenSees该项目是结构工程界的一项努力,旨在为地震模拟创建一个单一平台。这是我的理解(这里有一些人正在使用它),它有许多积极的属性和良好的设计(c++)。重点是更多的结构(梁/桁架)元素,较少的连续体元素。

开发好的代码(软件设计、功能、可用性、可扩展性、健壮性),如果你不想让别人使用它,这不是一件简单的事情。对于fema和开源的问题,没有简单的答案,但在这个方向上还有更多的思考和讨论的空间。

太浩是一个开发得相当完善并拥有社区的开源项目。事实上,如果你去链接,你会发现论坛等。当这个线程开始时,我完全忘记了这个项目。

它是由帕特里克·克莱因(Patrick Klein)在桑迪亚大学(Sandia)时开始的,他在空闲时间仍然在维护这个项目(我想他已经转到金融部门了)。看看Suku上面的愿望清单,TAHOE看起来相当不错。

像FEAP一样,它不适合外行。最好是和有经验的用户一起学习。

杜振忠的照片

志刚让我对此发表评论。像ABAQUS这样的商业FEA不同于学术方面。在学术界,你试着解决一两个具体问题,然后就解决方案写一篇论文。在这种情况下,您可能会发现,通过根据您的特定需求进行裁剪,开源代码就足够好了。

ABAQUS是一种通用代码,ABAQUS的开发人员必须编写一个可以用于多种问题的方法。这个挑战至少和想出一个只适用于一两个问题的想法一样大。它必须健壮,准确和易于使用。此外,每个版本的代码都必须经过严格的质量保证、验证和验证。另一方面,像ABAQUS这样的商业FEA也提供用户子例程,到第三方软件的接口(如流体代码)和每年的功能增强以满足客户的需求。

在我看来,开源代码的难点之一就是维护相关的问题。如果原来的开发人员离开或退休,谁来维护和进一步增强代码?我们经常看到许多最初在公司、大学和政府实验室开发的内部代码最终被商业化,以避免维护成本。

罗伯特·格雷西的照片

我的理解是ABAQUS实际上是基于FEAP的。FEAP中可用的用户子例程与ABAQUS中的用户子例程几乎相同。因此,如果您了解ABAQUS,但需要编写自己的代码,那么FEAP可能是一个很好的开始。

杜振忠的照片

供参考,ABAQUS公司的历史可以从http://www.abaqus.com/about/history.html

摩加迪莱·古拉扬的照片

现钞是一个开源的FEM,专门用于分析微观结构。它主要由CTCMS, NIST开发(和维护)。

黄睿的照片

这一讨论提供了许多关于有限元代码当前状态的有用信息,以及一些历史。根据John的定义,我绝对是一个分析师而不是开发人员,尽管我以前确实写过一些小段的有限元代码。

作为一名分析人员,除了代码本身,我还需要一个程序来可视化我的网格和结果。诸如ABAQUS和ANSYS这样的商业软件包当然有这个功能。对于像FEAP这样的开源有限元代码,我可以使用哪个程序来方便地检查我的网格和结果?

如果这样的程序是现成的,并且与商业包中的程序一样强大,我认为为了研究(即使是分析师)的目的,用开源代码训练自己和学生是值得的。

RH

尊敬的黄睿教授:

有一个免费的,积极开发的,功能丰富,易于使用的可视化程序:OpenDx。它最初是由英特尔开发的,然后被用于开放开发。www.opendx.org是链接。它可以服务于任何科学研究人员的可视化目的。

它有一个简单的界面,创建可视化宏,就像拖放和连接模块与鼠标。

Kodanda

黄睿的照片

Kodanda,

感谢OpenDx的链接。稍后再去看看。

RH

瑞,

FEAP有自己的内置图形包。这是非常好的-非常基本的,但它有你可能需要的一切。

为了生成网格并对结果进行后处理,我们还使用了包gmsh.它是免费的,非常简单,使用起来很直观。它是由Christophe Geuzaine(现在在凯斯西部大学数学系)和Jean-Francois Remacle(现在在比利时列日)开发和维护的。

欢呼,

约翰

滕力的照片

约翰,

谢谢你的提醒。gmsh是否有方便的方法导入或导出到其他FEM代码,如ABAQUS?如果不是,您通常如何实现从gmsh生成的网格数据?谢谢。

> > > www.macroelectronics.org < < <

黄睿的照片

约翰:

谢谢你的回复。我会在gmsh上试试的。

RH

N.苏库马尔的照片

Rui,对于网格生成,除了gmsh,我推荐三角形(作者:伯克利的Jon Shewchuk)如果你的主要兴趣是二维。Triangle非常容易使用,被大多数人认为是最好的2D网格生成器(Delaunay和约束Delaunay)。没有可视化的后期处理结果,但它有一个非常好的图形程序(也是用C写的)称为Showme来描述网格(Delaunay, Voronoi等),可以将它们保存为EPS文件。最新版本可能会有更多的附加功能。此外,代码非常干净,有大量的文档,因此非常易读。当然,如果你对3D感兴趣,而且我们也喜欢后期处理功能,gmsh将是更可取的。就其他公共领域的软件而言,我听说IBM的软件做得非常好OpenDX不过,你可能需要投入一些时间来熟悉这套产品。

黄睿的照片

Suku:

谢谢你的信息。

对我来说,网格和结果的后处理可视化比网格生成更重要。你可能还记得普林斯顿大学Jean Prevost的节目Dynaflow。您帮助在Dynaflow中实现XFEM。为了继续使用它,我需要找到一个后期处理程序。Jean使用的是Femgv,价格相当昂贵。您认为我可以使用gmsh来可视化来自Dynaflow的结果吗?

RH

N.苏库马尔的照片

瑞,

我使用gmsh(最低限度地)进行可视化,并没有研究它的所有特性;目前,只是用它来可视化矢量场,也在3-空间中描绘一个表面网格(输出代码不是我写的)。然而,它确实有许多功能,并为网格生成和可视化提供了一个单一的平台。当然,不管你使用什么包,你都需要将数据以ASCII/二进制格式输出到一个文件中。由于Dynaflow输出的格式可以被femgv识别,因此使用是无缝的。如果迁移到任何其他包,则需要从Dynaflow创建适当的代码和输出,以便其他vis包可以读取它。如果您只对所有现有绘图功能的一小部分感兴趣,那么我认为所需的编码是可管理的。希望其他使用gmsh进行可视化的人可以就他们的经验提供更有针对性的评论。

如果成本是主要制约因素,你考虑过吗Tecplot?它被我们许多人广泛使用,而且并不昂贵;一所大学的单个用户许可证可能仍低于1000美元(只收取一次性费用),如果许多用户同时需要访问包,则可以拥有多个用户许可证(成本会增加一些)。您可以创建非常好的网格图,以及位移/应变/应力等高线或其他花哨的图(带有阴影,透明等)。此外,学习曲线是平缓的。我知道其他人使用Matlab的图形功能来绘图。对于二维XY图,我一直在用xmgr / Grace(公有领域),它提供了非常高质量的EPS图。

附注:在看到其他一些评论后的一个附录。你可以看看gmsh手册(PDF)第145页(文件格式)和第177页(常见问题解答)可能是很好的起点。

Jean H. Prevost的照片

鲁伊,Suku,…志刚把你的问题/评论带到我的注意....有很多“后处理”可用,…有些人很好,有些人不太好....在所有情况下,无论软件包是商业的还是免费的,请访问....必须编写一个接口(即没有免费的午餐!!)来将FEM结果转换为图形处理器....可以理解的格式这通常并不困难,但非常耗时,需要不断维护以适应新的可视化请求,等等....例如,所有来自dynaflow的结果都被转储到ASCII文件(TAPE****)上,正如用户手册附录E中所记录的那样…然后可以读取这些文件,并为后处理器提供其他文件……我已经为Femgv,专业工程师,频谱,IRIS发明家,Tecplot和Paraview,… but clearly, I can only support extensively only one (I chose Femgv)... but it is quite straightforward to bring all processing options to the others (if needed).... Hope this helps.

N.苏库马尔的照片

琼/瑞,

是的,最终它取决于一个人的需求和所需的可视化功能。正如我在文章中所指出的,正如jean所提到的,人们需要编写代码(接口)以正确的格式输出数据(来自任何模拟包)。没有“免费的午餐”,因此通常大多数代码只能为少数vis包提供广泛的支持。abaqus/ansys等公司将尝试提供所有用户可能想要的和/或至少最流行的输出格式(过去使用过ansys但没有使用过abaqus)。我被告知,在过去,即使在前期和后期处理领域,这些包也不是很好。Rui,根据您对可视化最常见的需求,您可以只为您可能不想使用的包编写接口(gmsh/tecplot/..)。我使用tecplot(世界上许多团体都使用这个),但其他选项也可能是合适的。任何新事物都有一个学习/使用曲线。Tecplot附带手册/演示等,很容易上手。如果你告诉我你最常见的需求,我可以发给你一些tecplot使用的格式,让你了解相同的想法,或者如果你选择购买它,我可以提供一些我的代码,如果这可能有助于你在dynaflow中编写自己的代码。 have written some in fortran (basic stuff--plotting elements, disp, stress, etc.), which can be easily ported to jean's dynaflow.

作为计算力学研究中常用的开源FEA代码,FEAP已被多次提及。为什么会这样?是因为Taylor/Zienkiewicz在他们的书中有记载吗?

它是用fortran编写的,这被认为是一种资产吗?对于像我这样来自商业FEA世界的人来说,这似乎很奇怪。在严肃的FEA代码中,超过50%的代码只是用于操作复杂的数据结构,而不是计算力学或数值。Fortran不适合这样做。至少有半打成熟的、开源的用c++编写的FEA代码。

fortran语言还在被用来教工程和科学专业的学生编程吗?

比尔,

这是一个公平的问题。我认为FEAP的流行可以追溯到几个方面。首先,Bob Taylor对有限元素方法的发展有很大贡献。他的许多学生和与他一起工作的人都使用FEAP,并将其传递给他们的学生,等等。

它只是碰巧是用Fortran语言编写的。对于刚开始学习如何编程和有限元法的工程专业学生来说,这是非常好的。

我同意Fortran并不适合处理复杂的数据结构。但这正是关键所在。当我们教学生的时候,我们不想使用复杂的源代码。使用Fortran,人们可以专注于算法,因为数据结构非常简单。

作为一个经常教授有限元方法入门课程的人,我发现这很有吸引力。事实上,我们在课堂上使用了更简单的东西:一个非常低级的Matlab代码。我们这样做的部分原因是,虽然我们的许多内部研究代码是用c++编写的,但并不是每个工程专业的研究生都见过c++。

我怀疑Fortran被许多机构用来教授编程。然而,一旦学习了另一种编程语言,学习起来就不是那么困难了。

最后,如果你熟悉其他开源c++代码,除了已经在这里发布的代码,请告诉我们。

谢谢,

约翰

N.苏库马尔的照片

比尔,

我赞同约翰的意见。在科学计算中,Fortran仍然是至高无上的,因为Fortran库可以很容易地提供大量的数值算法。也就是说,我不相信Fortran现在是作为第一种/介绍性编程语言被教授给本科生的。对于FEM的第一门研究生课程(任何工程/应用科学的学生),Matlab是一个合适的平台,因为它使学生能够专注于方法的实现,而不是被语言的细节所困扰。此外,使用Matlab,矩阵/向量运算和线性代数(线性方程的求解)可以通过简单的命令来完成,并极大地促进了结果的可视化。然而,Matlab的力量不能被削弱,因为在计算科学中有许多研究人员仅使用Matlab进行研究。

在Matlab中编写一维有限元程序很简单,一旦步骤和流程图清晰,二维实现就很简单了。这使学生能够在程序中加入扩展和/或新功能。Matlab使用“C”语法,它的许多命令(向量化)直接转换为Fortran90。在过去的十年中,Fortran90/95编程在科学计算中变得越来越普遍,因为它包含了C/ c++的一些理想特性(例如,动态内存分配、数据封装、函数重载等),同时向后兼容Fortran77(可以直接调用F77函数和子例程)。我对所有这些语言都有一些经验,并且觉得Matlab为任何计算密集型的本科或研究生课程提供了一个非常好的平台。有了Matlab编程的专业知识,向任何其他面向对象语言的过渡都变得容易。

约翰,Suku,

非常感谢你深思熟虑的、详细的回复。

是的,我可以看到Matlab对于FEM或类似的课程非常有吸引力,因为它让学生专注于机制,而不是编程的特质。这在他们的职业生涯中也很有用。这与像Java这样的语言形成了鲜明的对比,Java语言非常适合教授编程概念,但对于科学编程来说还需要一些东西。

不过,我并不同意,一旦你学会了Matlab或Fortran,就很容易学会面向对象的语言,比如c++或Java。c++和Java允许您表达编程概念Matlab和Fortran没有——只是没有词汇表来表达它们。

作为开源FEA的听众,我主要想到的是做计算力学研究的研究生。约翰,我猜你们的内部代码属于这一类吧?我想听更多关于它们是如何开发的,以及为什么在这些情况下您选择了c++。

正如你上面提到的,John,计算力学研究的一个很好的选择是ABAQUS。对于编写新的但相对传统的元素或材料模型的人来说,用户编写的子例程显然非常强大。但对于研究解决方案算法或自适应方法的人来说,ABAQUS并没有多大帮助。你要么自己写代码,要么修改一个开源代码。就我个人而言,如果我在hp-adaptive方法中工作,我不会想用Fortran写代码(但该领域的一位领先研究人员已经这样做了,http://www.ticam.utexas.edu/%7Eleszek/projects.html).

我将发布另一篇关于一些开放源码的面向对象的FEM代码的注释,我至少粗略地看过这些代码。

N.苏库马尔的照片

比尔,

我希望我没有给人留下这样的印象,即学习Fortran/Matlab就足以开始用C/ c++编程。这与事实相去甚远。并非所有的大学生都接触过面向对象(OO)编程;大多数人至少接触过Matlab编程。当然,如果研究生被要求用c++开发他们的研究代码,他们肯定需要上一门oo编程的课程。

比尔,

我同意Suku的观点。我不认为我们中的任何一个暗示了matlab - c++是一个容易的过渡。Matlab允许结构化数据类型,但不支持c++中可以轻松完成的大部分工作。

现在,关于你的问题,我们的内部准则。扩展有限元法(X-FEM)中的许多原始工作是建立在c++内核上的。这促进了许多标准代码不习惯的事情,例如具有可变自由度的元素、用于细分和集成的递归例程,以及基于函数空间概念的数据结构的使用。我们很幸运地继承了一个由Jean-Francois Remacle设计的非常智能的内核。几年过去了,当我们都在西北大学的时候,在Nicolas Moes、我和Suku的指导下,这个代码得到了很大的发展。

苏库后来在普林斯顿大学把这种技术大量应用到Fortran代码中。我想他会是第一个告诉你,尽管代码设计得很好,但做到这一点并不容易。一旦有了现有的框架,c++就能更好地促进概念开发。然而,我认为从具有基本健全且灵活的框架和理念的代码开始是极其重要的。从我的经验来看,这种情况很少见。

Hisham的照片

喂!

我知道这是一个旧线程,但是,我在你发送的hp-fem代码的链接中找不到手册!你知道在哪里可以获得这种代码的全面手册吗?

谢谢,

Hisham

下面是一些免费或开源面向对象的注意事项
FEA程序,我至少快速看了一下。我有
当我看FEA代码时,有几个重要的标准,但是
最大的一个问题是,他们必须方便地处理任意
自由度类型——例如,如果我想实现
一个耦合的流体,结构,电,热模型,结构
必须适应这一点。幸运的是,很多人都这样做。

OOFEM
http://www.oofem.org/
这是相当成熟的,已经习惯了
解决不同学科的问题。
我个人认为面向对象(OO)设计
有点不寻常,文档也有点稀疏。

getfem + +
http://www-gmm.insa-toulouse.fr/getfem/
这个代码来自于我所说的
《偏微分方程数学》的要点
观点而不是机制观点
(下面的Rheolef也有这种味道)。比如,我不是
确定添加梁或板元素需要什么。
不过,它有不错的软件工程。

rheolef
http://www-lmc.imag.fr/lmc-edp/Pierre.Saramito/rheolef/
在我看来,这款游戏的最大弱点在于
它似乎只允许模型的一种FE类型。
它确实有比平均水平更好的文档
高性能稀疏求解器的接口。

libmesh
http://libmesh.sourceforge.net/
这个已经提过了,但我要再讲几个
其他评论。这是建立的FEA开发项目之一
像一个真正的开源项目——SourceForge网站,
论坛,等等。我想这就是志刚当时的想法
关于他原来的帖子。我的印象是
软件主要用于解决流体问题。对于一些
因为他们没有向量场的概念
必须用3个标量场来表示。

功能
http://www.tm.ctw.utwente.nl/onderzoek/DiekA/Feature/index.html
我只看了一点,但它看起来相当优雅
给我。OO模型是合理的,而且看起来相当普遍
在自由度的处理上。

作为一个失败建模者,我经常对数值不稳定引起的分歧感到沮丧。特别是商业软件,它们没有给用户太多的操作空间。

但是这个问题在损坏或失效分析中有物理基础,负特征值可能不是完全可以避免的(有时甚至是必要的)。作为计算算法方面的专家,我想知道是否有任何有效的方法来求解这些所谓的不定矩阵(一个矩阵有正的和负的特征值)。欢迎提出任何意见或建议。

Qingda,

我非常喜欢你最近在《科学》杂志上发表的文章。当然,我也想感谢你提到X-FEM并引用我的工作!我认为X-FEM在研究复合材料的失效方面有很大的潜力。

现在,关于你的评论和问题。我同意数字不稳定是令人沮丧的一大来源,而商业软件并不总是提供一组很好的选项来处理它们。我确实认为ABAQUS在这方面非常出色,因为它为总体解决方案策略提供了许多选项。话虽如此,有时很难确定代码到底在做什么。

你能提供一个更具体的失败分析的例子吗?我想你可能是指椭圆度的丧失,但我不确定。在任何情况下,我非常确定解算器是可用的,它们可能不那么容易链接到您的分析,特别是如果您使用商业软件。

约翰,

非常感谢你的回复。那篇论文中的引文肯定是你应得的。

在我看来,这种X-FEM是复合材料中可能包含这些二次开裂系统的主要候选。目前,它们主要由连续损伤力学(CDM)来解释。问题是,一旦这样的系统出现主要裂缝,CDM就会因为高度局部化的变形而成为问题。我会尽快和你谈谈这件事的。

至于收敛,我同意你的观点,Abaqus提供了一些选项来更好地控制收敛——即系统是可收敛的(抱歉没有更好的措辞)。当你提到椭圆性的丧失时,你说到点子上了——我不是这方面的专家。比如说,在某些条件下,一个最初稳定的裂缝在被阻止之前变成了一个动态裂缝。这个问题与椭圆度的丧失有关吗?如果是,应该如何应对?

再次感谢。

赵若刚的照片

我从谷歌找到了这个线程,我马上注册了,因为我一直在努力为我的研究项目选择一个合适的FEM包,过去两周。

主要的挑战是材料的特性。我的项目是对单个细胞的机械响应进行数值模拟。已发表的文献表明,生物细胞可以被建模为一个经历大变形的粘弹性实心球体。杜克大学的Farshid Guilak使用FEAP进行了这样的研究。将线性粘弹性和非线性粘弹性材料模型与有限元分析相结合,仿真结果与实验吻合较好。

在我们的实验室中可以使用Ansys,但所采用的粘弹性材料模型最初是为橡胶型聚合物推导的。我不知道这种材料模型是否适用于生物细胞。Ansys确实有一些用户可编程材料,但粘弹性不包括在内。

Abaqus是另一种选择。我对Abaqus有更好的感觉,因为我是用它读硕士的。UMAT子例程允许用户定义材料。但在使用Abaqus时遇到的奇怪问题让我很沮丧,因为我意识到生物材料可能与传统的工程材料有本质上的不同。

那么,关于使用什么FEM包,有专家可以评论吗?我不太热衷于开源包,因为我将花费太多时间在编程而不是分析上。但如果它是唯一的,我们可以把我们想要的材料属性纳入FEM,我想我必须选择它。

谢谢。

MichelleLOyen的照片

生物材料的特性经常被包含在Abaqus中,使用“孔隙弹性”材料模型来通过多孔介质。这比经验粘弹性模型提供了更基本的物理信息。另一个流行的生物材料工作是LS-Dyna,它在冲击生物力学界很受欢迎,因此有一系列对生物组织有用的线性和非线性粘弹性材料模型。

亲爱的

你好我是机械工程专业的学生,研究的是粘弹性材料追求我的学习,感谢您的帮助。我需要利用ANSYS软件对粘弹性材料进行了应力分析。

如果你能帮我。我将感激

我已经为橡胶和生物材料编写了一些非线性粘弹性材料模型,使用了一个叫做Tahoe的开放源代码来建模角膜的力学行为。后者是各向异性的,在开源版本中不可用,但在受保护的开发版本中可用。你可以在以下网址下载代码https://sourceforge.net/projects/tahoe并采用各向同性非线性粘弹性模型。相关文件虽然不多,但可以在tahoe.ca.sandia.gov上找到。因为它是一个研究代码,使用起来不像ABAQUS那么方便,而且实现自己的模型有些困难,但如果你想走这条路,你可以通过tdnguye@sandia.gov

我不太熟悉ABAQUS或LS-Dyna。我认为ABAQUS除孔隙弹性模型外,还有一个有限变形的准线性粘弹性材料,它使用一个普瑞尼级数来表示随时间变化的行为。我认为LS-Dyna是一个纯粹的显式代码,而ABAQUS同时提供隐式和显式求解器。

赵若刚的照片

嗨,Michelle和Thao,

谢谢你的回复。在我们的项目中遇到的一个问题是,那些标准的力学测试,如单轴张力和纯剪切,根本无法在单个单元上进行。没有标准的测试结果,就无法得到商业包装所需的粘弹性参数。目前,我不认为流行的细胞探测技术,如微吸管吸入,磁扭流式细胞仪和AFM可以提供商业包装所需的材料常数。

而简单的线性Maxwell模型由于只有三个参数需要确定,可以很容易地与测试数据相关联。一些较复杂的模型,如标准线性模型和上对流麦克斯韦模型,也被用于与正常的细胞探测技术相结合。所以我认为我们需要的是根据现有的测试来控制材料参数。我将从简单的模型开始,看看如何将其与商业包关联起来。

刘开封的照片

Ruogang,

我已经使用abaqus用粘弹塑性本构模型模拟生物材料两年了。我在UMAT的经历有点令人愉快。可能部分原因是我的构造相对于生物细胞来说比较简单。如果你想了解更多关于我的经验,请不要犹豫与我联系。

我对米歇尔关于“多孔弹性”模型的帖子有一个评论。在我看来,术语“双相孔隙弹性”更为明确。事实上,这是通过abaqus中的* soil分析来实现的,abaqus是为土木工程师进行土壤固结/渗流分析而设计的。时间依赖行为可以在这个分析中完成。如果你觉得流体流动在你的分析中很重要,这可能是一个比单相副弹性模型更好的选择。

开封

说法语的人可能会发现Code-Aster (http://www.code-aster.org)一个有趣的开源有限元软件。一些文档有英文版本。一个补充的开源项目是SALOME (http://www.salome-platform.org)进行前期/后期处理。CAELinux (http://www.caelinux.com)有一个LiveDVD发行版,直接从DVD引导和运行,并使用上述代码。该网站也有一些教程。

这是另一个:http://www.calculix.de/
它的输入文件具有与ABAQUS输入文件相似的语法!

明确的分析:http://impact.sourceforge.net/

基肖尔Pochiraju

关于免费的FEM代码,试试ELMER,可以从www.csc.fi埃尔默/连同使用手册。只要在任何网页搜索器中输入ELMER作为关键字,就可以找到其他信息。许多描述现实世界应用的报告和在大会上的介绍可能会引起你的兴趣。

由Belytschko, Liu和Moran撰写的这本书是一本非常全面和完整的书,以一种非常实惠的方式涵盖了非线性有限元分析的大多数方面。它相对不贵,所以对这一领域感兴趣的人会发现购买这本书很好。不过,这本书的pdf版本是免费下载的,可以在网上的一个单独章节中找到。不幸的是,我没有这个网站,但如果有耐心,你可以尝试输入关键字,比如主要作者的名字,书名等。

Roozbeh Sanaei的照片

ELMER的缺点之一是它没有使用PETSC,求解器的偏置能力有限。

这个帖子对我来说是最有用的,感谢所有贡献者。

很高兴看到有许多不同复杂程度和重点的选择。

我想如果我们分享一下我们使用这些包的经验会更有用。我想知道是否推荐上述软件。如果有推荐,有多强烈?我知道这有时是个人品味的问题,评估软件也不是小事,但这样的信息可以为用户节省很多时间。

我对一个简单的包特别感兴趣,它可以从CAD文件生成网格并进行模态分析(相对简单的几何图形的模态振型和固有频率)。

提前谢谢你

Cetin内

光声研究实验室

克拉克森大学

大多数开源的FEA包都专注于有限元方程的公式和求解,而不是生成模型。我认为很难找到可以从CAD几何图形创建FEA模型的开源软件。

另一方面,商业代码如ABAQUS和ANSYS在这方面做得很好。如果您不需要针对您的特定需求对代码进行重大修改,那么可以选择使用这些代码。两家公司都拥有低成本的学术执照。

在过去的几十年里,大量的免费和商业的计算机程序被开发出来,这是令人惊讶的。

然而,我发现要简单地评估单个程序的能力或相互比较有些困难。因此,我推出了力学,结构分析和设计软件的在线数据库-主要目标是对可用的程序进行分类,并使访问者能够进入评级。数据库中的每个条目也链接到维基,这样就可以提供结构较少的内容,以补充数据库条目。

该数据库可在http://www.bridgeart.net/software_database/

Ondrej:

这个——你的网站——是一个极好的主意!另外,感谢之前的评论/建议。

Gerd Sebastiani的照片

对CFD感兴趣的同学可以考虑Featflow,由来自多特蒙德大学Turek教授的团队

基于Fortran的代码可以免费下载,也可以在CD上获得。AFAIK,代码主要应用于教学,如CFD入门实验室。还有一个基准集合叫做流体运动的虚拟专辑,在流体动力学课程中用作例子。

我个人在硕士期间的整个实验室都使用了这个软件。恕我直言,由于资金状况,教学和研究也是这种自由代码的主要应用。

链接及下载:

亲切的问候:
Gerd

Roozbeh Sanaei的照片

开源有限元程序分为两类:

1.物理角度的有限元程序。(有限元代码)

2.用数学的观点编制有限元程序。解决(Pde)。

我在我的博客中提供了他们列表的有用链接

http://roozbehsanaei.blogspot.com/

我简单地读了他们的手册,我认为FEAP,ADVENTURE和TAHOE可能最适合我的目的。我需要你的帮助,以便从中选择一个进行开发。

研究了非线性各向异性和微极性材料的力学行为。

vh的照片

我已经尝试了一个免费的开源FE代码Warp3D (http://cern49.cee.uiuc.edu/cfm/warp3d.html).我得承认我的试验仅限于例题。所以不能说太多关于它的可用性。我成功地在运行openSUSE 10.2的linux盒子上安装了它

它可以与PATRAN接口进行预处理。它的限制是90000个元素或200000个节点。人们可以从各种实现的材料模型中进行选择。MPI版的代码也实现了。对他的限制没有。可以通过更改适当的变量和重新编译代码来克服节点和元素的缺陷。更重要的是,它配备了一个非常好的和信息丰富的手册。

我感兴趣的是它的接触能力,但显然它只能处理变形-刚性接触,而我感兴趣的是变形-可变形接触的情况。只有有限种类的刚性表面可以用这段代码建模。

V. Hegadekatte,卡尔斯鲁厄大学,德国

phunguyen的照片

您可以尝试计算数学建模的免费代码

http://www.fenics.org/

范围内

Roozbeh Sanaei的照片

FENICS是一个发展中的计算力学项目,目标远大。

交易。ii(免费)和Diffpack(商业-1000美元)是类似的项目。

在这个时代,Diffpack-Feap(商用-800美元)是有限元编程中两个非常著名的包,但它们有一些缺点,第一个是因为它的FORTRAN基础,最后一个是因为它的成本。注意每个包都有它的特性和优势,作为一个例子,CALFEM不是很有名,但它有很好的振动和声学程序,TAHOE是最好的非经典固体力学,OOF2是微结构和....,

通用有限元包,如ELMER,DEAL.II,DOLFIN(Fenics), Adventure Project和PETSC-CS正在增长,但他们不是特殊主题的专家。

请原谅我的英语不好。

Roozbeh Sanaei的照片

ELLPACK非常高级,便携式系统,用于解决椭圆边值问题。人们可以通过简单地把日常问题写下来并命名要使用的方法来解决。可以通过使用灵活的ELLPACK框架中的问题解决模块来解决更难的问题。ELLPACK语言是Fortran的一个易于学习的扩展:它大大减少了大部分计算的编码,但仍然允许进行特殊处理。ELLPACK包含超过50个解决问题的模块,包括一些世界上最好的和最新的软件。知识丰富的用户甚至可以通过添加新的问题解决或分析模块来定制ELLPACK本身。KASKADE和PLTMG也是类似的包

你好,

我正在努力维护一个开源/免费软件,名为MechSys,这是一个c++库,用于实现机械系统相关程序。地质力学学科是我的主要学科,但我也对(几个)其他学科感兴趣。基本上,库中有4个模块(实际上更多):

  • 数值(数值算法:RK、正交法、Brent方法等);
  • 张量(张量分析:不变量、投影、行列式、特征值等);
  • LinAlg(线性代数:密集、稀疏、非对称线性求解器、特征值和特征投影器等);
  • 有限元法(基于龙格-库塔全局和局部求解器的三维土壤-水非饱和耦合分析);
  • Utils, Constmods,模型,VTKwrap, GUI,…

所有这些模块都是相互独立的,我们可以将它们用于未来的实现(DEM, MPM,接触/断裂力学,多尺度等)。这个库的主要目标是:1)易于添加新的模型、元素或求解器(适合学生、新开发人员、共享、团队合作);2)高度组织性(有一个管理系统-并发版本系统,以及几种代码风格约定)。

事实上,一些著名的开源库被包装成函数或类。这些例子包括LAPACKUMFPACKSuperLU,SuperLUd用于密集和稀疏线性求解器(包括并行)。一些GNU Scientific的例程也被包装了,例如:QAGS用于积分或数值积分。我使用搅拌机作为绘图工具,TetGen用于网格生成和ParaView可视化;它们都是免费(并且优秀)的软件。

嗯,我希望它可能对某人有用。

我使用Blender在3D中建模微结构,我想知道如何转换这个tetgen?

acaballeroj的照片

安东尼奥绅士;电子邮件:acaballeroj@civil.uwa.edu.au

大家好。从我的角度来看,总是开发自己的FE代码有两个基本原因:

  • 首先,这段经历会教会你很多!!我认为,处理制定和实施的棘手问题是理解什么是真正做一个FE项目的关键问题。
  • 另一方面,你将更有能力扩展它并纠正它。

然而,我不同意开发自己的代码是一项困难且耗费大量时间的任务。对于那些只需要使用或使用开源FE代码的人,这里还有两个参考:

http://www.cimne.com/kratos/

http://sokocalo.engr.ucdavis.edu/~jeremic/PDD/

干杯

我想知道我如何使用abaqus裂纹萌生和传播。

绅士们,给我点解决办法吧。

问候

prashant

OFELI是一个与c++一起使用的快速而紧凑的库。

SciLab现在是一个开源的SML,支持工具箱

Maxima是另一个开源SML

Octave是另一个类似于mathlab的开源SML

其状态稳定,生产成熟。

操作系统的便利性主要在于你可以扩展软件定制它或添加功能或将其移植到其他平台,即使你从中得到错误,你也可以尝试修复它们,操作系统模型并不是适用于所有人,而且临床支持主要依赖于社区和私营企业。

如果你刚开始从事商业社区软件,这是一个非常有吸引力的解决方案,如果你的规模越来越大,时间周期越来越短,你就会被诱惑购买昂贵的软件,其中包括更快和专家的支持。

OpenCASCADE就是一个例子:他们提供操作系统OpenCASCADE,但他们也出售支持,并教你如何使用它进行开发(这是一个巨大而复杂的可视化库),VTK是另一个例子。

我在做我的项目在暖深绘图,我想知道如何做模拟WDD使用abaqus软件

我怀疑开源交易平台的出现会在短期内蚕食Portware和FlexTrade的成功,但它可以为公司提供更多的自由,以更低的价格自主做事。

我的名字是aswin,我在印度ROORKEE IIT读硕士2年级

现在我在做基于无网格技术的项目。

我正在开发弹塑性问题的代码

我有弹性pert的代码。但我不知道如何为塑料部件开发代码,以及如何解决那个非线性方程

请帮我拿甜点。

ELMER的缺点之一是它没有使用PETSC,求解器的偏置能力有限。

奥云indir

我一直在寻找一个开源或低成本(< 1500美元)的结构FEM包,以支持热载荷下的航空航天结构优化。为了优化,我一直在分布式处理Linux环境下使用遗传算法。我们目前的商业FEM包的许可成本越来越高。

查看了我在这里和其他来源能找到的所有包。代码Aster是唯一的包,似乎是远程接近什么我正在寻找。唉,我不懂法语……

除了Code Aster站点上提供的文档,还有谁知道其他的英文文档?

此外,我是否错过了航空航天分析师的一个很好的软件包(根据约翰多尔博非常合适的命名法)?

感谢你们的集体智慧;这是一个很棒的论坛!

地理

你知道另外两个法国fem代码Castem和Zebulon吗?

Castem对code aster是关闭的,你可以在CEA的网站上找到该软件的英文文档。

http://www-cast3m.cea.fr/cast3m/xmlpage.do; jsessionid = 2907427 f20b5233b2c……

Zebulon是一个非常好的fem代码,也有英文文档,但我从来没有用过。

http://www.mat.ensmp.fr/Competences/en_zebulon.php

问候

史蒂芬

SivaSrinivasKolukula的照片

嗨,所有

CASTEM是一种用有限方法分析结构的计算机代码
元素的方法。这个代码是由机械部门开发的
法国原子能警察局(ECA)的技术(DMT)。这是一个免费的FEM软件,可以从以下链接下载:http://www-cast3m.cea.fr/cast3m/index.jsp

实际上,这是一个法语软件,但英语帮助可用。文档有英语版本,但有大量法语版本。它有很多模块和源文件(代码)供参考,可以从网站下载。关于软件的完整细节在上面提到的链接。

灵感和天才是一体的。
_______________________________________
http://sites.google.com/site/kolukulasivasrinivas/
----------------------------------------------------------------------
Siva Srinivas Kolukula
初级研究员

卡尔·范·阿斯韦根的照片

你好,

我认为EDF的Code_Aster可能是最“完整”的自由有限元代码。

看到http://www.code-aster.org/V2/UPLOAD/DOC/Presentation/plaq_V7_GB.pdf的能力。您可以在CAE Linux wiki上找到英文文档和示例:http://www.caelinux.org/wiki/index.php/Doc:CAE

我也用莎乐美http://www.salome-platform.org/前置和后置处理器。它也是开源的,易于使用,功能非常强大。

显然,上面没有一个比Ansys, ADINA, Ls-Dyna等商业软件包更容易使用,但它不需要任何成本。任何对CFD感兴趣的人都可以时不时地看看这两个开源程序。

http://www.openfoam.com/而且

http://research.edf.com/research-and-the-scientific-community/softwares/code-saturne/introduction-80058.html

缺点(或者对某些人来说是优点)是大多数开源包都是为Linux创建的。所有的程序都经过了验证,并在工业上得到了积极的应用。

问候,

卡尔

很好的东西!

尤其是代码编码器。我想知道我得到了一个开源软件的FSI。

卡尔·范·阿斯韦根的照片

对于一个“一体化”的FSI包,看看Elmer:

http://www.csc.fi/english/pages/elmer

我认为埃尔默可以在流体和结构之间进行双向耦合但我不确定这是否仅限于稳态分析。我不太了解Elmer,但通过快速浏览文档,似乎你将非常局限于材料,元素等,但作为开源,当使用它进行研究时,我想你可以用Fortran编写自己的。

您还可以在Code_Saturne和Code_Aster之间进行单向耦合,只需从cfd运行中读取压力边界并将其应用到您的结构中。对于小变形的静态分析,这应该足够好了。但是如果你想充分利用Code_Aster和Code_Saturne +的强大功能,你有很大的耐心+你使用谷歌翻译(因为大部分代码是用法语编写的),它也可以进行双向耦合。我在Code_Aster论坛上读到,他们目前正在实验室中验证这个功能,所以到今年年底应该会更容易设置。我还没有尝试过这个,因为开源FEA/CFD是我在业余时间必须做的事情,因为我们在工作中使用商业FEA,但除非你能做瞬态/动态FSI来观察流动诱导振动,否则对我来说没什么意义。


我想知道在ANSYS11中是否有任何使用它的功能
能直接解决简单的问题吗热传导比如三维几何中的问题?所有的边界条件都是已知的,我想解热方程并得到多孔介质中的节点温度。
如果你能指导我,我将不胜感激。
问候
FRZ

FEAP是开发人员的优秀代码。代码的大部分核心都是透明的肾结石

看看sfepy.org,它是一个用python编写的开源有限元软件。

mohammedlamine的照片

INRIA的MODULEF是开源有限元代码的一个应用。

mohammedlamine的照片

我过去在sherbrooke大学开发了一个程序,该程序在unix操作系统下使用GL图形库在工作台中可视化四面体元素:3D网格被着色,点亮,收缩和旋转(移动),使用重渲染和隐藏平面的双缓冲,以检查FE网格。如果你愿意,我可以用你的书来交换程序清单。

对于最近可用的硬件,您可以使用opengl(或其他)库来使用相应的函数完成相同的工作。位移、应力和/或应变的表示可以通过以下方式进行:计算元素内部的应力,并使用有效图形库对这些值进行2D或3D表示。这将在2D中显示区域值的范围,或在3D中显示体积值。

在2013年,我还没有找到任何有效的等应变四面体形状函数的计算。在此之后,我开发了一种有效的方法来计算它们。这是我对我的背景知识做的修改。问候

订阅“开源有限元代码的现状如何?”的评论。

更多的评论

辛迪加

订阅辛迪加