显示积分和隐式积分法
- 格式:doc
- 大小:24.00 KB
- 文档页数:3
显式算法与隐式算法的区别-CAL-FENGHAI.-(YICAI)-Company One1显式算法与隐式算法的区别所谓显式和隐式,是指求解方法的不同,即数学上的出发点不一样。
并不是说显式只能求动力学问题,隐式只能求静力学问题,只是求解策略不通。
显式求解是对时间进行差分,不存在迭代和收敛问题,最小时间步取决于最小单元的尺寸。
过多和过小的时间步往往导致求解时间非常漫长,但总能给出一个计算结果。
解题费用非常昂贵。
因此在建模划分网格时要非常注意。
隐式求解和时间无关,采用的是牛顿迭代法(线性问题就直接求解线性代数方程组),因此存在一个迭代收敛问题,不收敛就的不到结果。
两者求解问题所耗时间的长短理论上无法比较。
实际应用中一般感觉来说显式耗时多些。
由于两者解题的出发点,所以一般来说显式用于求解和时间相关的动力学问题。
隐式用来求解和时间无关的静力学问题。
但也不是绝对的。
比如,用隐式求解时,为了克服迭代不收敛,改用显式算,但是要多给点时间,这样虽然克服了不收敛的问题,但是求解的时间费用也是相当客观的。
另外,隐式也可以求解动力学问题。
这是ansys里面的两种求解方法。
大多数非线性动力学问题一般多是采用显式求解方法,特别是在求解大型结构的瞬时高度非线性问题时,显示求解方法有明显的优越性。
下面先简要对比一下隐式求解法和显示求解法。
动态问题涉及到时间域的数值积分方法问题。
在80年代中期以前,人们基本上采用纽曼法进行时间域的积分。
根据纽曼法,位移、速度和加速度有着如下关系:u(i+1)=u(i)+△t*v(i)[(1—2p)a(i)+2p*a(i+1)] (1)v(i+1)=V(i)+△t[(1-2q)a(i)+2qa(i+1)] (2)上面式子中 u(i+1),u(i)分别为当前时刻和前一时刻的位移,v(i+1)和V(i)为当前时刻和前一时刻的速度,a(i+1)和a(i)为当前时刻和前一时刻的加速度,p和q为两个待定参数,△t为当前时刻与前一时刻的时问差,符号 * 为乘号。
有限元分析基础- 显式与隐式算法的区别所谓显式和隐式,是指求解方法的不同,即在数学上的计算方法不一样,是两种不同针对时间的积分方法。
显式求解是对时间进行差分,不存在迭代和收敛问题,最小时间步取决于最小单元的尺寸。
过多或过小的时间步都会导致求解时间非常漫长,但总能给出一个计算结果。
隐式求解和时间无关,采用的是牛顿迭代法(线性问题就直接求解线性代数方程组),因此存在一个迭代收敛问题,不收敛就得不到结果。
在某些情况下,显式算法的计算效率远高于隐式算法,尤其是在多处理器并行运算的场景下,对于自由度较大的三维结构,显式算法可能具有较高的计算效率。
然而,对于自由度较小的二维结构,隐式算法可能更适合,因为它在每个增量步内不需要进行迭代,从而减少了计算时间。
总结来说,隐式方法适用于需要高计算精度和稳定性的场景,而显式方法则适用于需要高计算效率的场景。
COMSOL中实现空间和时间积分COMSOL Multiphysics是一个全面的多物理场模拟软件,可以用于解决一系列的工程和科学应用问题。
它提供了建模和模拟各种物理现象和行为的功能,包括机械、流体、电磁、热传导、化学反应等。
在COMSOL中实现空间和时间积分可以帮助我们更好地理解和预测系统的动态行为。
在COMSOL中实现空间积分可以通过三种不同的方法来完成:物理场变量的面平均、域积分、以及函数积分。
物理场变量的面平均方法可以用来计算在给定区域上的场的平均值。
域积分方法则是将域内的物理场变量在整个域上进行积分。
而函数积分方法则是将任意函数在一些区域上进行积分。
这些方法都可以用来对空间变量进行积分,从而获得物理问题的解决方案。
在COMSOL中实现时间积分的方法则主要有两种:显式和隐式。
显式方法是一种简单的方法,它根据时间步长和前一个时间点的解来计算当前时间点的解。
这种方法的优点是计算简单,但是对于时间步长的要求比较严格,需要选择合适的时间步长来保证计算的稳定性和精确性。
隐式方法则是在时间上进行迭代求解,这种方法的优点是能够在比较大的时间步长下进行计算,但是计算过程会比较复杂。
为了在COMSOL中实现空间和时间积分,首先需要在COMSOL中建立合适的模型。
可以通过选择适当的物理场和方程来描述系统的行为,并对边界条件进行定义。
接下来,需要选择合适的积分方法和算法来求解方程。
COMSOL提供了多种求解算法以满足不同问题的要求,用户可以根据具体的问题来选择适合的算法。
在建立模型和选择求解算法之后,还需要设置模拟的时间和空间范围。
时间范围可以通过设置初始时间和结束时间来定义。
而空间范围则需要根据模型的几何形状进行定义。
COMSOL提供了几何建模工具来帮助用户定义模型的几何形状,并自动生成有限元网格。
在设置好模型和求解算法之后,就可以进行模拟计算了。
COMSOL会自动根据时间步长和空间离散化来进行计算,并输出相应的结果。
主要在于动力学平衡方程的直接积分方式不同,abaqus/standard使用隐式积分法,而abaqus/explicit使用显式积分法
中心差分法的实质是用差分代替微分,并且对位移和加速度的导数采用线性外插,这限制了 t的取值不可过大,否则结果可能失真过大。
隐式积分法在求解当前U t+∆t,需要用到当前时刻的R t+∆t(R是力,是有效载荷的意思),因此该算法为隐式算法
显示时间积分方法的优越性
1)显示方法特别适用于求解需要分成许多小的时间增量来达到高精度的高速动力学时间,诸如冲击、碰撞、爆破问题等
2)显示方法最显著的特性是没有整体切线刚度矩阵,而这是隐式方法所必须的。
因为模型的状态为显示求解,所以不需要迭代和收敛准则。
3)接触问题和其他一些极度非连续事件在显示方法中很容易表达清楚并且能够一个节点一个节点地求解而不需要迭代。
节点加速度能够用来调整外力和内力在接触中的平衡。
显示算法中,不同单元(类型和形状)的时间稳定极限能够通过各自特定的公式求解出来。
如果时间增量超出了时间稳定极限,后果可能就是数值不稳定,会导致解答不收敛。
稳定极限对可靠性和精确性有很大的影响,故选择尽可能接近而且不超过稳定极限的时间增量。
显式和隐式积分格式隐式算法和显式算法是两个比较范的概念,无论是静力学问题,还是动力学问题,都可以应用这两种方法。
所谓显式和隐式,是指求解方法的不同,即数学上的出发点不一样。
并不是说显式只能求动力学问题,隐式只能求静力学问题,只是求解策略不同。
显式求解是对时间进行差分,不存在迭代和收敛问题,最小时间步取决于最小单元的尺寸。
过多和过小的时间步往往导致求解时间非常漫长,但总能给出一个计算结果。
解题费用非常昂贵。
因此在建模划分网格时要非常注意。
隐式求解和时间无关,采用的是牛顿迭代法(线性问题就直接求解线性代数方程组),因此存在一个迭代收敛问题,不收敛就得不到结果。
两者求解问题所耗时间的长短理论上无法比较。
实际应用中一般感觉来说显式耗时多些。
由于两者解题的出发点,所以一般来说显式用于求解和时间相关的动力学问题。
隐式用来求解和时间无关的静力学问题。
但也不是绝对的。
比如,用隐式求解时,为了克服迭代不收敛,改用显式算,但是要多给点时间,这样虽然克服了不收敛的问题,但是求解的时间费用也是相当客观的。
另外,隐式也可以求解动力学问题。
隐式算法能提供更有力的整体逼近,达到收敛需反复的迭代,因而代价比价大;显式方法不需要迭代,因而代价较小。
隐式算法适于结构的瞬态响应等问题;显式算法适于冲击、爆炸等问题。
隐式算法稳定性是无条件的,以K求逆为代价换得了比显式算法可以采用大得多的时间步长;显式算法是条件稳定,其积分的结果依赖时间步的大小,步长变大往往会造成结果不收敛,所以要注意时间步的大小,还要保证计算结果与真实结论的偏差要小。
隐式与显示最重要的区别在于是否对于整体刚度矩阵求逆,而这一过程也就决定了两者对于模型的要求,由于隐式算法要求逆,所以计算时要求整体刚度阵不能奇异,而显示就没有这一问题啦。
而对于动力学问题来将,从数学上看它属于微分方程中初边值问题,如果采用显示求解,很容易发生总纲奇异的问题,所以很多时候求解动力学问题都采用explicit来做。
显式算法和隐式算法,有时也称为显式解法和隐式解法,是计算力学中常见的两个概念,但是它们并没有普遍认可的定义,下面只是我的一些个人理解。
一、两种算法的比较1、显式算法基于动力学方程,因此无需迭代;而静态隐式算法基于虚功原理,一般需要迭代计算。
显式算法,最大优点是有较好的稳定性。
动态显式算法采用动力学方程的一些差分格式(如广泛使用的中心差分法、线性加速度法、Newmark法和wilson法等),不用直接求解切线刚度,不需要进行平衡迭代,计算速度快,时间步长只要取的足够小,一般不存在收敛性问题。
因此需要的内存也比隐式算法要少。
并且数值计算过程可以很容易地进行并行计算,程序编制也相对简单。
但显式算法要求质量矩阵为对角矩阵,而且只有在单元积分点计算尽可能少时速度优势才能发挥, 因而往往采用减缩积分方法,容易激发沙漏模式,影响应力和应变的计算精度。
静态显式法基于率形式的平衡方程组与Euler向前差分法,不需要迭代求解。
由于平衡方程式仅在率形式上得到满足,所以得出的结果会慢慢偏离正确值。
为了减少相关误差,必须每步使用很小的增量。
除了欧拉向前差分法外,其它的差分格式都是隐式的方法,需要求解线性方程组。
2、隐式算法隐式算法中,在每一增量步内都需要对静态平衡方程进行迭代求解,并且每次迭代都需要求解大型的线性方程组,这以过程需要占用相当数量的计算资源、磁盘空间和内存。
该算法中的增量步可以比较大,至少可以比显式算法大得多,但是实际运算中上要受到迭代次数及非线性程度的限制,需要取一个合理值。
二、求解时间使用显式方法,计算成本消耗与单元数量成正比,并且大致与最小单元的尺寸成反比,应用隐式方法,经验表明对于许多问题的计算成本大致与自由度数目的平方成正比,因此如果网格是相对均匀的,随着模型尺寸的增长,显式方法表明比隐式方法更加节省计算成本。
三、两种方法的应用范围:a)在求解动力学问题时,将方程在空间上采用有限元法(或其他方法)进行离散后,变为常微分方程组F=M(u)+C(u)+K(u)。
多体系统动力学分析方法研究与应用在现代工程和科学领域中,多体系统动力学的研究具有至关重要的意义。
多体系统是由多个相互连接、相互作用的物体组成的复杂系统,其在机械工程、航空航天、汽车工业、生物力学等众多领域都有广泛的应用。
为了更好地理解和设计这些系统,对多体系统动力学的分析方法进行深入研究是必不可少的。
多体系统动力学的分析方法主要可以分为两类:基于拉格朗日方程的方法和基于牛顿欧拉方程的方法。
拉格朗日方程是一种基于能量的方法,它通过定义系统的广义坐标和广义速度,构建系统的拉格朗日函数,从而导出系统的运动方程。
这种方法的优点是可以自动处理约束条件,使得方程的推导较为简洁。
然而,对于复杂的多体系统,拉格朗日函数的构建可能会变得非常困难。
牛顿欧拉方程则是基于力和力矩的方法。
它分别对每个物体应用牛顿第二定律和欧拉方程,通过分析物体之间的相互作用力和力矩来建立系统的运动方程。
这种方法直观易懂,但在处理约束和多体之间的复杂连接关系时,可能会比较繁琐。
在实际应用中,还有一些基于上述基本方法的改进和扩展技术。
例如,凯恩方法结合了拉格朗日方程和牛顿欧拉方程的优点,通过定义广义速率和偏速度,有效地处理了复杂多体系统的动力学问题。
随着计算机技术的飞速发展,数值计算方法在多体系统动力学分析中发挥了重要作用。
常见的数值计算方法包括显式积分方法和隐式积分方法。
显式积分方法计算效率高,但稳定性较差,适用于求解短时间、小变形的问题。
隐式积分方法稳定性好,但计算成本较高,适用于求解长时间、大变形的问题。
多体系统动力学分析方法在机械工程领域有着广泛的应用。
例如,在汽车设计中,可以通过建立汽车多体动力学模型,分析悬挂系统、转向系统和传动系统的运动特性,从而优化汽车的操控性能和舒适性。
在航空航天领域,多体动力学模型可以用于模拟飞行器的飞行姿态、机翼的振动和起落架的收放等,为飞行器的设计和控制提供重要依据。
在生物力学中,多体系统动力学分析方法可以用于研究人体运动,如跑步、跳跃和行走等。
显式与隐式方法对比显式与隐式方法对比:隐式时间积分——不考虑惯性效应([C]and[M])。
——在t+△t时计算位移和平均加速度:{u}={F}/[K]。
——线性问题时,无条件稳定,可以用大的时间步。
——非线性问题时,通过一系列线性逼近(Newton-Raphson)来求解;要求转置非线性刚度矩阵[k];收敛时候需要小的时间步;对于高度非线性问题无法保证收敛。
显式时间积分——用中心差法在时间t求加速度:{a}=([F(ext)]-[F(int)])/[M]。
——速度与位移由:{v}={v0}+{a}t,{u}={u0}+{v}t——新的几何构型由初始构型加上{X}={X0}+{U}——非线性问题时,块质量矩阵需要简单的转置;方程非耦合,可以直接求解;无须转置刚度矩阵,所有的非线性问题(包括接触)都包含在内力矢量中;内力计算是主要的计算部分;无效收敛检查;保存稳定状态需要小的时间步。
关于文件组织:jobname.k——lsdyna输入流文件,包括所有的几何,载荷和材料数据jobname.rst——后处理文件主要用于图形后处理(post1),它包含在相对少的时间步处的结果。
jobname.his——在post26中使用显示时间历程结果,它包含模型中部分与单元集合的结果数据。
时间历程ASCII文件——包含显式分析额外信息,在求解之前需要用户指定要输出的文件,它包括:GLSTAT全局信息,MATSUM材料能量,SPCFORC节点约束反作用力,RCFORC接触面反作用力,RBDOUT刚体数据,NODOUT节点数据,ELOUT单元数据……在显式动力分析中还可以生成下列文件:D3PLOT——类似ansys中jobname.rstD3THDT——时间历程文件,类似ansys中jobname.his关于单元:ANSYS/LSDYNA有7中单元(所有单元均为三维单元):LINK160:显式杆单元;BEAM161:显式梁单元;SHELL163:显式薄壳单元;SOLID164:显式块单元;COMBI165:显式弹簧与阻尼单元;MASS166:显式结构质量;LINK167:显式缆单元显式单元与ansys隐式单元不同:——每种单元可以用于几乎所有的材料模型。
按照计算每一时刻动力反应是否需要求解线性方程组,可将直接积分法分为隐式积分方法和显式积分方法两类。
隐式积分法是根据当前时刻及前几时刻体系的动力反应值建立以下一时刻动力反应值为未知量的线性方程组,通过求解方程组确定下一时刻动力反应。
隐式方法的研究和应用由来已久,常用的方法有线性加速度法、常平均加速度法、New mark方法、Wilson-θ法、Houbolt 方法等。
显式积分法可由当前时刻及前几时刻的体系动力反应值直接外推下一时刻的动力反应值,不需要求解线性方程组,实现了时间离散的解耦。
解方程组一般占整个有限元求解程序耗时的70%左右,因此,这一解耦技术对计算量的节省是可观的。
隐式方法大部分是无条件稳定的,显式方法为条件稳定。
显式方法的稳定性可以按满足精度要求的空间步距确定满足数值积分稳定性要求的时问步距来实现。
显式方法受条件稳定的限制,时间积分步长将取得较小,但计算经验表明,对于一些自由度数巨大且介质呈非线性的问题,显式法比隐式法所需的计算量要小得多。
因此,随着所考虑问题复杂性的增加,显式积分法得到重视。
对于显式与隐式有限元的理解关键字: 有限元显式隐式显式算法和隐式算法,有时也称为显式解法和隐式解法,是计算力学中常见的两个概念,但是它们并没有普遍认可的定义,下面只是我的一些个人理解。
一、两种算法的比较1、显式算法基于动力学方程,因此无需迭代;而静态隐式算法基于虚功原理,一般需要迭代计算。
显式算法,最大优点是有较好的稳定性。
动态显式算法采用动力学方程的一些差分格式(如广泛使用的中心差分法、线性加速度法、Newmark法和wilson法等),不用直接求解切线刚度,不需要进行平衡迭代,计算速度快,时间步长只要取的足够小,一般不存在收敛性问题。
因此需要的内存也比隐式算法要少。
并且数值计算过程可以很容易地进行并行计算,程序编制也相对简单。
但显式算法要求质量矩阵为对角矩阵,而且只有在单元积分点计算尽可能少时速度优势才能发挥, 因而往往采用减缩积分方法,容易激发沙漏模式,影响应力和应变的计算精度。
1、显式算法
最大优点是有较好的稳定性。
动态显式算法采用动力学方程的一些差分格式(如广泛使用的中心差分法、线性加速度法、Newmark法和wilson法等),不用直接求解切线刚度,不需要进行平衡迭代,计算速度快,时间步长只要取的足够小,一般不存在收敛性问题。
因此需要的内存也比隐式算法要少。
并且数值计算过程可以很容易地进行并行计算,程序编制也相对简单。
但显式算法要求质量矩阵为对角矩阵,而且只有在单元级计算尽可能少时速度优势才能发挥。
因而往往采用减缩积分方法,容易激发沙漏模式,影响应力和应变的计算精度。
静态显式法基于率形式的平衡方程组与Euler向前差分法,不需要迭代求解。
由于平衡方程式仅在率形式上得到满足,所以得出的结果会慢慢偏离正确值。
为了减少相关误差,必须每步使用很小的增量。
2、隐式算法
隐式算法中,在每一增量步内都需要对静态平衡方程进行迭代求解,并且每次迭代都需要求解大型的线性方程组,这以过程需要占用相当数量的计算资源、磁盘空间和内存。
该算法中的增量步可以比较大,至少可以比显式算法大得多,但是实际运算中上要受到迭代次数及非线性程度的限制,需要取一个合理值。
3、求解时间t
使用显式方法,计算成本消耗与单元数量成正比,并且大致与最小单元的尺寸成反比;
应用隐式方法,经验表明对于许多问题的计算成本大致与自由度数目的平方成正比;
因此如果网格是相对均匀的,随着模型尺寸的增长,显式方法表明比隐式方法更加节省计算成本。
这是ansys里面的两种求解方法。
大多数非线性动力学问题一般多是采用显式求解方法,特别是在求解大型结构的瞬时高度非线性问题时,显示求解方法有明显的优越性。
下面先简要对比一下隐式求解法和显示求解法。
动态问题涉及到时间域的数值积分方法问题。
在80年代中期以前,人们基本上采用纽曼法进行时间域的积分。
根据纽曼法,位移、速度和加速度有着如下关系:
u(i+1)=u(i)+△t*v(i)[(1—2p)a(i)+2p*a(i+1)] (1)
v(i+1)=V(i)+△t[(1-2q)a(i)+2qa(i+1)] (2)
上面式子中u(i+1),u(i)分别为当前时刻和前一时刻的位移,v(i+1)和V(i)为当前时刻和前一时刻的速度,a(i+1)和a(i)为当前时刻和前一时刻的加速度,p 和q为两个待定参数,△t为当前时刻与前一时刻的时问差,符号* 为乘号。
由式(1)和式(2)可知,在纽曼法中任一时刻的位移、速度、加速度都相互关联,这就使得运动方程的求解变成一系列相互关联的非线性方程的求解,这个求解过程必须通过迭代和求解联立方程组才能实现。
这就是通常所说的隐式求解法。
隐式求解法可能遇到两个问题。
一是迭代过程不一定收敛,二是联立方程组可能出现病态而无确定的解。
隐式求解法最大的优点是它具有无条件稳定性,即时间步长可以任意大。
如果采用中心差分法来进行动态问题的时域积分,则有如下位移、速度和加速度关系式:
u(i+1)=2u(i)-u(i-1)+a(i)(△t)^2 (3)
v(i+1)=[u(i+1)-u(i-1)]/2(△t) (4)
式中u(i-1),为i-1时刻的位移。
由式(3)可以看出,当前时刻的位移只与前一时刻的加速度和位移有关,这就意味着当前时刻的位移求解无需迭代过程。
另外,只要将运动过程中的质量矩阵和阻尼矩阵对角化,前一时刻的加速度求解无需解联立方程组,从而使问题大大简化,这就是所谓的显式求解法。
显式求解法的优点是它既没有收敛性问题,也不需要求解联立方程组,其缺点是时间步长受到数值积分稳定性的限制,不能超过系统的临界时间步长。
隐式求解法不考虑惯性效应[C]和[M]。
对于线性问题,无条件稳定,可以用大的时间步。
对于非线性问题,通过一系列线性逼近(Newton-Raphson)来求解;要求转置非线性刚度矩阵[K],收敛时候需要小的时间步,对于高度非线性
问题无法保证收敛。
因此,隐式求解一般用于线性分析和非线性结构静动力分析,包括结构固有频率和振型计算。
ansys使用的Newmark时间积分法即为隐式求解法。
显示求解法是ansys/ls-dyna中主要的求解方法,用于分析大变形、瞬态问题、非线性动力学问题等。
对于非线性分析,显示求解法有一些基本的特点,如:块质量矩阵需要简单的转置;方程非耦合,可以直接求解;无须转置刚度矩阵,所有的非线性问题(包括接触)都包含在内力矢量中;内力计算是主要的计算部分;无效收敛检查;保存稳定状态需要小的时间步。
(此处我也不是很理解,仅供你参考)。
弄清楚了隐式和显示求解法后,简单说一下单点积分和全积分。
ansys作为一种有限单元法,它是一种离散化的数值解法。
有限单元法中,每一单元的特性用单元刚度矩阵来表示,每一结构构件的力与位移之间的关系不是精确推导出来的,而是利用每一单元中近似的位移函数得到节点位移,然后计算积分点应变和应力,输出时才根据用户请求将积分点结果复制或线性外推至单元的节点上。
因此,有限单元法是一种近似的数值方法。
先看一下积分点的概念:
计算刚度矩阵需要进行数值积分,Ansys采用高斯积分法,即采用各积分点处函数值与积分系数乘积之和,因此积分点也称高斯积分点。
积分点位置的确定比较复杂,它是勒让德多项式Ln(x)的n个不同的实根,即需要求解勒让德多项式。
对于面、体单元,在积分点处计算单元结果也比较精确。
由此可知,积分点与节点完全不同,不同单元积分点位置也不一样,个别梁单元也没有积分点。
Gauss 积分阶数低于被积函数所有项次精确积分所需阶数的积分称为缩减积分,简单地说就是数值积分采用比精确积分要求少的积分点数。
实际计算表明,采用缩减积分往往可以取得较完全精确积分更好的精度。
因此,所谓单点积分和全积分实际上指的是高斯积分时所采用的积分点的个数。
这样说来,单点积分和全积分与显示求解法和隐式求解法没有本质的联系。
只不过,在显示动力分析中最消耗CPU的一项就是单元的处理。
由于积分点的个数与CPU时间成正比,采用简化积分的单元便可以极大的节省数据存储量和运算次数,进而提高运算效率。
除节省CPU外,单点积分单元在大变形分析中同样有效,ansys/ls-dyna单元能承受比标准ansys隐式单元更大的变形。
因此,每种显示动力单元确省为单点积分。
但单点积分有两个缺点:1.出现零能
模型(沙漏模态);2.应力结果精确度与积分点相关。
为了控制沙漏,可以采用全积分单元。
总结一下,显示求解法、隐式求解法与单点积分、全积分不是一个层次上的概念。
我们在求解问题的时候应先根据我们的问题类型来决定是采用显示求解法还是隐式求解法。
如果是采用显示求解法,默认是单点积分,如果产生了沙漏,改用全积分。