显式与隐式算法区别

合集下载

有限元分析基础-隐式与显式算法的区别

有限元分析基础-隐式与显式算法的区别

有限元分析基础- 显式与隐式算法的区别所谓显式和隐式,是指求解方法的不同,即在数学上的计算方法不一样,是两种不同针对时间的积分方法。

显式求解是对时间进行差分,不存在迭代和收敛问题,最小时间步取决于最小单元的尺寸。

过多或过小的时间步都会导致求解时间非常漫长,但总能给出一个计算结果。

隐式求解和时间无关,采用的是牛顿迭代法(线性问题就直接求解线性代数方程组),因此存在一个迭代收敛问题,不收敛就得不到结果。

在某些情况下,显式算法的计算效率远高于隐式算法,尤其是在多处理器并行运算的场景下,对于自由度较大的三维结构,显式算法可能具有较高的计算效率。

然而,对于自由度较小的二维结构,隐式算法可能更适合,因为它在每个增量步内不需要进行迭代,从而减少了计算时间。

总结来说,隐式方法适用于需要高计算精度和稳定性的场景,而显式方法则适用于需要高计算效率的场景。

abaqus显式与隐式的区别

abaqus显式与隐式的区别

ABAQUS显式与隐式的区别ABAQUS中动态分析包括两大类基本方法:振型叠加法:用于求解线性动态问题;直接积分法:主要用于求解非线性动态问题。

ABAQUS显式(explicit)和隐式(standard)算法分别对应着直接积分法中的中心差分法(显式)和Newmark(隐式)法等。

比较两种算法,显式中心差分法非常适合研究波的传播问题,如碰撞、高速冲击、爆炸等。

显式中心差分法的M与C矩阵是对角阵,如给定某些有限元节点以初始扰动,在经过一个时间步长后,和它相关的节点进入运动,即U中这些节点对应的分量成为非零量,此特点正好和波的传播特点相一致。

另一方面,研究波传播的过程需要微小的时间步长,这也正是中心差分法的特点。

而Newmark法更加适合于计算低频占主导的动力问题,从计算精度考虑,允许采用较大的时间步长以节省计算时间,同时较大的时间步长还可以过滤掉高阶不精确特征值对系统响应的影响。

隐式方法要转置刚度矩阵,增量迭代,通过一系列线性逼近(Newton-Raphson)来求解。

正因为隐式算法要对刚度矩阵求逆,所以计算时要求整体刚度矩阵不能奇异,对于一些接触高度非线性问题,有时无法保证收敛。

下面分别介绍这两种算法。

1 显式算法(中心差分法)假定0,1t ,2t ,…,n t 时刻的节点位移,速度与加速度均为已知,现求解)(t t t n ∆+时刻的结构响应。

中心差分法对加速度,速度的导数采用中心差分代替,即为:)(21)2(12t t t t t t t t t t t U U tU U U U t U ∆-∆+∆+∆--∆=+-∆= (1) 将(1)式代入运动方程后整理得到tt t R U M ˆˆ=∆+(2) 式(2)中C tM t M ∆+∆=211ˆ2(3) t t t t t U C tM t U M t K R R ∆-∆-∆-∆--=)211()2(ˆ22(4) 分别称为有效质量矩阵,有效载荷矢量。

隐式求解与显式求解

隐式求解与显式求解

大多数非线性动力学问题一般多是采用显式求解方法,特别是在求解大型结构的瞬时高度非线性问题时,显示求解方法有明显的优越性。

下面先简要对比一下隐式求解法和显示求解法。

动态问题涉及到时间域的数值积分方法问题。

在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)可以看出,当前时刻的位移只与前一时刻的加速度和位移有关,这就意味着当前时刻的位移求解无需迭代过程。

另外,只要将运动过程中的质量矩阵和阻尼矩阵对角化,前一时刻的加速度求解无需解联立方程组,从而使问题大大简化,这就是所谓的显式求解法。

显式求解法的优点是它既没有收敛性问题,也不需要求解联立方程组,其缺点是时间步长受到数值积分稳定性的限制,不能超过系统的临界时间步长。

abaqus显示和隐式算法的差别

abaqus显示和隐式算法的差别

1.1. 弹性动力学有限元基本解法结构系统的通用运动学方程为:tR KU U C U M =++ (1) 求解该动力学振动响应主要有三类方法:(1)时域法(2)频域法(3)响应谱法 时域法又可分为:(1)直接积分法,(2)模态叠加法。

直接积分法又可分为中心差分法(显式),Wilson θ(隐式)法以及Newmark (隐式)法等。

本文介绍中心差分法(显式)与Newmark (隐式)法。

1 中心差分法(显式)假定0,1t ,2t ,…,n t 时刻的节点位移,速度与加速度均为已知,现求解)(t t t n ∆+时刻的 结构响应。

中心差分法对加速度,速度的导数采用中心差分代替,即为:)2(12t t t t t t U U U t U ∆+∆-+-∆= )(21t t t t t U U tU ∆-∆+-∆= (2) 将(2)式代入(1)式后整理得到tt t R U M ˆˆ=∆+ (3) 式(3)中C tM t M ∆+∆=211ˆ2 t t t t t U C tM t U M t K R R ∆-∆-∆-∆--=)211()2(ˆ22 分别称为有效质量矩阵,有效载荷矢量。

R ,M ,C ,K 为结构载荷,质量,阻尼,刚度矩阵。

求解线性方程组(3),即可获得t t ∆+时刻的节点位移向量t t U ∆+,将t t U ∆+代回几何方程与物理方程,可得t t ∆+时刻的单元应力和应变。

中心差分法在求解t t ∆+瞬时的位移t t U ∆+时,只需t t ∆+时刻以前的状态变量t U 和t t U ∆-,然后计算出有效质量矩阵M ˆ,有效载荷矢量tR ˆ,即可求出t t U ∆+,故称此解法为显式算法。

中心差分法,在开始计算时,需要仔细处理。

t =0时,要计算t U ∆,需要知道tU ∆-的值。

因此应该有一个起始技术,因而该算法不是自动起步的。

由于0U ,0U ,0U 是已知的,由t =0时的(2)式可知:02002U t U t U U t ∆+∆-=∆- 中心差分法中时间步长t ∆的选择涉及两个方面的约束:数值算法的稳定性和计算时间。

显式&隐式求解

显式&隐式求解

通过(03)(09)可以得到两种方法的计算特点,显式算法是每一步求解为矩阵乘法,时间步 选择为条件稳定;隐式算法是每一步求解为线性方程组求解,时间步选择为无条件稳定。 下面主要分析两种方法的应用范围。 在求解动力学问题时,将方程在空间上采用有限元法(或其他方法)进行离散后,变为 常微分方程组
C u K u f M u
只不过,在显示动力分析中最消耗 CPU 的一项就是单元的处理。由于积分点的个数与 CPU 时间成正比,采用简化积分的单元便可以极大的节省数据存储量和运算次数,进而提高 运算效率。除节省 CPU 外,单点积分单元在大变形分析中同样有效,Ansys/ls-dyna 单元能承 受比标准 Ansys 隐式单元更大的变形。因此,每种显示动力单元确省为单点积分。但单点积 分有两个缺点:1.出现零能模型(沙漏模态);2.应力结果精确度与积分点相关。为了控制沙 漏,可以采用全积分单元。 总结一下,显示算法、隐式算法与单点积分、全积分不是一个层次上的概念。 我们在求解问题的时候应先根据我们的问题类型来决定是采用显示算法还是隐式算法。 如果是采用显示算法,默认是单点积分,如果产生了沙漏,改用全积分。
u (i 1) 2u (i ) u (i 1) a (i )(t )2 v(i 1) u (i 1) u (i 1) 2t
由上式可以看出,当前时刻的位移只与前一时刻的加速度和位移有关,这就意味着当前时刻 的位移求解无需迭代过程。另外,只要将运动方程中的质量矩阵和阻尼矩阵对角化,前一时 刻的加速度求解无需解联立方程组,从而使问题大大简化,这就是所谓的显式算法。显式算 法的优点是它即没有收敛性问题,也不需求解联立方程组,其缺点是时间步长受到数值积分 稳定性的限制,不能超过系统的临界时间步长。 显式算法是 ansys/ls-dyna 中主要的求解方法,用于分析大变形、瞬态问题、非线性动力 学问题等。 对于非线性分析, 显示算法有一些基本的特点, 如: 块质量矩阵需要简单的转置; 方程非耦合,可以直接求解;无须转置刚度矩阵,所有的非线性问题(包括接触)都包含在 内力矢量中;内力计算是主要的计算部分;无效收敛检查;保存稳定状态需要小的时间步。 显式算法和隐式算法, 有时也称为显式解法和隐式解法, 是计算力学中常见的两个概念, 但是它们并没有普遍认可的定义,下面收集的一些理解。先看看一般对两种方法的理解和比 较 ============================================================= 显式算法 隐式算法 ----------------------------------------------------------------------------------(01)适用问题 动力学(动态) 静力学(静态) (02)阻尼 人工阻尼 数值阻尼 ----------------------------------------------------------------------------------(03)每步求解方法 矩贮量 小 大 (06)每步计算速度 快 慢 (07)迭代收敛性 无 有 (08)确定解 有确定解 可能是病态无确定解 ----------------------------------------------------------------------------------(09)时步稳定性 有条件 无条件 (10)时间步 小 大 (11)计算精度 低 高 ============================================================= (01)是明显不对的, 只是对两种方法的初级理解, (02)也是同样。 下面要详细讨论这两点。 (03)是每一步求解的方法,(04)(05)(06)(07)(08)是由(03)所决定的,它们不是两种方法的基本 特点。同样,(09)是时间步选择的方法,(10)(11)是由(09)所决定的。

显示算法与隐式算法

显示算法与隐式算法

以下内容转自abaqus版面的总结:显式一般用于动态问题的分析, 对于大型问题, 或复杂的接触情况可能需要几百万的增量步的计算, 所用时间可能是几天或更长. 而隐式的增量步长要长得多, 一般用于静态问题的求解.显式算法别explicit method use direct iterative method, which has small cost in eachtime increment but require relatively small increment. Abaqus pre-determinethe time increment based on wave propagation speed and minimum meshsize. This method could be efficient for highly nonlinear and contact problem.For quasi-static problem, properly adjust model parameter as density and totaltime is important to achieve good computation time.standard-隐式算法Implicit method use newton method for iteration, which means high cost foreach time increment but could mean large time increment. Convergencecould be a problem in this case. It could be efficient for linear and some nonlinear problem. More materials, elements and procedures are available in standard.所谓显式和隐式,是指求解方法的不同,即数学上的出发点不一样。

显式与隐式方法对比

显式与隐式方法对比

显式与隐式方法对比显式与隐式方法对比:隐式时间积分——不考虑惯性效应([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隐式单元不同:——每种单元可以用于几乎所有的材料模型。

显式与隐式方法对比

显式与隐式方法对比

显式与隐式方法对比:
隐式时间积分
——不考虑惯性效应([C]and[M])。
——在t+△t时计算位移和平均加速度:{u}={F}/[K]。
——线性问题时,无条件稳定,可以用大的时间步。
——Viscoelastic:定义玻璃类材料。需输入G0,G,K等参数。
塑性:
——有11中塑性模型,模型选择取决于要分析的材料和可以得到的材料参数。要得到好的分析结果,需要使用精确的材料参数。
——塑性模型可分为3大类
——位于不同的类别内的材料模型之间区别很大,但在一个类别内的材料模型差别不大,通常只是可获得的材料参数不同。
——每种显式动力单元缺省为单点积分。
——不具备额外形函数和中间节点的单元以及P单元。
——单元支持ansys/lsdyna中所有的非线性选项。
简化积分单元的使用:一个简化积分单元是一个使用最少积分点的单元,一个简化积分块单元具有在其中心的一个积分点;一个简化壳单元在面中心具有一个积分点。全积分块与壳单元分别具有8个
——可以通过solution>loading options。。得到载荷的参考号。
——初始速度(EDIVELO)与刚体定义(EDMP,RIGID)是显式分析所独有的。
——施加载荷时,如果不定义时间与载荷轴,可以使用预先定义的载荷曲线LCID(via EDCURVE)来定义载荷。
——可以使用SCALE系数对载荷数据进行放缩。
——定义完载荷曲线后,可以用EDPL画一下确认。
——所有3个模型可以用于大多数工程金属材料。
——BKIN与BISO模型之间的唯一区别是硬化假设,随动硬化假定二次屈服在2σy时出现,而等向硬化出现在2σmax。它们输入参数类似:DENS,EX,NUXY,Yield Stress(σy),Tangent Modulus(Etan)

显式和隐式动力分析比较

显式和隐式动力分析比较

显式和隐式动力分析比较随着国内各种动力弹塑性的兴起,对动力时程分析中提到的方法多有各种说法,对于设计院的人来说更是云里雾里的多,今天看到一篇文章讲得不错,于是结合下自己的看法大概说说显式和隐式动力分析的差别。

首先简单的解释下:显式分析:用上一步的结果和当前步的结果计算下一步的计算结果。

有条件收敛,要求时间步较小。

通常做动力分析用这种方法。

隐式分析:用当前步结果和下一步未知结果反复迭代下一步结果,必须通过迭代得到。

无条件收敛。

是一种能量平衡的结果。

通常做静力分析用这种方法。

两者均是求解动力方程,只是显式求解的每一步不是绝对平衡,而隐式求解是在每一步都是近似绝对平衡的。

显式算法:显式算法最大优点是有较好的稳定性。

动态显式算法采用动力学方程的一些差分格式(如广泛使用的中心差分法、线性加速度法等),不用直接求解切线刚度,不需要进行平衡迭代,计算速度快,时间步长只要取的足够小,一般不存在收敛性问题。

显式算法不需要迭代,也不需要组集总刚,因此需要的内存也比隐式算法要少。

并且数值计算过程可以很容易地进行并行计算,程序编制也相对简单。

但显式算法要求质量矩阵为对角矩阵,而且只有在单元级计算尽可能少时速度优势才能发挥, 因而往往采用减缩积分方法,容易激发沙漏模式,影响应力和应变的计算精度。

"静态显式法基于率形式的平衡方程组与Euler向前差分法,不需要迭代求解。

由于平衡方程式仅在率形式上得到满足,所以得出的结果会慢慢偏离正确值。

为了减少相关误差,必须每步使用很小的增量。

这个方法目前应用比较少。

总之显式方法不需要迭代是个利好,每步的时间基本是固定的,可以根据设置的波长和分析步长估算出计算总时间。

根据上面论述可以看出,一般多采用动态显式,一般有中心差分法、线加速度法等,也有人列出精细积分法为显式算法。

其中中心差分法的变种也非常多,有蛙跳式、向后差分式等。

由于其算法上当前步结果只跟上一步结果有关,因此只要对角化质量矩阵和阻尼矩阵即可不需要联立动力方程,可解耦到每个单元的差分公式,大大简化了计算过程。

显式算法与隐式算法的区别

显式算法与隐式算法的区别

显式算法与隐式算法得区别1、显式算法最大优点就是有较好得稳定性。

动态显式算法采用动力学方程得一些差分格式(如广泛使用得中心差分法、线性加速度法、Newmark法与wilson法等),不用直接求解切线刚度,不需要进行平衡迭代,计算速度快,时间步长只要取得足够小,一般不存在收敛性问题。

因此需要得内存也比隐式算法要少。

并且数值计算过程可以很容易地进行并行计算,程序编制也相对简单。

但显式算法要求质量矩阵为对角矩阵,而且只有在单元级计算尽可能少时速度优势才能发挥。

因而往往采用减缩积分方法,容易激发沙漏模式,影响应力与应变得计算精度。

静态显式法基于率形式得平衡方程组与Euler向前差分法,不需要迭代求解。

由于平衡方程式仅在率形式上得到满足,所以得出得结果会慢慢偏离正确值。

为了减少相关误差,必须每步使用很小得增量。

2、隐式算法隐式算法中,在每一增量步内都需要对静态平衡方程进行迭代求解,并且每次迭代都需要求解大型得线性方程组,这以过程需要占用相当数量得计算资源、磁盘空间与内存。

该算法中得增量步可以比较大,至少可以比显式算法大得多,但就是实际运算中上要受到迭代次数及非线性程度得限制,需要取一个合理值。

3、求解时间t使用显式方法,计算成本消耗与单元数量成正比,并且大致与最小单元得尺寸成反比;应用隐式方法,经验表明对于许多问题得计算成本大致与自由度数目得平方成正比;因此如果网格就是相对均匀得,随着模型尺寸得增长,显式方法表明比隐式方法更加节省计算成本。

所谓显式与隐式,就是指求解方法得不同,即数学上得出发点不一样。

并不就是说显式只能求动力学问题,隐式只能求静力学问题,只就是求解策略不通。

显式求解就是对时间进行差分,不存在迭代与收敛问题,最小时间步取决于最小单元得尺寸。

过多与过小得时间步往往导致求解时间非常漫长,但总能给出一个计算结果。

解题费用非常昂贵。

因此在建模划分网格时要非常注意。

隐式求解与时间无关,采用得就是牛顿迭代法(线性问题就直接求解线性代数方程组),因此存在一个迭代收敛问题,不收敛就得不到结果。

Abaqus隐式和显式求解的区别和应用

Abaqus隐式和显式求解的区别和应用

Abaqus隐式和显式求解的区别和应⽤Abaqus有限元计算要使⽤的求解器类型:隐式还是显式?求解器类型会影响求解的⽅程组、某些单元的可⽤性、运⾏时间,甚⾄是否获得收敛。

本⽂将解释Abaqus中可⽤的两个求解器之间的区别,它们的优缺点以及何时选择哪种求解器。

有什么区别?当谈论FEA中的隐式或显式时,谈论的是⽤于时间增量的算法,在两种情况下,模型的状态都是在多个时间点计算,新状态是根据旧状态计算的。

使⽤显式算法,可以直接从当前状态下的可⽤数据计算新状态,基本上是⼀种推断。

⽽使⽤隐式算法,不能直接从旧状态计算新状态,必须求解⼀个耦合的⽅程组,这需要⾮线性解算法,通常是Newton-Raphson⽅法。

计算成本和时间增量⼤⼩单个显式增量的计算成本很⼩,所需的所有信息都可⽤,计算简单快捷。

但是,时间增量不能太⼤,因为这样会变得不稳定,解上的误差会呈指数级增长。

如果我们将其视为外推,远远超出已知范围的推断往往会给出错误的结果,特别是如果错误有机会相加。

可以使⽤的最⼤时间增量由 Abaqus ⾃动计算,称为稳定时间增量,稳定的时间增量随着单元尺⼨的减⼩、密度的降低和刚度的提⾼⽽减⼩。

具有最⼩稳定时间增量的单元决定了整个分析的时间增量,因此,单个形状不良的单元会极⼤地影响仿真时间。

在整个分析过程中,稳定时间增量通常近似恒定,因此,⼀旦第⼀个增量完成,可以估计运⾏分析所需的时间。

隐式增量的计算成本要⼤得多,因为需要求解⼀个⽅程组,对于⾮线性分析,这甚⾄需要多次完成。

因此,解决单个隐式增量将需要更多的时间和内存。

另⼀⽅⾯,时间增量⼤⼩不受隐式算法稳定性问题的限制,通常允许⽐显式算法更⼤的时间增量。

Abaqus/Standard(隐式求解器)中的增量⼤⼩通常由 Abaqus 根据Newton-Raphson⽅案收敛的难易程度⾃动确定。

越是⾮线性,找到收敛解决⽅案的计算成本就越⾼。

图 1:显式和隐式求解器的时间增量。

abaqus显示和隐式算法的差别

abaqus显示和隐式算法的差别

1.1. 弹性动力学有限元基本解法结构系统的通用运动学方程为:tR KU U C U M =++ (1) 求解该动力学振动响应主要有三类方法:(1)时域法(2)频域法(3)响应谱法 时域法又可分为:(1)直接积分法,(2)模态叠加法。

直接积分法又可分为中心差分法(显式),Wilson θ(隐式)法以及Newmark (隐式)法等。

本文介绍中心差分法(显式)与Newmark (隐式)法。

1 中心差分法(显式)假定0,1t ,2t ,…,n t 时刻的节点位移,速度与加速度均为已知,现求解)(t t t n ∆+时刻的 结构响应。

中心差分法对加速度,速度的导数采用中心差分代替,即为:)2(12t t t t t t U U U t U ∆+∆-+-∆= )(21t t t t t U U tU ∆-∆+-∆= (2) 将(2)式代入(1)式后整理得到t t t R U Mˆˆ=∆+ (3) 式(3)中C tM t M ∆+∆=211ˆ2 t t t t t U C tM t U M t K R R ∆-∆-∆-∆--=)211()2(ˆ22 分别称为有效质量矩阵,有效载荷矢量。

R ,M ,C ,K 为结构载荷,质量,阻尼,刚度矩阵。

求解线性方程组(3),即可获得t t ∆+时刻的节点位移向量t t U ∆+,将t t U ∆+代回几何方程与物理方程,可得t t ∆+时刻的单元应力和应变。

中心差分法在求解t t ∆+瞬时的位移t t U ∆+时,只需t t ∆+时刻以前的状态变量t U 和t t U ∆-,然后计算出有效质量矩阵M ˆ,有效载荷矢量tR ˆ,即可求出t t U ∆+,故称此解法为显式算法。

中心差分法,在开始计算时,需要仔细处理。

t =0时,要计算t U ∆,需要知道tU ∆-的值。

因此应该有一个起始技术,因而该算法不是自动起步的。

由于0U ,0U ,0U 是已知的,由t =0时的(2)式可知:02002U t U t U U t ∆+∆-=∆- 中心差分法中时间步长t ∆的选择涉及两个方面的约束:数值算法的稳定性和计算时间。

显式求解方法和隐式求解方法对比

显式求解方法和隐式求解方法对比

采用有限元方法开展结构的动力学分析最终归结为求解离散后的常微分方程组tR KU U C U M =++ 。

在时域内求解该方程最常用的方法是直接积分法,而又根据求解过程中是否需要迭代求解线性方程组,将直接积分法分为隐式积分方法和显式积分方法两类。

隐式积分法认为t+Δt时刻系统的状态不仅与t时刻状态有关,且与t+Δt时刻某些量有关。

因此隐式算法是根据t n 及t n-1...时刻体系的物理量值建立关于以t n+1时刻物理量为未知量的线性方程组,通过求解方程组确定t n+1时刻的物理量(常用的方法有线性加速度法、常平均加速度法、Newmark 方法、Wilson-θ法、Houbolt 方法等)。

而显式积分法认为t+Δt时刻系统的状态仅与t时刻状态有关可,因此可由t n 及t n-1...时刻体系的物理量值直接外推t n+1时刻物理量值(如中心差分法),不需要求解线性方程组,实现了时间离散的解耦。

两种算法的比较 :(1)隐式算法隐式算法基于虚功原理,要迭代计算。

隐式算法在每一增量步内都需要对静态平衡方程进行迭代求解,并且每次迭代都需要求解大型的线性方程组,这一过程需要占用相当数量的计算资源、磁盘空间和内存。

理论上在这个算法中的增量步可以很大,但是实际运算中上要受到接触以及摩擦等条件的限制。

随着单元数目的增加,计算时间几乎呈平方次增加。

由于需要矩阵求逆以及精确积分,对内存要求很高。

隐式算法的不利方面就是收敛问题不容易解决,且在开始起皱失稳时,在分叉点处刚度矩阵出现奇异。

(2)显式算法显示算法基于动力学方程,无需迭代,包括动态显式和静态显式算法。

动态显式算法采用动力学方程的中心差分格式,不用直接求解切线刚度,不需要进行平衡迭代,计算速度快,也不存在收敛控制问题。

该算法需要的内存也比隐式算法要少。

数值计算过程可以很容易地进行并行计算,程序编制也相对简单。

它也有一些不利方面。

显式算法要求质量矩阵为对角矩阵,而且只有在单元级计算尽可能少时速度优势才能发挥, 因而往往采用减缩积分方法,容易激发沙漏模式,影响应力和应变的计算精度。

显式与隐式算法区别

显式与隐式算法区别

显式与隐式算法区别显式(explicit)和隐式(implicit)这两个词在有限元分析中⼤家可能经常看到,特别是涉及到动⼒学分析时。

但其实⼴义的说他们分别对应着两种不同的算法:显式算法(explicit method)和隐式算法(implicit method)。

所以不论在动⼒学或者静⼒学中都有涉及到。

显式算法:不直接求解切线刚度,不进⾏平衡迭代,计算速度快,时间步长只需要⾜够⼩,⼀般不存在收敛问题,需要的内存也⼩。

隐式算法:每⼀增量步都需要对静态⽅程进⾏平衡迭代,且每次迭代需要求解⼤量的线性⽅程组,这⼀特点使之占⽤⼤量的资源。

但该算法增量步可以很⼤,⾄少⽐显式算法⼤的多,实际计算中会受到迭代次数及⾮线性程度的影响我们都知道有限元分析FEA在计算微分⽅程(differential equations)时,由于计算本⾝的局限,⽐如计算机储存的位数有限,以及⽅程本⾝的复杂性,计算机运⽤的是数值算法(numerical algorithm)来逼近真实解的。

有限元分析中数值算法的基础是欧拉法(Euler method),欧拉法⼜分为forward Euler method 和backward Euler method,这两种⽅法被简称为显式法(explicit method)和隐式法(implicit method)。

中⼼差分法:(动⼒学分析)⽤有限差分代替位移对时间的求导,将运动⽅程中的速度与加速度⽤位移的某种组合来标⽰,这样就将常微分⽅程组的求解问题转化为代数⽅程组的求解问题,并假设在每个⼩的时间间隔内满⾜运动⽅程。

⾸先我们来看看这两种算法的区别。

显式算法(explicit method)(forward Euler method)考虑常微分⽅程:初始条件:设为每⼀步的时间步长,在Tn时刻,. (n=0,1,2,3...),在T(n+1)时刻有:所以在显式算法中,T(n+1)时刻的值由T(n)时刻决定,也就是说当前时刻的值由上⼀时刻的值决定。

abaqus显示和隐式算法的差别

abaqus显示和隐式算法的差别

1.1. 弹性动力学有限元基本解法 结构系统的通用运动学方程为: MU CU KU 二 R t( 1)求解该动力学振动响应主要有三类方法:(1)时域法(2)频域法(3)响应谱法 时域法又可分为:(1)直接积分法,(2)模态叠加法。

直接积分法又可分为中 心差分法(显式), Wils on ■'(隐式)法以及Newmark (隐式)法等。

本文介绍中心差分法(显式)与 Newmark (隐式)法。

1中心差分法(显式) 假定0, t 1, t 2,…,t n 时刻的节点位移,速度与加速度均为已知,现求解 t n (t *:t )时刻的结构响应。

中心差分法对加速度,速度的导数采用中心差分代替,即 为:1 2(U t_t -2U t U t T L t1*(U t 「U t J(2) 式代入(1)式后整理得到 t R(3) (3) 中 1 12 M C ■ :t 2 2・:t2 1 1二 R t _(K -〒 M )U t -(〒M -石 C )U —分别称为有效质量矩阵,有效载荷矢量。

R ,M ,C ,K 为结构载荷,质量,阻 尼,刚度矩阵。

求解线性方程组(3),即可获得r . :t 时刻的节点位移向量U t.、.t,将U,*代回几 何方程与物理方程,可得t 时刻的单元应力和应变。

中心差分法在求解t •.迸瞬时的位移U t t时,只需t •氏时刻以前的状态变量U t和 U tj :,然后计算出有效质量矩阵M?,有效载荷矢量R ,即可求出U,t ,故称此解法 为显式算法。

中心差分法,在开始计算时,需要仔细处理。

t=0时,要计算U t ,需要知道u J 的值。

因此应该有一个起始技术,因而该算法不是自动起步的。

由于 U o , U o , U o 是 已知的,由t=0时的(2)式可知:■ ■: t 2 "Uj 二 U 。

- :tU ° U 。

2中心差分法中时间步长:t 的选择涉及两个方面的约束:数值算法的稳定性和计算 时间。

显式和隐式积分格局[整理版]

显式和隐式积分格局[整理版]

显式和隐式积分格式隐式算法和显式算法是两个比较范的概念,无论是静力学问题,还是动力学问题,都可以应用这两种方法。

所谓显式和隐式,是指求解方法的不同,即数学上的出发点不一样。

并不是说显式只能求动力学问题,隐式只能求静力学问题,只是求解策略不同。

显式求解是对时间进行差分,不存在迭代和收敛问题,最小时间步取决于最小单元的尺寸。

过多和过小的时间步往往导致求解时间非常漫长,但总能给出一个计算结果。

解题费用非常昂贵。

因此在建模划分网格时要非常注意。

隐式求解和时间无关,采用的是牛顿迭代法(线性问题就直接求解线性代数方程组),因此存在一个迭代收敛问题,不收敛就得不到结果。

两者求解问题所耗时间的长短理论上无法比较。

实际应用中一般感觉来说显式耗时多些。

由于两者解题的出发点,所以一般来说显式用于求解和时间相关的动力学问题。

隐式用来求解和时间无关的静力学问题。

但也不是绝对的。

比如,用隐式求解时,为了克服迭代不收敛,改用显式算,但是要多给点时间,这样虽然克服了不收敛的问题,但是求解的时间费用也是相当客观的。

另外,隐式也可以求解动力学问题。

隐式算法能提供更有力的整体逼近,达到收敛需反复的迭代,因而代价比价大;显式方法不需要迭代,因而代价较小。

隐式算法适于结构的瞬态响应等问题;显式算法适于冲击、爆炸等问题。

隐式算法稳定性是无条件的,以K求逆为代价换得了比显式算法可以采用大得多的时间步长;显式算法是条件稳定,其积分的结果依赖时间步的大小,步长变大往往会造成结果不收敛,所以要注意时间步的大小,还要保证计算结果与真实结论的偏差要小。

隐式与显示最重要的区别在于是否对于整体刚度矩阵求逆,而这一过程也就决定了两者对于模型的要求,由于隐式算法要求逆,所以计算时要求整体刚度阵不能奇异,而显示就没有这一问题啦。

而对于动力学问题来将,从数学上看它属于微分方程中初边值问题,如果采用显示求解,很容易发生总纲奇异的问题,所以很多时候求解动力学问题都采用explicit来做。

显示算法和隐式算法单点积分算法和全积分算法

显示算法和隐式算法单点积分算法和全积分算法

先说说显示算法和隐式算法:这是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)可以看出,当前时刻的位移只与前一时刻的加速度和位移有关,这就意味着当前时刻的位移求解无需迭代过程。

另外,只要将运动过程中的质量矩阵和阻尼矩阵对角化,前一时刻的加速度求解无需解联立方程组,从而使问题大大简化,这就是所谓的显式求解法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

显式(explicit)和隐式(implicit)这两个词在有限元分析中大家可能经常看到,特别是涉及到动力学分析时。

但其实广义的说他们分别对应着两种不同的算法:显式算法(explicit method)和隐式算法(implicit method)。

所以不论在动力学或者静力学中都有涉及到。

显式算法:不直接求解切线刚度,不进行平衡迭代,计算速度快,时间步长只需要足够小,一般不存在收敛问题,需要的内存也小。

隐式算法:每一增量步都需要对静态方程进行平衡迭代,且每次迭代需要求解大量的线性方程组,这一特点使之占用大量的资源。

但该算法增量步可以很大,至少比显式算法大的多,实际计算中会受到迭代次数及非线性程度的影响
我们都知道有限元分析FEA在计算微分方程(differential equations)时,由于计算本身的局限,比如计算机储存的位数有限,以及方程本身的复杂性,计算机运用的是数值算法(numerical algorithm)来逼近真实解的。

有限元分析中数值算法的基础是欧拉法(Euler method),欧拉法又分为forward Euler method 和backward Euler method,这两种方法被简称为显式法(explicit method)和隐式法(implicit method)。

中心差分法:
(动力学分析)用有限差分代替位移对时间的求导,将运动方程中的速度与加速度用位移的某种组合来标示,这样就将常微分方程组的求解问题转化为代数方程组的求解问题,并假设在每个小的时间间隔内满足运动方程。

首先我们来看看这两种算法的区别。

显式算法(explicit method )(forward Euler method )
考虑常微分方程:
初始条件:
设为每一步的时间步长, 在Tn 时刻,
. (n=0,1,2,3...),在T(n+1)
时刻有:
所以在显式算法中,T(n+1)时刻的值由T(n)时刻决定,也就是说当前时刻的值由上一时刻
的值决定。

隐式算法(implicit method)(backward Euler method)
考虑同一个方程,在T(n+1)时刻有:
所以在隐示算法中,T(n+1)时刻的值不光由T(n)时刻决定,还由当前时刻T(n+1)决定。

也就是说当前时刻的值由上一时刻和当前时刻的值共同决定。

隐式算法往往需要求解二次方程。

我们来看看一个具体事例:
设常微分方程:
根据上面的方法,对于显示算法有:
得出:
对于隐式算法有:
导出二次方程:
求解得:
所以很明显,在隐式算法中,要求得K+1时刻的值,就需要求解二次方程的根。

关于收敛性
o显式算法不存在收敛性的问题(因为不进行收敛计算),从方程中可以看出来,每个时刻的值由上一时刻所确定,所以一步一步进行下去,当时间步取得较大时,就会偏离真实值。

显式算法的过程(蓝色为真实值)
o隐式算法是无条件收敛的,在隐式算法中,在求解二次方程的同时,会通过Newton–Raphson method算法对每一步进行迭代收敛,直至收敛到指定的偏差。

如下图所示:
o
隐式算法的过程(每个时间步长中,通过Newton–Raphson method算法不断进行收敛迭代,
直至接近真实值为止)
时间步长(time integration)的依赖性(时间变量只在动力学中涉及)
o显式算法要获得准确的结果,需要取很小的时间步长
o隐式算法对时间步长要求不高,由于是绝对收敛的,往往可以取较大的时间步长。

运用上面的方法,我们以方程为例,通过数值算法求得f(u)。

当把时间步长取为1时,显式(explicit)和隐式(implicit)的结果如下图所示:
可以看出,隐式算法是绝对收敛的,每一步都没有偏离真实值,而由于时间步长取得很长,所以显式算法的结果远远偏离了真实值。

当把时间步缩小到0.05时,显示算法的结果如下图所示:
可以看出,当把时间步取得很小时,显示算法可以很接近真实值。

上面主要讲了隐式和显式算法的差别,下面我们来看看这两种方法在动力学分析中的运用和差别。

动力学分析(Dynamics Analysis)
静力学(static)分析不考虑质量/阻尼和时间,而动力学分析需要考虑系统阻尼和时间的变化。

首先大家要知道有限元分析FEA的输出是什么,虽然我们可以从仿真后处理中得到很多的结果,如应力,应变,位移等等,但本质上,所有的物理量都是通过先计算出节点处的位移,然后导出应变,再通过应变根据材料力学的理论导出其它物理量的,这一点大家要记住。

在有限元分析中,动力学分析的基本方程是由如下方程导出和决定的:
[M]{a} + [C]{v} + [K]{x} = {F}
其中[M]是质量矩阵,[C]为阻尼矩阵,[K]为刚度矩阵,a为加速度,v为速度,x为位移,{F}表示外力。

如果我们把方程写为导数的形式,则有:
所以这里的加速度,速度和位移是彼此关联的,这很有用。

这个方程大家可能不陌生,在前面讲到模态分析时提到过这个方程,当时说的模态分析是不需要考虑质量和阻尼的,所以方程也较简单,只考虑刚度。

刚度的导出大家可能不怎么熟悉,刚度在有限元分析中占有很重要的地位。

隐式动力学(explicit dynamic)
在动力学分析中,隐式分析直接计算位移x,而要求得位移x,就需要对刚度矩阵K进行求逆(inversion),而计算机在进行矩阵求逆时,需要耗费大量时间和计算机内存。

可能有人会问为什么需要对刚度矩阵K求逆呢,学过线形代数的都知道,要求位移x,那么我们需要对方程做如下变动:
而,所以有:
所以对刚度矩阵K求逆是必须的。

显式动力学(explicit dynamic)
在动力学分析中,显式分析先计算加速度a,再通过积分算法分别导出速度v和位移x。

比如一旦在时刻n求得了加速度,速度会在n+1/2时刻计算出,然后位移在n+1时刻求出(相当于一个时间步长),然后通过位移导出应变(strain),在通过应变导出应力(stress)。

可能有人会问,和隐式动力学类似,要求得加速度a,不是一样要对质量矩阵M求逆吗,是的,但这里M的导出远远比刚度矩阵简单很多,而且M可以简化为对角矩阵,所以对M不需要直接求逆,通过简单的矩阵乘法就可以得出逆矩阵。

计算的效率
在动力学分析中,显式法和隐式法在计算时间上各有优缺点
o显示动力学由于是间接求得位移x的,和前面类似,要取得足够的精度,需要取很短的时间步长,所以需要进行很多步计算,但每一步计算需要的时间很短
o隐式动力学由于是直接求得位移x,所以不存在收敛性问题,但由于动力学分析往往涉及到非线性(几何非线性,材料非线性等),可能每一步都要进行刚度的求逆,非常耗时,但时间步长相对显示算法可以取得很大。

适用范围
o虽然在计算效率上各有优势,但总的来说,在动力学分析中,主要还是采用显式算法,因为在动力学分析中,如频率响应分析,响应谱分析等等,往往时间很短,要获得较好的结果,需要取很短的时间步长来捕捉瞬时的响应,这时候显示动力学就很有用,而且在计算时间上也具有较大优势。

o隐式算法主要还是用于时间周期较长的非线性分析(Nonlinear analysis),属于静力学分析的范畴,当然也包括动力学分析里面特殊的准静力分析(quasi-static)。

静力学分析中是不会用到显式算法的,动力学分析中主要采用显式算法(特别是响应时间很短的问题),当然也可以采用隐式算法,但需要选择较为合适的时间步长,当时间步长取得合适时,抛开计算时间,两种算法的结果是相差不大的,同一个问题大家可以两种方法都试一试,但总的来说,动力学分析大多数问题还是采用显示算法的。

显式算法的例子:
物体以高速(比如2000m/s)落在一个平板上,交互时间为0.2秒时
飞机着陆时的瞬时响应隐式算法的例子:
钣金成型过程的非线性分析。

相关文档
最新文档