File Exchange

image thumbnail

Arc-length method

version (142 KB) by George Papazafeiropoulos
Finds the roots of a function using the arc-length method


Updated 14 Jan 2017

View License

The roots of an arbitrary function or equation are calculated along with
the associated load factor with the arc-length quadratic control method.
This method can trace the equilibrium path and provides proper treatment
of the limit and bifurcation points. In this regard, ordinary solution
techniques lead to instability near the limit points and also have
problems in case of snap-through and snap-back. Thus they fail to predict
the complete load-displacement response. The arc-length method serves the
purpose well in principle, received wide acceptance in finite element
analysis, and has been used extensively. The arc-length method for
structural analysis was originally developed by Riks (1972; 1979) and
Wempner (1971) and later modified by several scholars.

In this package, the following arc-length control methods are included:
1.Crisfield (1981)
2.Lam & Morley (1992)
3.Ritto-Correa & Camotim (2008) which is more general than the other two.

Basically, a constraint equation is added to the original non-linear
governing equation of the problem, and then the extended system of
equations is solved by incremental-iterative procedures such as
Newton-Raphson, modified Newton Raphson, or quasi-Newton techniques, to
obtain a solution point along the path. In a step-by-step manner,
together with changing the value of a parameter contained in the
constraint equation, called the path parameter, the solution path can
then be traced in terms of a set of points. Beginning with a known
solution x0, the arc-length method is to compute further solutions
x1,x2,x3....,xk,xk+1,.... of the extended system of equations for
specified values of path parameter in a step-by-step manner until one
reaches a target point. In general iteration methods are required to
compute a particular point. These methods normally require suitable
starting values in order that the iteration procedure converges to
correct solution points since most iteration methods are only locally

The predictor-corrector strategy is used in the arc-length methods
included in this package. In the predictor phase information that belongs
to the point previously computed is used to compute a suitable starting
value for the corrector phase. In the corrector phase some numerical
procedure is used to find out the solution of the extended system with
the initial guess supplied by the predictor.

Copyright (c) 09-Mar-2014 by George Papazafeiropoulos

Captain, Infrastructure Engineer, Hellenic Air Force
Civil Engineer, M.Sc., Ph.D. candidate, NTUA

Cite As

George Papazafeiropoulos (2020). Arc-length method (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (19)


Michael Soh

Why the example can't calculate well

z z

Could you check if the update of lambda and p are correct in the main_loop function inside of arc_length_Lam_Morley script? I gues It should be:


instead of:

Keep up good job.thank you.

wang xing

Nice job,i love you!


Your work is very much appreciated, thank you

simun simun

Thanks! Nice job.

sanxing liu

@Mohammed Shafiq:
Thank you very much for your feedback! Please be more specific about your problem or send me an email (






John Floyd


Description updated

The file "arc_length_example.m" is published as an example instead of script.

More general arc-length methods and related examples included

1. Some code is included to demonstrate the application of the algorithm (demo.m).
2. A minor change is made in the algorithm to enable it to operate in the n+1 dimension space, instead of n, where n is the number of DOFs of the problem.

MATLAB Release Compatibility
Created with R2012b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Tags Add Tags