用户登录

你在这里

非线性有限元法的实现

phunguyen的照片

大家好,

在非线性有限元法的实现中,有Voigt表示法和全矩阵表示法两种方法。显然,使用Voigt符号,只存储向量而不是矩阵。因此,利用Cauchy和第二Piola Kirchhoff应力张量的对称性,总是可以用Voigt符号来实现非线性有限元。

我的问题是为什么完整的矩阵实现仍然存在?Ted Belytschko的名著中提到过。仅仅是由于历史原因还是有一些优势?

顺便问一下,你能不能给我看一下基准问题,测试一下执行的高弹性问题?

非常感谢。

范围内

Voigt表示法具有需要较少内存的巨大计算优势。这就是使用它的原因。相反,它有人为的缺点。在一个向量(6x1)中存储一个对称的二阶应力张量或在一个向量(9x1)中存储一个非对称的二阶应力张量是完全任意的,与连续介质力学中的张量描述无关。

如果你有一些微分方程想用有限元法求解,你可以直接用全矩阵实现张量。如果你使用Voigt符号,你必须完全重新排列你的矩阵。如果您对节省内存不感兴趣(但这总是非常重要的),那么最后一步是徒劳的。此外,它是犯错误的另一个来源。

全矩阵实现的缺点是需要存储两次数据(许多张量是对称的),然而,通常情况下,你不会将很多张量(具有不同的大小)彼此添加到一起,从而产生数值问题。

在我看来,Voigt符号有点过时了。它起源于计算机比现在大10倍、慢10倍的时代。来自商业软件包(如Ansys或Abaqus)的代码起源于那个时候,并使用Voigt符号。

然而,计算机永远不会足够快,所以现在使用福格特符号仍然很有意义。

阮永福,

我不确定你的答案,但我的第一个想法是,在没有体对的情况下,你应该能够使用福格特符号。Voigt符号不是线性的影响,所以只要使用的张量是对称的形式(实际上,线性行为中有应力和应变表示张量),你就应该能够使用它。

希望有人能给你一个更确定的答案。

Mandred Ulz,

我认为你说福格特符号过时是错误的。我们在计算能力方面取得了巨大的进步,但现在我们将这些进步用于执行更大、更详细的模拟。对于运行大型模拟的代码,效率仍然很重要。

在涉及新实现的研究中,效率通常不重要,全矩阵表示法用于简化实现,但这并不意味着福格特表示法没有一席之地。

只是为了澄清事实。福格特符号并不是起源于:“从时代开始,那时的计算机比现在大10倍,速度比现在慢10倍
如今。来自商业软件包(如Ansys或Abaqus)的代码
起源于当时并使用Voigt符号"

Voigt符号起源于Woldemar Voigt博士的著作。Voigt博士也是第一个提出我们今天所使用的张量的用法和概念的人。对于那些对这些历史问题感兴趣的人,可以在Voigt博士的经典文本“Die fundamentalen physicalischen Eigenschaften der Krystalle”中阅读Voigt符号的第一个介绍。这本书在谷歌书店有售。这本书的出版日期是1898年——至少比电子计算机的时代早一点!福格特的一些书也被翻译成英语。

同样有趣的是,Voigt命令剪切为4 -> 23,5 -> 31,6 -> 12;然而,现在许多作者使用映射4 -> 12,5 -> 23,6 -> 31。


看到的:http://books.google.com/books?id=_Ps4AAAAMAAJ&dq=Die + fundamentalen + physi……

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

谢谢你的链接。我以前知道沃德玛·福格特,但从来没有想过他是什么时候以及为什么引入这个符号的。

同样重要的是要注意内存并不是这里唯一的问题。在不考虑对称性的情况下,你将求解更多变量的所有方程。在求解更复杂的非线性材料模型时,这可能会产生巨大的影响。

我还发现将四阶张量重写为矩阵,将二阶张量重写为向量更方便。即使速度不是问题,实现高阶张量的所有操作(或者找到可以为我做的代码)也会比简单地重写张量花费更多的时间。仅仅是实现完整的4阶弹性刚度张量对我来说是一个非常头痛的问题。

我发现Voigt符号被不一致所困扰。我相信我看过福格特向量中非对角线元素的每一种组合。

还有很多时候,应变中的非对角线元素被写成gamma12 = epsilon12+epsilon21(等等),而不是应力。这样做至少给我留下了一个问题四阶张量应该如何写。特别是四阶对称单位张量,通常用于构造弹性刚度张量(通常Isym的最后三个对角线元素为0.5,我发现这是非常糟糕的做法,因为它除了在刚度张量中没有任何意义)

如果我要实现一些材料模型,我最有可能选择与6x1(但不是乘以对角线外的元素如上所述)。用9x1或3x3的输入实现一个应变/应力驱动的本构驱动程序,对我来说就像在寻找bug,因为你将拥有一个带有冗余信息的函数原型,从而为错误的输入提供未定义的行为(即当输入中的对称组件不完全匹配时)。我也会仔细看看它们的顺序,保持沃格特的顺序,那里有足够的原创性!

感谢你的提醒,在编写软件时,使用Voight表示法而不是完整的矩阵形式,节省内存只是节省计算费用的一个例子。你说得很对。

我不太明白你第二段的意思。我们讨论的是使用连续介质力学导出的模型,其中的量在推导中以完整的矩阵形式描述。实现代数来处理这些是很明显的,特别是如果使用索引符号,将在所有索引上使用嵌套的for循环,并且将编写每个元素的方程。对于Voigt符号,应用的代数有时很奇特,尽管确定起来很简单。

Voigt符号确实为一些不同的实践打开了大门(例如,使用不同的顺序),因此工程师需要保持他或她的应用程序的一致性,就像在每个约定的情况下一样。

非对角线元素的问题(我相信)是力学中特有的,并且有点奇怪。我想指出的是,剪应力的矢量形式应该可以写成对应的非对角线元素的和,即。

东北\ tau_ {ij} \ \ sigma_ {ij} + \ sigma_{他},我\ \四ne j

尽管

\ gamma_ {ij} = \ epsilon_ {ij} + \ epsilon_{他}= 2 \ epsilon_ {ij}

我能想到几个原因,对我来说最重要的是,它说明了现代理论和经典方法的等价性。不管原因是好是坏,这些都是定义。将剪应力以福格特形式加倍是不正确的。(当然,有了一致性,你可以用这种方式解决问题,但这将是毫无意义的背离惯例。)

四阶恒等张量的不相信定义并不是不好的做法。当用笛卡尔基写出来时,它的值对你我来说可能很奇怪,但它确实是一个恒等张量,也就是一个包含二阶张量的张量。

我并不是说不可能实现完整的张量代数,但对我来说,简单地输入刚度张量的81个分量听起来比使用Voigt符号要多,不管我是否想优化代码。使用MATLAB或一些LAPACK库Voigt符号非常方便,而四阶则不然。

我对Voigt符号的主要问题是关于对称的四阶恒等张量,由于(有时)在应变向量中使用的惯例,它的定义变得不清楚,而应力张量总是有单个元素,就像你说的。

为了用这个表达式来构造弹性刚度

对称恒等式通常在最后三个对角线元素处设置为0.5,以匹配非对角线应力分量。这样做的人必须注意到Isym不再有正确的解释。在笛卡尔基下写成这样的话,它就不是相同的张量了。它不再给对称部分带来二阶张量因为它除了对角线外的元素。在6x1伏格特表示法中,所有向量的表示法都是对称的。

求导(通常在计算本构驱动中的雅可比矩阵时需要)

那么Isym在voigt符号中就没有0.5了,它将是一个6x6的单位矩阵不管你是用还是只用来表示应变。也许我只是在我学习的代码和文学方面运气不好

但最后,我相信避免这些问题的最简单的方法是根本不使用gamma,因为它真的没有帮助(它可能在某些地方使表达式更干净,但总的来说,我想说它在实现时更麻烦)。由于不使用gamma似乎是很常见的,我认为没有好的理由使用它,除非你正在为现有的代码或文献做贡献,在这种情况下,一致性是最好的。

我也想知道你是否有任何提示输入乳胶表达式,我只复制了你的url,在这里乱搞url是乏味的(像+这样的符号不想轻松工作)。

谢谢你解释你的意思。我现在明白你说的恒等张量是什么意思了;我以为你在说别的。这是在工程剪切应变(gamma)中出现的令人讨厌的东西。除了历史问题,我不确定有什么理由使用伽马来表述力学问题,除了伽马有角度变化的物理解释,而不是角度变化的一半。

我学会了在iMechanica上使用LaTeX的技巧万博manbetx平台这篇文章,它提供了一个提示,您需要使用“%2B”作为加号。我没有什么真正的技巧可以让它变得格外流畅。

顺便说一句,有一个用于Drupal的LaTeX模块叫DruTeX。有趣的是,它在iMechanica上安装的可行性如何,这可能会允许在帖子中更顺利地包含LaTeX。万博manbetx平台

phunguyen的照片

谢谢你的回复。

我认为,当我们在同一代码中结合总拉格朗日元素和更新的拉格朗日元素时,应该同时使用Voight表示法和完整矩阵。

你好,

我相信Voigt符号是有用的,当你实现线性有限元素和非线性有限元素与小应变理论(即材料非线性)。

如果你正在实现有限应变FE,那么使用完整的矩阵是很方便的,因为它可以让你以一种非常优雅的方式推导正切矩阵(包括总的和更新的)。前者的推导和实现可能有些麻烦。

范围内,

这与你们正在讨论的话题相去甚远。我想自我介绍一下。我在普惠航空发动机公司担任结构工程师,从事断裂力学,使用ANSYS等工作六年多。

你毕业后打算回越南吗?我问这个问题的原因是,我正计划为美国和欧盟公司执行工程工作。所以我很想知道我们的人在越南有多广泛地参与有限元分析?并使他们参与到这一领域的应用中来,特别是在飞机结构方面。让我们进一步讨论。您好,董tran

phunguyen的照片

你能给我写信吗nvinhphu@gmail.com?再详细介绍一下你自己。因此我们可以讨论你的计划。你认识阮当鸿教授吗?他在越南也做着类似的事情。

期待收到你的邮件。

问候

这就跟你问声好!

我有一个与上述评论有关的问题。也就是说,我想知道非线性有限元中牛顿迭代的切线模(或雅可比矩阵)是否总是对称的?这就是应力对应变的偏导数。我正在处理一个问题,我似乎得到了不对称切线模,但我不完全确定我在推导或写代码时是否没有犯错误。收敛性很好,所以它看起来是正确的,但我想确保我没有违反对称性的任何“基本定律”。有人能评论一下这个问题吗?

问候,

Andrej

孙怀志的照片

如果采用非结合流动规则的塑性模型,则得到的切向弹塑性模量不具有主要对称性。如果模用Voigt符号表示,那么它就变成了一个不对称矩阵。

谢谢你的回答。我查了齐恩凯维奇的书,他也提到了这一点,但没有给出任何细节。你能推荐其他关于这个主题更详细的参考资料吗?

孙怀志的照片

我认为你可以从Simo和Hughes写的书(Computational Plasticity)中获得所需的信息。另外,imechanica还提万博manbetx平台供了一个链接(http://万博manbetx平台m.limpotrade.com/node/1551)查阅雅各布·卢布林纳(Jacob Lubliner)教授所著的可塑性书籍。可以说,切向弹塑性张量的非对称性是由于塑性势和屈服函数不相同。请注意,导致非对称刚度矩阵的原因肯定不止这些,但非关联流只是其中之一。希望能有所帮助。

订阅“非线性有限元的实现”评论

最近的评论

更多的评论

辛迪加

订阅辛迪加