How can I implement a Pseudo Arclength Continuation method for my system?

  • Thread starter nylonsmile
  • Start date
  • Tags
    Arclength
In summary: Newton-type method it just keeps going back to ##\delta x##, but I don't want that.In summary, the author is struggling to implement a pseudo arclength continuation method for their system. They have so far, made a scheme that works normally. However, they are having difficulty figuring out what to do for the bottom half of the right hand side vector. They need help figuring out what to put in that vector.
  • #1
nylonsmile
8
0
I'm struggling to implement a pseudo arclength continuation method for my system. Here is what I have so far.

I am trying solve the system of equations [tex]F(x, \lambda) = 0[/tex] but if I parameterise only by using lambda, I can't get around turning points, so I paramterise by "arclength" s and attempt to solve the system of equations:

[tex]F(x(s), \lambda (s)) = 0\\
N(x, \lambda, s) = 0[/tex]

Where N is the linearised normalisation equation (' denotes differentiation with respect to s):

[tex]N(x, \lambda, s) \equiv x' \delta x + \lambda ' \delta \lambda - \delta s = 0[/tex]

Where ds is a specified step length. I solve these using a Newton-type method:

[tex]
\begin{pmatrix}

F_{\textbf{x}} & F_{\lambda} \\

N_{\textbf{x}} & N_{\lambda}

\end{pmatrix}

\begin{pmatrix}

\delta x \\

\delta \lambda

\end{pmatrix}

= -\begin{pmatrix}

F_0 \\

N_0

\end{pmatrix}[/tex]

Where the subscripts denote differentiation. So far so normal, this is the scheme as it is usually presented. I'm having difficulty figuring out exactly what to do though, particularly with the bottom half of the right hand side vector. What should go in there? The unlinearised normalisation? [tex]||x'||^2 + \lambda '^2 - 1[/tex] But if I use that, then where does the step length come into it? I think I'm getting confused by the linearisation - usually with this type of thing I'd only have [tex]\delta[/tex] for variables I'm trying to solve for, but here we also have it for s. It's a constant, and is confusing me no end.

Any help would be greatly appreciated, even just pointers to books/papers. Feeling pretty stupid atm!
 
Physics news on Phys.org
  • #2
Thanks for the post! Sorry you aren't generating responses at the moment. Do you have any further information, come to any new conclusions or is it possible to reword the post?
 
  • #3
Ok I figured it out. The main problem I had is that I didn't realize that I needed an explicit predictor step. In natural continuation the "predictor" you would normally use is just the value from the previous iteration, but with the new lambda. For Pseudo-arclength continuation (PCA) you need an explicit predictor. Instead of

[tex]N(x, \lambda, s) \equiv x' \delta x + \lambda ' \delta \lambda - \delta s = 0[/tex]

I should have written:

[tex]N(x, \lambda, s) \equiv x' (x_i - x_0) + \lambda ' ( \lambda _i - \lambda _0) - \delta s = 0[/tex]

Because those things are not the same as the ##\delta x## and ##\delta \lambda## on the LHS. The way it works is this.

  1. Make a prediction using euler-style predictor
  2. Use that prediction to get the ##x_i##, ##\lambda _i## for the right hand side
  3. Iterate using a Newton type method (you iterate on ##i## only).
You can use the tangent as the predictor:$$x_{i+1} = x_i + \delta s T$$ where ##T## is the tangent. To get the tangent I just do it numerically:$$T = \frac{(z_i - z_{i-1})}{\delta s} = \frac{(z_i - z_{i-1})}{||z_i - z_{i-1}||}$$ Of course the obvious question is how to start the whole thing? I just use natural parameter continuation for the first step.

This isn't everything I figured out, but it's about as much as I want to type. An in-depth algorithm can be found at http://iopscience.iop.org/1742-6596/385/1/012008/pdf/1742-6596_385_1_012008.pdf

I'm currently trying to figure out how to update ##\delta s## in a sensible way for when it fails...
 

What is Pseudo Arclength Continuation?

Pseudo Arclength Continuation is a numerical method used to solve nonlinear equations by transforming them into a curve tracing problem. It is often used in the field of mechanics and engineering to find stable solutions to complex systems.

How does the Pseudo Arclength Continuation method work?

The method works by iteratively solving the nonlinear equations and tracing a curve in the solution space. The curve is traced by introducing a pseudo-arclength parameter and using it to control the step size in the solution space. This allows for the exploration of multiple solutions and identification of bifurcation points.

What are the advantages of using Pseudo Arclength Continuation over other numerical methods?

Pseudo Arclength Continuation is advantageous because it can handle systems with many degrees of freedom and complex nonlinearities. It is also robust and can handle problems with multiple solutions and bifurcations. Additionally, it can provide insight into the behavior of the system and identify critical points.

What are the limitations of Pseudo Arclength Continuation?

One limitation is that it requires an initial guess for the solution. This means that it may not be suitable for problems with no known solutions. Additionally, the method can be computationally expensive for large systems and may not converge for some types of nonlinearities.

What are some practical applications of Pseudo Arclength Continuation?

Pseudo Arclength Continuation is commonly used in the analysis and design of mechanical and engineering systems, such as structural analysis, control systems, and fluid dynamics. It can also be applied in other fields, such as economics and biology, to study complex systems with nonlinear behavior.

Similar threads

  • Calculus and Beyond Homework Help
Replies
6
Views
310
Replies
1
Views
945
Replies
2
Views
3K
  • Advanced Physics Homework Help
Replies
9
Views
878
  • Calculus and Beyond Homework Help
Replies
2
Views
530
Replies
3
Views
1K
  • Introductory Physics Homework Help
Replies
8
Views
707
Replies
2
Views
669
Replies
3
Views
2K
Replies
7
Views
1K
Back
Top