计算固体力学课程作业

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

计算固体力学课程作业

专 业 固 体 力 学 学 号 1131301009 姓 名 尹亚川

作业1:

(一)、0=+f H ϕ,其中10=f ,)1(108ϕe H +=

(1) 试用直接迭代法,Newton-Raphson 方法,修正Newton-Raphson 方法,拟

Newton-Raphson 方法进行求解并进行比较。 (2) 用Euler-Newton 法计算,f 分2级

求解:

(1)直接迭代法: 0=+f H ϕ

(1)

)(00ϕH H =

(2)

于是得近似解

)()(101f H -=-ϕ

(3)

重复这一过程,以第i 次近似解求出第i +1次近似解的迭代公式为

)(i i H H ϕ=

(4) )()(11f H i i -=-+ϕ

(5)

直到

i i ϕϕϕ-=∆+1

(6)

变得充分小,即近似解收敛时,终止迭代。

取10=ϕ,令0000005.0<∆ϕ,运用matlab 进行编程求解(代码见附录)。可得迭代次数为5次,-0.9996645=ϕ。

取00=ϕ,令0000005.0<∆ϕ,运用matlab 进行编程求解(代码见附录)。可得迭代次数为4次,-0.9996644=ϕ。

取10-=ϕ,令0000005.0<∆ϕ,运用matlab 进行编程求解(代码见附录)。可得迭代次数为2次,-0.9996642=ϕ。 (1) Newton-Raphson 方法 0=+f H ϕ

(7) 0)()(≠+=-≡=f H R F i i i i i ϕϕϕψψ

(8)

i

i i

T i T K K ⎪⎪⎭

⎫ ⎝

⎛∂∂≡=ϕ

ψϕ)( (9)

)()()(1

1f H K K i i i T i i T i +=-=∆--ϕψϕ

(10) i

i i

T H K ⎪⎪⎭

⎫ ⎝⎛∂∂=⎪⎪⎭⎫ ⎝⎛∂∂=ϕϕϕ

ψ (11)

i i i ϕϕϕ∆+=+1

(12)

当i ϕ∆变得充分小,即近似解收敛时,终止迭代。

取10=ϕ,令0000005.0<∆ϕ,运用matlab 进行编程求解(代码见附录)。可得迭代次数为11次,-0.99966411=ϕ。

取00=ϕ,令0000005.0<∆ϕ,运用matlab 进行编程求解(代码见附录)。可得迭代次数为4次,-0.9996644=ϕ。

取10-=ϕ,令0000005.0<∆ϕ,运用matlab 进行编程求解(代码见附录)。可得迭代次数为1次,-0.9996641=ϕ。 (2) 修正的Newton-Raphson 方法

将Newton-Raphsom 法迭代公式中的i T K 改用初始矩阵)(00

ϕT T K K =,就是

修正的Newton-Raphsom 法。仅第一步迭代需要完全求解一个线性方程组,并将

T

K 存贮起来,以后的每一步迭代都采用公式

)()()(1

010f H K K i i T i T i +=-=∆--ϕψϕ

(13)

当i ϕ∆变得充分小,即近似解收敛时,终止迭代。

取10=ϕ,令0000005.0<∆ϕ,运用matlab 进行编程求解(代码见附录)。可得迭代次数为122244次,-0.986216122244=ϕ。

取00=ϕ,令0000005.0<∆ϕ,运用matlab 进行编程求解(代码见附录)。可得迭代次数为21次,-0.99966321=ϕ。

取10-=ϕ,令0000005.0<∆ϕ,运用matlab 进行编程求解(代码见附录)。

可得迭代次数为1次,-0.9996641=ϕ。 (3) 拟Newton-Raphson 方法

K 的修正要满足一下的拟牛顿方程

)()()(111i i i i i K ϕψϕψϕϕ-=-+++

(14)

对于单变量情况,上式中的1+i K 是导数()i ϕϕϕψ=∂∂的近似表达式,实际上就是割线劲度矩阵。 )()()(100100f H K K i i +=-=∆--ϕψϕ

(15) 001ϕϕϕ∆+=

(16) 0

10

10101

1)(ψψϕϕψψϕ--=-∆=-K

(17) )()(11111f H K +=∆-ϕϕ (18)

i

i i

i i i i K

ψ

ψϕϕψϕ--=∆∆=++-+111

1)( (19)

当i ϕ∆变得充分小,即近似解收敛时,终止迭代。

取10=ϕ,令0000005.0<∆ϕ,运用matlab 进行编程求解(代码见附录)。可得迭代次数为11次,-0.99966411=ϕ。

取00=ϕ,令0000005.0<∆ϕ,运用matlab 进行编程求解(代码见附录)。可得迭代次数为4次,-0.9996644=ϕ。

取10-=ϕ,令0000005.0<∆ϕ,运用matlab 进行编程求解(代码见附录)。可得迭代次数为1次,-0.9996641=ϕ。

根据结果可知,在精度取0000005.0<∆ϕ时,Newton 法和拟Newton 法迭代次数基本一致,收敛速度较快,而修正的Newton 法迭代次数较多,收敛速度较慢。不过,Newton 法和拟Newton 法计算量较大,而修正Newton 法计算量较小。并且,直接迭代法在解决这种简单问题时迭代次数也较少,收敛速度较快。若本题不考虑迭代次数,而对精度要求较高,建议采用Newton 法和拟Newton 法;

相关文档
最新文档