Newton Algorithm: Difference between revisions

From OpenSeesWiki
Jump to navigation Jump to search
(Created page with 'This command is used to construct a NewtonRaphson algorithm object. The command is of the follwoing form: {| | style="background:yellow; color:black; width:800px" | '''algorith...')
 
No edit summary
Line 1: Line 1:
{{CommandManualMenu}}
This command is used to construct a NewtonRaphson algorithm object. The command is of the follwoing form:
This command is used to construct a NewtonRaphson algorithm object. The command is of the follwoing form:



Revision as of 23:57, 2 March 2010




This command is used to construct a NewtonRaphson algorithm object. The command is of the follwoing form:

algorithm Newton



NOTES:



THEORY:

The Newton (also known as Newton-Raphson) method is the most widely used and robust method for slving nonlinear algrebraic equations. The Newton method used in finite element analysis is identical to that taught in basic calculus courses. The method as taught in basic calculus, is a root-finding algorithm that uses the first few terms of the Taylor series of a function f(x) in the vicinity of a suspected root to find the root. Newton's method is sometimes also known as Newton's iteration, although in this work the latter term is reserved to the application of Newton's method for computing square roots.


The Taylor series of <math>f(x)</math> about the point <math>x=x_0+\epsilon</math> is given by

<math>f(x_0 + \epsilon) = f(x_0)+f^'(x_0) \epsilon + 1/2f^()(x_0) \epsilon^2+....</math>

Keeping terms only to first order, <math>f(x_0+\epsilon) \approx f(x_0)+f^'(x_0)\epsilon <math> (2)

Equation (2) is the equation of the tangent line to the curve at (x_0,f(x_0)), so (x_1,0) is the place where that tangent line intersects the x-axis. A graph can therefore give a good intuitive idea of why Newton's method works at a well-chosen starting point and why it might diverge with a poorly-chosen starting point.

This expression above can be used to estimate the amount of offset epsilon needed to land closer to the root starting from an initial guess x_0. Setting f(x_0+epsilon)=0 and solving (2) for epsilon=epsilon_0 gives epsilon_0=-(f(x_0))/(f^'(x_0)), (3)

which is the first-order adjustment to the root's position. By letting x_1=x_0+epsilon_0, calculating a new epsilon_1, and so on, the process can be repeated until it converges to a fixed point (which is precisely a root) using epsilon_n=-(f(x_n))/(f^'(x_n)).


Code Developed by: fmk