Pseudo-arclength continuation implementation

  • Context: Graduate 
  • Thread starter Thread starter TokenMonkey
  • Start date Start date
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
2 replies · 3K views
TokenMonkey
Messages
5
Reaction score
0
Hi there,

Apologies if this is the wrong section for this question; I'm not a regular here. I assume a mod will move it if it's not the right place.

I have a quick question regarding pseudo-arclength continuation. As some background, I am a chemical engineer, not a mathematician, applied or otherwise, so my knowledge of numerical methods is limited to the "standard" engineering stuff, which, unfortunately, does not include this.

I've been reading up as extensively as I can on pseudo-arclength continuation, but unfortunately, it's all from second-hand sources; I don't have access to Keller's original paper (not that I'm sure that would help me). Here's what I understand at this point:

We want to solve a problem [itex]F(x,\lambda)=0[/itex]. We assume that the solution is known at [itex]x^0[/itex] and [itex]\lambda^0[/itex]. To avoid the singularity of the Jacobian, and therefore the breakdown of Newton's method, at turning points, [itex]x[/itex] and [itex]\lambda[/itex] both become parameterised by arclength ([itex]s[/itex]), and we end up with an augmented system of equations to solve:

[itex]F(x,\lambda)=0[/itex]
[itex]\left(u-u^{0}\right)\mathrm{d}u^{0}/\mathrm{d}s+\left(\lambda-\lambda^{0}\right)\mathrm{d}\lambda^{0}/\mathrm{d}s-\Delta S=0[/itex]

While this seems simple enough, how does one obtain the derivatives w.r.t [itex]s[/itex]? Not a single text seems to mention this. Ideas that spring to mind are forward differences using, say, cubic splines; however, that seems horrendously inefficient to me. There must be a better way!

Thanks,
TM
 
Physics news on Phys.org
I suppose the question boils down to: is there a straightforward way of expressing [itex]x[/itex] and [itex]\lambda[/itex] as functions of [itex]s[/itex]?
 
I found the answer: a procedure is described in Kubicek's Algorithm 502 in ACM Trans. Math. Software. dl.acm.org/citation.cfm?id=355675