找回密码
 注册
Simdroid-非首页
查看: 3649|回复: 13

[基础理论] 【显式隐式讨论】关于显式和隐式 【见2-10#】

[复制链接]
发表于 2003-7-2 00:52:45 | 显示全部楼层 |阅读模式 来自 北京
请教大侠什么是显式和隐式及其区别,俺已经憋了很久了。













-------------------------
另外还可参考链接:
【讨论】隐式积分与显式积分
http://forum.simwe.com/forum.php?mod=viewthread&tid=840667&highlight=%E6%98%BE%E5%BC%8F

关于显示和隐式积分 implicit explicit
http://forum.simwe.com/thread-842432-1-1.html











发表于 2004-11-23 13:15:25 | 显示全部楼层 来自 美国

Re:【讨论】关于显式和隐式

Simdroid开发平台
Q: What is the difference between implicit and explicit dynamics? (Difference between regular ANSYS and ANSYS/LS-DYNA?)
A:For computers, matrix multiplication isn't difficult. Matrix inversion is the more computationally expensive operation. The equations we solve in nonlinear, dynamic analyses in ANSYS and in LS-DYNA are:
[M]{a} + [C]{v} + [K]{x} = {F}

Hence, in ANSYS, we need to invert the [K] matrix when using direct solvers (frontal, sparse). Iterative solvers use a different technique from direct solvers which I won't get into here, but, basically, the inversion of [K] is the CPU-intensive operation for any 'regular' ANSYS solver, direct or iterative. We then can solve for displacements {x}. Of course, with nonlinearities, [K(x)] is also a function of {x}, so we need to use Newton-Raphson method to solve for [K] as well. (material nonlinearities and contact get thrown into [K(x)])

In LS-DYNA, on the other hand, we solve for accelerations {a} first. Now, in LS-DYNA, we assume that the mass matrix is lumped. This basically forces us to use lower-order elements -- that is why, for all explicit dynamics codes (ANSYS/LS-DYNA, MSC.Dytran, ABAQUS/Explicit), we can only use lower-order elements. Also, the benefit of doing lumped mass is that, if we solve for {a}, then [M], if lumped, is a diagonal mass matrix. This means that inversion of [M] is trivial (diagonal terms only) -- another way to view it is that we now have N set of *uncoupled* equations. Hence, we just have to do matrix multiplication, which isn't nearly as CPU-intensive. It's also worthwhile to note that [K] does not need to be inverted, and accounting for material nonlinearties and contact is easier.

Now, as for time integration, the terms 'implicit' and 'explicit' refer to time integration -- for example, if you might recall something like backward Euler method, that is an example of an implicit time integration scheme, whereas central difference or forward Euler are examples of explicit time integration schemes. It relates to when you calculate the quantities -- either based on current or previous time step. In any case, this is a very simplified explanation, and the main point is that implicit time integration is unconditionally stable, whereas explicit time integration is not (there is a critical time step your delta(t) needs to be smaller than). As a result, 'regular' ANSYS allows for much larger time steps, but LS-DYNA requires much tinier time steps. Also, LS-DYNA requires very tiny steps, so that is why it is usually good for impact/short-duration events, not usually things like maybe creep where the model's time scale may be on the order of hours or more.

In summary:
'Regular' ANSYS uses implicit time integration. This means that {x} is solved for, but we need to invert [K], which means that each iteration is computationally expensive. However, because we solve for {x}, it is implicit, and we don't need very tiny timesteps (i.e., each iteration is expensive, but we usually don't need too many iterations total). The overall timescale doesn't affect us much (although there are considerations of small enough timesteps for proper momentum transfer, capturing dynamic response, etc., but I'm getting ahead of myself).
ANSYS/LS-DYNA uses explicit time integration. This means that {a} is solved for, and inverting [M] is trivial -- each iteration is very efficient. However, because we solve for {a}, then determine {x}, it is explicit, and we need very small timesteps (many, many iterations) to ensure stability of solution since we get {x} by calculating {a} first. (i.e., each iteration is cheap, but we usually need many, many iterations total)

Anyways, this is a very simplified (maybe over-simplified) explanation, but I hope it may help clear the distinction between these two methods. For very high-impact, nonlinear events of *short* duration, ANSYS/LS-DYNA is usually the better choice. For events which are of long duration, 'regular' ANSYS is usually the preferred method. For quasi-static events, there are ways in which you can use either solution method (e.g., mass-scaling for explicit). However, you can solve most problems with either method -- I'm just referring to which ones are more *efficient*. [Note that I haven't talked about mode-superposition transient analyses, which is an efficient subset of 'regular' ANSYS for mostly linear behavior, but it is efficient because we uncouple the equations in the frequency domain rather than time domain, but I've probably digressed enough already...]

评分

1

查看全部评分

回复 1 不支持 0

使用道具 举报

发表于 2003-7-2 03:33:05 | 显示全部楼层 来自 德国

回复: 【讨论】关于显式和隐式

n+1个时间步的量可以由第n个时间步的量直接求得,称为显式
例如:
an+1=bn+cn
bn+1=an+cn
cn+1=an+bn
优点是计算量比较小
缺点是有累计误差
n+1个时间步的量不可以由第n个时间步的量直接求得,称为隐式
例如:
an+1+bn+1=cn
bn+1+cn+1=an
an+1+cn+1=bn
优点是计算量比较大,需要通过方程组求解
缺点是没有累计误差

评分

1

查看全部评分

发表于 2003-7-3 00:18:00 | 显示全部楼层 来自 上海交通大学闵行校区

回复: 【讨论】关于显式和隐式

用比较通俗的话说:
      显式就是可以直接通过自变量求得因变量的解,自变量和因变量可以分离在等式的两侧;
      隐式正好相反,因变量与自变量混和在一起,不能进行分离。

评分

1

查看全部评分

发表于 2003-7-5 03:08:34 | 显示全部楼层 来自 美国

回复: 【讨论】关于显式和隐式

in explicit method, each equation can be solved directly from initial condition and boundary condition, do not need to form stiffness matrix to slove simultaneous eqautions.  
Simply speaking,  
implicit method, we have [K] {u} = {f}
we need to form [K] to slove {u}
explicit method,
k1 u1 = f1
k1' u1+ k2 u2 = f2...
we can solve u1 from first equation, u2 from second equation...
  
The advantage of explicit method is saving time.
The disadvantage of explicit method is hard to know if the solution converge or not.  

评分

1

查看全部评分

发表于 2003-7-11 08:27:31 | 显示全部楼层 来自 广东广州

回复: 【讨论】关于显式和隐式

刚度矩阵肯定是有的,只不过显式求解是不用判断是否收敛,也不用收敛准则,显式求解的缺点也就在于此处,其累积误差是较大,而数值算法的核心就是计算精度。
发表于 2003-7-12 21:19:23 | 显示全部楼层 来自 清华大学

回复: 【讨论】关于显式和隐式

   我觉得我前面关于求解过程写得挺清楚的呀。再补充两句:
  在显式解法(如有限差分法,abaqus/explicit用的是中心差分),
  一方面是不用合成总刚矩阵的,因而不用联立求解方程,在这一点上
  可省许多的时间;但为了求解的稳定性(不致于发散),时步需很小,
  这一方面则是要求更长的计算时间;两方面综合来说,对大规模的
  强非线性问题的求解显式解法更适合。
       至于由变形-- >应变-->应力则应考虑求解问题是否属于大变形问题
  而有所区别。
      懂得不多,希望没说错。
   
       
发表于 2003-7-14 08:38:26 | 显示全部楼层 来自 广东广州

回复: 【讨论】关于显式和隐式

始终认为是有刚度矩阵的,只不过在显式求解中式不用求解刚度矩阵的逆矩阵。
发表于 2003-7-14 09:19:57 | 显示全部楼层 来自 台湾

回复: 回复: 【讨论】关于显式和隐式

tang_hongbo wrote:
始终认为是有刚度矩阵的,只不过在显式求解中式不用求解刚度矩阵的逆矩阵。

  
逆矩阵 3字是重點 !!!!
zdong 该用户已被删除
发表于 2003-8-20 01:13:00 | 显示全部楼层 来自 美国
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2008-7-10 11:19:31 | 显示全部楼层 来自 上海
受教受教,顶
回复 不支持

使用道具 举报

发表于 2008-7-16 01:27:34 | 显示全部楼层 来自 日本
上面的英文解释可谓是详尽彻底啊,受教啦
回复 不支持

使用道具 举报

发表于 2011-11-22 09:50:19 | 显示全部楼层 来自 陕西西安
显式隐式个人觉得应该是从数学上来区分的
回复 不支持

使用道具 举报

发表于 2012-3-5 09:51:35 | 显示全部楼层 来自 陕西西安
学习中!
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-28 07:13 , Processed in 0.062881 second(s), 22 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表