最近会经常被小伙伴们问道:“您是做PD与有限元耦合的吧?” 我回答:“哦,我是做耦合的。但我是耦合PD模型和连续介质力学模型的。” 然后又加上一句:“我也用有限元法求解PD模型,但不耦合有限元。” 。 小伙伴听了,一脸的困惑... ... ... 心想:“别逗了,你在说什么哪?” 其实很多小伙伴可能都没搞明白这中间有一个概念的Mismatch!因为被经常问道,所以我想是时候把这个问题说清楚了。毕竟概念清楚了,以后干活就更方便了,我们先从数学模型和数值方法讲起! 什么是数学模型? 数学模型是使用数学概念和语言来对一个系统的描述。(引自维基百科。注:维基虽然不是正统的参考文献来源,但是这里有助于我们说明问题。)· 根据上面的概念,连续介质力学模型是一个数学模型:因为它使用应力、应变等一系列概念和张量的语言,来描述一个连续可变形固体在力的作用下的变化规律。 · 当然,近场动力学模型也是一个数学模型:因为它使用键力、键拉伸量以及近场范围尺寸等一系列新概念和态的数学语言,来描述一个连续固体在力作用下变形、开裂的过程。 · 还有,分子动力学模型也算是一个数学模型:因为它使用原子(分子)间相互作用势能、分子力场、量子力学等概念和数学语言,来描述离散的刚性原子(分子)系统内的相互作用。 · 不严格地讲,离散单元方法(虽然称为方法)也可以看做一种数学模型:因为它使用接触力、牛顿运动定律等概念和数学语言,来描述一个离散颗粒系统的运动。 值得指出的是,后两种模型因为考虑的是离散系统,所以本身就兼有数值计算方法的特点。但因它们描述的是一个物理系统内的相互作用,所以我们仍然可以粗略的把他们划归为模型。 什么是数值方法? 数值方法的目的是设计及分析一些计算的方式,针对一些问题(模型)得到近似但足够精确的的结果。(修改自维基百科“数值分析”词条。注:维基虽然不是正统的参考文献来源,但是有助于说明问题。)· 根据上面的概念,有限单元法是一种数值方法:因为它针对连续体的变形问题(连续介质力学模型),设计了单元分割及分片插值格式来计算固体的近似位移场。 · 还有,无网格方法是一种数值方法:是在数值计算中不需要生成网格,而是按照一些任意分布的坐标点构造插值函数离散控制方程(模型),就可模拟各种复杂结构或流场。 · 另外,有限差分法是一种求解微分方程的数值方法:是通过有限差分来近似导数,从而寻求微分方程(模型)的近似解。 · 这样的方法还有很多:比如有限体积法、谱方法、摄动方法、边界元法等。 通过对比,我们就可以发现:数学模型是针对一个物理系统建立方程,俗称建模的过程;而数值方法是针对一类方程(模型)提出具体的数值求解方式,从而得到方程的近似解的过程。既然是求方程(模型)的近似解,理论上应该有多种求解方法。比如,连续介质力学模型可以用有限元法求解,同时也可以用有限差分法求解。 相似的,近场动力学模型是用积分方程代替了微分方程,虽然不能再用描述微分的有限差分法求解,但是依然可以用有限元法求解。另外,对于积分方程,还可以把积分近似为离散求和的形式,所以也可以用一组离散坐标点来计算物质点之间的键力。 求解近场动力学模型的离散点方法和有限单元方法: 在PD模型刚提出的几年里,PD模型被用离散点的方法求解。笔者猜测有如下几个原因: · PD模型里一个重要的概念是材料点与材料点之间的键以及键上的相互作用,用离散点的求解方法正好直观地描述了这个相互作用。相反,有限单元在描述“键”时并不直观。 · PD模型的提出是为了描述材料的损伤和断裂过程。离散点之间的相互分离自然地产生了孔隙和分裂,从宏观上看就是裂纹。而那个时候,用不连续伽辽金有限单元求解PD模型的概念还没有提出,直到2011年的文章才提出。 · PD模型是由美国桑迪亚国家实验室的Silling博士提出的,在提出的时候,桑迪亚已经有一个国际知名且功能强大的分子动力学软件LAMMPS,只需将LAMMPS稍加改造就可以直接用于离散点方法求解PD模型,甚至后处理的图形显示都可以直接用上。事实上,Silling的研究团队也是这么做的,这就是后来逐渐分离出来的专门用于求解PD模型的开源软件Peridigm。 据笔者所知,直到最近才有商业有限元软件公司开始参与应用有限元法求解PD模型的工作,可以预测在不久的将来,小伙伴们也可以用商业有限元软件求解PD模型了。 有限单元方法的优势: 前面说了那么多,好像用有限元法求解PD模型时没有什么优势,那是因为我们还没有注意到有限元自身的优势: · 有限元在保证求解精度的情况下可以应用非均匀网格。对于PD模型,我们可以在裂纹初始和扩展的重要区域加密网格,而在其他区域应用粗网格,从细网格到粗网格还可以连续过渡。现在各种现成网格剖分软件(如gmsh) 都可以被直接应用。有限元法应用非均匀网格能减少计算量,同时还能保证计算精度。 · 有限单元可以采用不同阶的插值形函数,在网格不变的情况下,得到高阶的计算精度,并且有限元计算稳定、效率高。 · 有限元法可用的代码多,还有大量的商业有限元软件可以做二次开发。 因此,笔者在求解PD模型时采用有限元方法;当模拟裂纹扩展时,采用不连续伽辽金有限单元法。 到底是哪里出了差错? 现在让我们来反思一下,为什么小伙伴们会有“近场动力学模型与有限元法耦合”的概念?首先,可能是直观的先入为主的思维。因为小伙伴们开始接触近场动力学模拟的时候,大多看到的结果和用到的程序都是基于离散点的方法,所以就先入为主的认为近场动力学是一个用离散点方法求解材料断裂问题的方法,类似于物质点法。其实,近场动力学是一个新的理论体系,除了固体断裂问题外,它已经被用于热传导、电传导、流体流动和波的传播等问题。再往大里“吹牛”,笔者认为近场动力学可以看做一个哲学体系,其思想将来有可能会用于描述人的社会和经济行为。(笔者做一个大胆的猜想,由于移动互联网的广泛应用,人与人之间的联系已经大规模突破原来的“局部”关系——以前经常联系的都是您周边认识的熟人,变成了“非局部”的关系——比如我和您不认识,但是我们通过这个公众号建立了联系。) 图 原来的“局部”关系(有限元网格) 图 现在的“非局部”关系(键的连接方式) 其次,是概念上的混淆,可能是小伙伴们没有考虑到近场动力学是模型层面的概念,而有限元法是方法层面的概念。不同层次的概念不能放在一起讨论。举个不太恰当的例子来说:人在性别层面可以分为男人和女人,在职业层面可以分为教师、学生、警察、演员、厨师等。如果讨论婚姻问题,在性别层面,我们可以说男人和女人结婚天经地义,而男人和男人或者女人和女人能不能结婚现在也是讨论的热门话题。在职业层面,我们可以说相同职业容易有共同话题,所以容易结合,教师经常会找教师结婚,警察会找警察结婚,但很少听说大厨和演员结婚,而现在也经常听到“老师是否能跟自己的学生结婚”的热烈讨论。然而,我们大多不会说男人和演员结婚,也不会讨论女人和教师结婚。因为不是一个层面上的概念。谈谈我们的Morphing耦合方法: 我们所提出的Morphing耦合方法,是用于耦合PD模型和连续介质力学模型的。但在耦合模拟中,无论PD模型还是连续介质力学模型都是用有限元法求解的。所以,Morphing方法耦合的误差只在模型层面,在数值解法层面是完全匹配的。也正是因为这个原因,我们的耦合方法误差很小。 因此,当我们研究耦合问题时,笔者认为更为合适的说法应该是,近场动力学模型与连续力学模型的耦合,或者是求解PD模型的离散点方法与传统有限元方法的耦合。以上是个人的观点,有不足之处欢迎批评指正。 来源:近场动力学PD讨论班微信公众号(ID:peridynamics),作者:韩非。 |
GMT+8, 2024-11-25 12:44 , Processed in 0.057157 second(s), 23 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.