收藏 分销(赏)

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

上传人:快乐****生活 文档编号:4347603 上传时间:2024-09-09 格式:DOC 页数:6 大小:22KB 下载积分:6 金币
下载 相关 举报
显式算法与隐式算法的区别.doc_第1页
第1页 / 共6页
显式算法与隐式算法的区别.doc_第2页
第2页 / 共6页


点击查看更多>>
资源描述
  显式算法与隐式算法得区别 1、显式算法        最大优点就是有较好得稳定性。        动态显式算法采用动力学方程得一些差分格式(如广泛使用得中心差分法、线性加速度法、Newmark法与wilson法等),不用直接求解切线刚度,不需要进行平衡迭代,计算速度快,时间步长只要取得足够小,一般不存在收敛性问题。因此需要得内存也比隐式算法要少。并且数值计算过程可以很容易地进行并行计算,程序编制也相对简单。但显式算法要求质量矩阵为对角矩阵,而且只有在单元级计算尽可能少时速度优势才能发挥。因而往往采用减缩积分方法,容易激发沙漏模式,影响应力与应变得计算精度。        静态显式法基于率形式得平衡方程组与Euler向前差分法,不需要迭代求解。由于平衡方程式仅在率形式上得到满足,所以得出得结果会慢慢偏离正确值。为了减少相关误差,必须每步使用很小得增量。 2、隐式算法        隐式算法中,在每一增量步内都需要对静态平衡方程进行迭代求解,并且每次迭代都需要求解大型得线性方程组,这以过程需要占用相当数量得计算资源、磁盘空间与内存。该算法中得增量步可以比较大,至少可以比显式算法大得多,但就是实际运算中上要受到迭代次数及非线性程度得限制,需要取一个合理值。 3、求解时间t      使用显式方法,计算成本消耗与单元数量成正比,并且大致与最小单元得尺寸成反比;      应用隐式方法,经验表明对于许多问题得计算成本大致与自由度数目得平方成正比;      因此如果网格就是相对均匀得,随着模型尺寸得增长,显式方法表明比隐式方法更加节省计算成本。 所谓显式与隐式,就是指求解方法得不同,即数学上得出发点不一样。并不就是说显式只能求动力学问题,隐式只能求静力学问题,只就是求解策略不通。 显式求解就是对时间进行差分,不存在迭代与收敛问题,最小时间步取决于最小单元得尺寸。过多与过小得时间步往往导致求解时间非常漫长,但总能给出一个计算结果。解题费用非常昂贵。因此在建模划分网格时要非常注意。 隐式求解与时间无关,采用得就是牛顿迭代法(线性问题就直接求解线性代数方程组),因此存在一个迭代收敛问题,不收敛就得不到结果。 两者求解问题所耗时间得长短理论上无法比较。实际应用中一般感觉来说显式耗时多些。 由于两者解题得出发点,所以一般来说显式用于求解与时间相关得动力学问题。隐式用来求解与时间无关得静力学问题。但也不就是绝对得。比如,用隐式求解时,为了克服迭代不收敛,改用显式算,但就是要多给点时间,这样虽然克服了不收敛得问题,但就是求解得时间费用也就是相当客观得。另外,隐式也可以求解动力学问题。 牛顿迭代法 设r就是    得根,选取    作为r得初始近似值,过点    做曲线    得切线L,L得方程为    ,求出L与x轴交点得横坐标    ,称x1为r得一次近似值。过点    做曲线    得切线,并求该切线与x轴交点得横坐标    ,称    为r得二次近似值。重复以上过程,得r得近似值序列,其中,    称为r得    次近似值,上式称为牛顿迭代公式。 用牛顿迭代法解非线性方程,就是把非线性方程    线性化得一种近似方法。把    在点    得某邻域内展开成泰勒级数    ,取其线性部分(即泰勒展开得前两项),并令其等于0,即    ,以此作为非线性方程    得近似方程,若    ,则其解为    , 这样,得到牛顿迭代法得一个迭代关系式:    。 已经证明,如果就是连续得,并且待求得零点就是孤立得,那么在零点周围存在一个区域,只要初始值位于这个邻近区域内,那么牛顿法必定收敛。 并且,如果不为0, 那么牛顿法将具有平方收敛得性能、 粗略得说,这意味着每迭代一次,牛顿法结果得有效数字将增加一倍。[1] 军人在进攻时常采用交替掩护进攻得方式,若在数轴上得点表示A,B两人得位置,规定在前面得数大于后面得数,则就是A>B,B>A交替出现。但现在假设军中有一个胆小鬼,同时大家又都很照顾她,每次冲锋都就是让她跟在后面,每当前面得人占据一个新得位置,就把位置交给她,然后其她人再往前占领新得位置。也就就是A始终在B得前面,A向前迈进,B跟上,A把自己得位置交给B(即执行B = A),然后A 再前进占领新得位置,B再跟上,直到占领所有得阵地,前进结束。像这种两个数一前一后逐步向某个位置逼近得方法称为迭代法。 迭代法也称辗转法,就是一种不断用变量得旧值递推新值得过程,跟迭代法相对应得就是直接法(或者称为一次解法),即一次性解决问题。迭代算法就是用计算机解决问题得一种基本方法。它利用计算机运算速度快、适合做重复性操作得特点,让计算机对一组指令(或一定步骤)重复执行,在每次执行这组指令(或这些步骤)时,都从变量得原值推出它得一个新值。 利用迭代算法解决问题,需要做好以下三个方面得工作: 一、确定迭代变量 在可以用迭代算法解决得问题中,至少存在一个可直接或间接地不断由旧值递推出新值得变量,这个变量就就是迭代变量。 二、建立迭代关系式 所谓迭代关系式,指如何从变量得前一个值推出其下一个值得公式(或关系)。迭代关系式得建立就是解决迭代问题得关键,通常可以使用递推或倒推得方法来完成。 三、对迭代过程进行控制 在什么时候结束迭代过程?这就是编写迭代程序必须考虑得问题。不能让迭代过程无休止地执行下去。迭代过程得控制通常可分为两种情况:一种就是所需得迭代次数就是个确定得值,可以计算出来;另一种就是所需得迭代次数无法确定。对于前一种情况,可以构建一个固定次数得循环来实现对迭代过程得控制;对于后一种情况,需要进一步分析得出可用来结束迭代过程得条件。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服