显式与隐式方法对比.

合集下载

了解隐式显式ODE求解算法的优劣

了解隐式显式ODE求解算法的优劣

了解隐式显式ODE求解算法的优劣隐式和显式ODE求解算法是数值计算中的两个重要方法。

它们分别适用于不同的数学问题,并各具优缺点。

本文旨在探讨隐式和显式ODE求解算法的优劣以及其适用范围,帮助读者更好地了解这两种算法。

一、什么是ODE求解算法ODE是常微分方程(Ordinary Differential Equation)的简称,它是一种描述自然现象中变量随时间变化的数学模型。

ODE求解算法是对ODE进行数值求解的方法,将方程表示为计算机可以处理的形式,并将其求解为数值结果。

常见的ODE求解算法有欧拉法、龙格-库塔法、变步长法等。

其中,欧拉法是最基本的算法,也是最容易理解的算法;龙格-库塔法具有较高的精度和稳定性,是许多科学和工程中经常使用的算法。

二、隐式和显式ODE求解算法隐式ODE求解算法和显式ODE求解算法是求解ODE的两种不同方法。

显式ODE求解算法是根据时间步长和已知的初值,递推求解下一个时刻的函数值,并将其作为下一步的初值。

显式算法用的是当前时刻的函数值进行求解,因此计算速度较快,但精度可能较低。

隐式ODE求解算法是通过求解方程来确定下一个时刻的函数值。

即在每个时间步长中需要求解一个方程组,求解过程相对复杂,但具有更高的精度和稳定性。

隐式算法需要求解的方程通常为非线性方程组,因此求解难度也比较高。

三、隐式和显式ODE求解算法的优劣比较1. 精度和稳定性由于隐式ODE求解算法的求解过程相对复杂,需要求解方程组,因此精度和稳定性相对较高。

而显式ODE求解算法用的是当前时刻的函数值进行求解,容易出现精度误差和数值不稳定等问题,因此在精度和稳定性方面相对较低。

2. 计算速度显式ODE求解算法使用较简单的计算方法,不需要求解复杂的方程组,因此计算速度比隐式算法要快。

3. 适用范围隐式ODE求解算法适用于具有强烈非线性特征和不稳定性的ODE问题,例如高效液相色谱(HPLC)中液体流动的模拟和化学反应方程求解等。

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

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

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

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

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

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

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

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

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

隐式求解与显式求解.

隐式求解与显式求解.

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

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

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

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

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

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

显式表达式

显式表达式

显式表达式
显式表达式,可以理解为呈现出来的表达式,或者是显示出来的表达式,相对于隐性表达式。

显式算法基于动力学方程,因此无需迭代;而静态隐式算法基于虚功原理,一般需要迭代计算。

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

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

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

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

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

显式算法是建立在i时刻的运动平衡方程,不需要迭代,运算简单但是对步长要求很高,因为其影响精度和稳定性;而隐式算法是建立在i+1时刻的,因此需要迭代,过程复杂些,但是更加精确。

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) 分别称为有效质量矩阵,有效载荷矢量。

显式与隐式算法区别

显式与隐式算法区别

显式(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)时刻决定,也就是说当前时刻的值由上一时刻的值决定。

离散方程的显式和隐式

离散方程的显式和隐式

离散方程是指在某一时刻或时间段,对一系列变量的数学模型进行离散化,并将其转换为数学方程。

离散方程广泛应用于数值分析和工程计算中。

离散方程的显式和隐式方法是根据数学形式的不同而区分的。

显式方法是通过逐步迭代的方式求解离散方程,即每一步迭代都会直接根据当前的状态求解方程,不涉及对历史状态的使用或引入其他未知变量。

因此,显式方法求解过程中涉及的变量数量和方程数目不会增加。

这种方法在计算量和稳定性方面较为优越,但求解的精度可能受到算法收敛速度和初始条件的影响。

相比之下,隐式方法则是通过引入其他未知变量来求解离散方程,即每一步迭代都会涉及到历史状态或引入其他未知变量来求解方程。

因此,隐式方法涉及的变量数量和方程数目可能会增加,但这种方法在某些情况下可以提供更高的精度和稳定性。

此外,隐式方法还可以利用数值稳定性的原理来避免迭代过程中的数值不稳定性和震荡现象。

离散方程的显式和隐式方法各有优缺点,选择哪种方法取决于具体的应用场景和问题性质。

对于一些具有较强非线性、不稳定或难以收敛的问题,隐式方法可能更为合适。

而对于计算量较小、稳定性要求不高的问题,显式方法则更为简洁和易于实现。

此外,还有一些混合方法,如显式-隐式方法(EIM)、隐式-显式方法(IMEX)等,这些方法结合了显式和隐式的优点,在某些情况下可以提供更高的精度和稳定性。

总之,离散方程的显式和隐式方法是求解离散方程的重要方法之一,它们在应用中需要根据具体问题性质和要求进行选择。

选择合适的求解方法可以提高计算效率和精度,为解决实际问题提供更好的支持。

显示算法与隐式算法

显示算法与隐式算法

以下内容转自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.所谓显式和隐式,是指求解方法的不同,即数学上的出发点不一样。

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

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

在隐式分析中,不同的单元类型仅仅适用于特定的材料类型。

——每种单元类型有几种不同算法,如果隐式单元有多种算法,则具有多个单元名称。

——所有的显式动力单元具有一个线性位移函数,目前尚没有具有二次位移函数的高阶单元。

——每种显式动力单元缺省为单点积分。

——不具备额外形函数和中间节点的单元以及P单元。

——单元支持ansys/lsdyna中所有的非线性选项。

简化积分单元的使用:一个简化积分单元是一个使用最少积分点的单元,一个简化积分块单元具有在其中心的一个积分点;一个简化壳单元在面中心具有一个积分点。

全积分块与壳单元分别具有8个和4个积分点。

——在显式动力分析中最消耗CPU的一项就是单元处理。

——由于积分点的个数与CPU时间成正比,所有的显式动力单元缺省为简化积分。

——简化积分单元有两个缺点:出现零能模式(沙漏);应力结果的精确度与积分点直接相关。

沙漏:一种比结构响应高的多的频率震荡的零能变形模式。

它在数学上是稳定的,但在物理上是不可能的状态。

它们通常是没有刚度,变形时候呈现锯齿形网格。

单点积分单元容易产生零能模式;它的出现会导致结果无效,应尽量避免和减小。

如果总的沙漏能大于模型内能的10%,这个分析就有可能是失败的。

避免沙漏的方法:1,避免单点载荷,因为它容易激发沙漏。

2,用全积分单元,全积分单元不会出现沙漏,用全积分单元定义模型的一部分或全部可以减少沙漏。

3,全局调整模型体积粘性,可以通过使用EDBVIS 命令来控制线性和二次系数,从而增大模型的体积粘性。

4,全局增加弹性刚度,用命令EDHGLS增加沙漏系数。

建议刚度系数不超过0.15。

5,局部增加弹性刚度。

有时只需要用EDMP,HGLS命令增加某些特定潮流或区域单元的刚度即可达到目的。

使用单元注意:——避免使用小的单元,以免缩小时间步长。

如果要用,则同时使用质量缩放。

——减少使用三角形/四面体/棱柱单元。

——避免锐角单元与翘曲的壳单元,否则会降低计算精度。

——需要沙漏控制的地方使用全积分单元,全积分六面体单元可能产生体积锁定(由于泊松比达到0.5)和剪切锁定(例如,简支梁的弯曲)。

关于PART:一个PART是具有相同的单元类型,实常数和材料号组合的一个单元集。

通常,Part是模型中的一个特定部分,在被赋予一个part ID号后,可以用于一些命令中。

一些需要应用part的操作:——定义和删除两个实体之间的接触(EDCGEN和EDCDELE)——定义刚体载荷与约束(EDLOAD与EDCRB)——读取时间历程材料数据(EDREAD)——向模型的组元施加阻尼(EDDAMP)使用PART步骤:1,建立模型,直到遇到需要使用PART的命令。

2,创建PART列表(EDPART,CREATE)并列出(EDPART,LIST)。

3,使用列表中适当的PART号。

4,在以后的模型中需要使用PART的命令时,先更新(EDPART,UPDATE)和列表(EDPART,LIST)当前的PART。

5,对于所有用到PART号的命令时重复步骤4。

使用PART注意:——如果使用EDPART,CREATE重复创建PART列表,PART列表被重复覆盖,这有可能对先前定义的一些参考PART命令产生影响(如接触等)。

——为了避免这种情况,可以使用update更新part列表。

——更新后的part不会改变part顺序,它可以将新产生的单元加到相应的part组中。

——用EDPART,UPDATE进行part更新。

关于材料模型相对于隐式分析,ANSYS/LSDYNA提供了implicit中不具备的特性:1,应变率相关塑性模型。

2,温度敏感塑性材料。

3,应力和应变失效准则模型。

4,空材料模型(如应用于鸟撞)。

5,状态方程模型。

概述:——Linear Elastic: isotropic(with Fluid Option),Orthotropic,Anisotropic ——Nonlinear Elastic: Blatz-Ko Rubber,Mooney-Riviln,Viscoelastic ——Plasticity: Rate Independent(3),Rate Sensitive(8)——Foam: Isotropic,Orthotropic——Composite Damage——Concrete——Equation of State: Temp.&strain rate dependent plasticity,Null materials——Other: Rigid bodies,Cables,Fluid线弹性:——弹性(各向同性):所有方向材料特性相同。

大多数工程金属都是各向同性的(如钢铁)。

简单由DENS,EX,NUXY定义。

——正交各向异性:特性具有3各相互垂直的对称面。

一般用9各独立参数和DENS定义。

定义需要根据特定的坐标系来定义。

——各向异性:材料中各个点处的特性是独立的。

需要21个独立参数和DENS定义。

非线弹性:可以经受大的可恢复的弹性变形——Blatz-Ko:用于象橡胶一样的可压缩材料。

泊松比ansys自动设置为0.463,只需要DENS和GXY。

材料响应通过应变能量密度函数确定。

——Mooney Rivlin:用于定义不可压缩橡胶材料。

需要输入DENS,NUXY和Mooney-Rivlin常数C10和C01。

为了保证不可以压缩行为,NUXY的值设在0.49和0.5之间。

材料响应通过应变能量密度函数确定。

——Viscoelastic:定义玻璃类材料。

需输入G0,G,K等参数。

塑性:——有11中塑性模型,模型选择取决于要分析的材料和可以得到的材料参数。

要得到好的分析结果,需要使用精确的材料参数。

——塑性模型可分为3大类——位于不同的类别内的材料模型之间区别很大,但在一个类别内的材料模型差别不大,通常只是可获得的材料参数不同。

类别1:各向同性材料应变率无关塑性材料模型(3种)a,经典双线性随动硬化(BKIN)。

b,经典双线性各向同性硬化(BISO)。

c,弹性塑性流体动力(HYDRO)。

——这些模型都用弹性模量(EX)和切线模量(ETAN)来表示材料的应力-应变关系。

——应变率无关的模型通常用于象板金成型一类的总的成型过程相对长的计算中。

——所有3个模型可以用于大多数工程金属材料。

——BKIN与BISO模型之间的唯一区别是硬化假设,随动硬化假定二次屈服在2σy时出现,而等向硬化出现在2σmax。

它们输入参数类似:DENS,EX,NUXY,Yield Stress(σy),Tangent Modulus(Etan)——HYDRO适用于经受大变形乃至失效的材料,如果没有指定有效的真实应力与应变,则认为是等向硬化,需要指定Yield Stress(σy),Tangent Modulus(Etan)。

类别2:各向同性应变率相关塑性模型(5种)。

a,塑性随动(plastic kinematic):带有失效应变的Cowper-Symonds模型。

b,率敏感:带有强度和硬化系数的Cowper-SymondS模型。

c,分段线性:带有多线性曲线和失效应变的Cowper-Symonds。

d,率相关:用载荷曲线和失效应力定义的应变率。

e,幂法则:用于超塑性成型的Ramburgh-Osgood模型。

——模型a-c使用Cowper-Symonds模型在应变率的基础上缩比屈服应力。

——由于弹性模量,屈服应力,切线模量和失效应力都可以作为应变的函数输入,模型2d是最普通的应变率模型。

——模型a-d可以用于一般的金属和各向同性材料塑性成型分析。

——模型e是专用于超塑性成型的特殊材料模型。

类别3:各向异性应变率相关塑性模型(3种)。

使用材料注意:——对于每种单元类型,未必能够使用所有的材料模型,因此使用时要参考单元手册来确认可以用哪种模型。

——对于每种材料模型,并非所有的常数与选项都要输入。

——在定义材料属性时,确保使用一致的单位制,不正确的单位制不仅会影响材料的响应,而且会影响接触刚度的计算。

——不要低估准确材料数据对结果的重要性,尽量花费额外的时间与金钱去获得准确的材料数据。

关于边界条件,载荷与刚体载荷与边界条件概述——与大多数隐式分析不同,显式分析中所有的载荷都必须作为时间函数施加。

因此,在显式分析中只能通过定义数组参数来施加载荷,一列为时间值,另一列为载荷值。

——耦合(CP)与约束方程命令集(CE)在显式分析中仅对位移和旋转自由度有效,在大变形分析时使用CP和CE要注意。

相关文档
最新文档