# Thread: Catenary Cable. Different Heights.

1. ## Catenary Cable. Different Heights.

Hi,

I have been working on developing a catenary cable toolbox for matlab. So far I have the equations to model a catenary cable hanging between 2 points of unequal height provided that the cable sags below the lowest support at some point along the span (That is, dy/dx = 0 at some point as the reference text uses this point in the formulation). Here is the document that I found that I have been working from
http://members.chello.nl/j.beentjes3...s/catenary.pdf

My problem is that dealing with tight cables, dy/dx != 0 at any point so the equations give complex roots and cannot be solved (by myself at least). I am hoping someone can either review the document in the link and offer their opinion, or refer me to a source that has a better method that I could use.

An example of the problem I am trying to solve is:
A cable of length 20.7m is hung from point (0,10) to point (20,15). What is the equation of the profile of the cable?

In the attached image, I have solved the problem if the cable length was 20.9m as this just allows the cable to sag below the lowest support and the equations work for this case. The cable cant be any shorter then 20.616m as this is the clear distance between the 2 points. So I define a tight cable as having a length between 20.616-20.9m which currently my toolbox cannot solve.

I plan to publish the toolbox on the mathworks file exchange when I solve this problem so that I can get some feedback and identify any bugs.

Thanks, Elbarto

2. I have not looked at the document you were working from, but I have another approach that does not depend on whether the cable sags below the lower support.

My idea is this. The general equation for a catenary is $y = a\cosh\tfrac xa$, where a is a parameter to be determined. Suppose we can find a value of a for which there are two points $(x_1,y_1)$ and $(x_2,y_2)$ on the curve with horizontal separation d and vertical separation h, such that the curve length between these two points is s, then we can translate the curve so as to fit between the two given support points.

So the given information is that

$(1)\qquad x_2-x_1 = d$,
$(2)\qquad a\cosh\tfrac{x_2}a-a\cosh\tfrac{x_1}a = h$,
$(3)\qquad a\sinh\tfrac{x_2}a-a\sinh\tfrac{x_1}a = s$.

Using addition formulae for hyperbolic functions, you can write (2) and (3) as

$(4)\qquad h = 2a\sinh\Bigl(\frac{x_1+x_2}{2a}\Bigr) \sinh\Bigl(\frac{x_1-x_2}{2a}\Bigr)$,
$(5)\qquad s = 2a\cosh\Bigl(\frac{x_1+x_2}{2a}\Bigr) \sinh\Bigl(\frac{x_1-x_2}{2a}\Bigr)$.

Now using cosh^2 – sinh^2 = 1, we can square (4) and (5) and subtract, to get $s^2 - h^2 = 4a^2\sinh^2\Bigl(\frac{x_1-x_2}{2a}\Bigr)$, or

$(6)\qquad 2a\sinh\tfrac d{2a} = \sqrt{s^2-h^2}$.

That is an equation for a in terms of the known constants d, s and h. Unfortunately, (6) does not have an explicit solution in terms of standard functions. But you can solve it numerically to any desired degree of accuracy, using some technique such as Newton–Raphson.

Once you have found a, you can get $x_1$ and $x_2$ as follows. Divide (4) by (5) to get $\frac hs = \tanh\Bigl(\frac{x_1+x_2}{2a}\Bigr)$, from which (using the expression for the inverse tanh function as a logarithm)

$(7)\qquad x_1+x_2 = a\ln\Bigl(\frac{s+h}{s-h}\Bigr)$.

Combine this with (1) to get

$(8)\qquad x_1 = \frac12\Bigl(a\ln\Bigl(\frac{s+h}{s-h}\Bigr) - d\Bigr)$,
$(9)\qquad x_2 = \frac12\Bigl(a\ln\Bigl(\frac{s+h}{s-h}\Bigr) + d\Bigr)$.

Here's an example of how this works numerically.
Originally Posted by elbarto
An example of the problem I am trying to solve is:
A cable of length 20.7m is hung from point (0,10) to point (20,15). What is the equation of the profile of the cable?
In that example, the horizontal separation is $d=20$, the vertical separation is $h=5$, and the cable length is $s=20.7$. Equation (6) becomes $2a\sinh\tfrac {10}a = 20.087$. In this equation, the constant 20.087 is close to the smallest value (namely 20) for which the equation has a solution (corresponding to the fact that the cable is tightly stretched in this example). By trial and error, and successive approximation, I found that the solution is approximately $a = 61.9388$. Then equations (8) and (9) give $x_1 = 5.2627$, $x_2 = 25.2627$, with corresponding y values $y_1 = 62.1625$, $y_2 = 67.1625$. Finally, since you want the support points to be (0,10) and (20,15), you need to shift the x and y coordinates, and you get the solution

$\boxed{y = 61.9388\cosh\Bigl(\frac{x+5.2627}{61.9388}\Bigr) - 52.1625}$.

There are two possible snags to this method. One is the necessity to get a sufficiently good approximate solution for $a$ in equation (6). The other is that I think I have assumed that h>0. If h<0 (in other words, if the right-hand support point is lower than the left one) then probably some modification to the formulae will be needed.

Your solution looks a lot nicer than anything I have seen so far, I will try you method in matlab for a variety of cases and post my results back here when I'm done.

Regards Elbarto

4. This method is the most stable method for solving the catenary problem that I have seen and the most simple method by far. A guess value of 1 for "a" was successful using the Newton–Raphson method and the formula holds true regardless of which value of y is higher. A simple implementation is given in the matlab code below and the figure is attached (My apologies for not commenting the code, I was a little pressed for time). I have tried this method for multiple cases and am happy with the results.

Once again thank you Opalg for sharing your method. Full credit must go to you.

Regards Elbarto

Code:
function plot_catenary
[f fstr] = CatFun2([0 10],[20 15],20.7)
x = 0:20;
y = f(x);
figure(1)
plot(x,y,[0 20],[10 15],'r:')
title(fstr)
xlabel x
ylabel y
axis equal
end

function [f fstr] = CatFun2(P1,P2,L,MAXERR,MAXIT)

if nargin < 4; MAXERR = 1e-6;end
if nargin < 5; MAXIT = 100;end

d = P2(1)-P1(1);
h = P2(2)-P1(2);

g = @(a)2*a*sinh(d/(2*a))-sqrt(L^2-h^2);
dg = @(a) 2*sinh(d/(2*a))- d*cosh(d/(2*a))/a;
[a eflag iter err] = jrbNR(g,dg,1,MAXERR,MAXIT);

x1 = 1/2*(a*log((L+h)/(L-h))-d);
x2 = 1/2*(a*log((L+h)/(L-h))+d);

k = x1-P1(1);
m = P1(2)-a*cosh(x1/a);

f = @(x)a*cosh((x+k)/a)+m;
fstr = sprintf('%0.3f*cosh((x%+0.3f)/%0.3f)%+0.3f',a,k,a,m);
end

function [x eflag iter err]  = jrbNR(f,df,x0,MAXERR,MAXIT)

if nargin < 4; MAXERR = 1e-6;end
if nargin < 5; MAXIT = 100;end
eflag = 0;

x = x0-f(x0)/df(x0);
x_prev = x0;
iter = 1;
while abs(x-x_prev) > MAXERR && iter < MAXIT
x_prev = x;
x = x-f(x)/df(x);
iter = iter + 1;
end

err =  abs(x-x_prev);
if iter < MAXIT; eflag = 1;end
end

5. ## Re: Catenary Cable. Different Heights.

Hi

This is my first time posting, I hope I'm not breaking any rules, but I have a similar problem so this seems to be the right thread to ask my question:

I have a problem with what I call compound catenaries. My problem is, I have a known start point and an end point, but in between, the cable is made up of 3 different cables joined together, the ends with one weight per unit length (w1), the middle with a different weight per unit length (w2). I know the curve lengths of each end, and I can vary the length of the middle section to adjust the horizontal component of the tension.

To translate this to a real world problem, think of overhead electricity cables. At the end of a line of pylons, the cables come down to the ground. Both ends of the down line are made from insulators, with the conductor in between.

I'd like to be able to create a spreadsheet that will draw the compound curve (or list the co-ordinates of the compound curve). I've tried to solve this myself, but I've come undone.

My eventual goal is to be able to do this with each cable of a different weight per unit length, and possibly take it further to join a number of cables together between any two points. I think if anyone could help me with the problem above, I could then continue the work to reach this eventual goal. Even if my abilities aren't up to that, I would greatly appreciate any help with the problem above.

6. ## Catenary Cable. in 3D

Greetings and salutations Im Aaron Aw.
I was wondering how will the parametric equations for the catenary will be if it were to be in 3D ?
How will equations (1) , (2), and (3) in "Opalg's thread" will change if z-axis were to be included ?

I've tried to search online and even consulting various people , but to no avail.
Please kindly assist me in this situation. Appreciate it much.

Thanks a lot.

,

,

,

,

,

,

,

,

,

,

,

,

,

,

# solve problem of catenary cables

Click on a term to search for related topics.