S Lazy-H
  • Home
  • About
  • Posts
  • Contact
  • Slide Rules
  • A Biker’s Tale

Catenary Explorations Part 2

mathematics
Author

Sam Hutchins

Published

December 21, 2023

These thoughts are kind of a follow-up to the Catenary post earlier, where I discussed ways-and-means to determine the length of a catenary loop, based upon support height and distance between. One aspect that puzzled me was this particular formula, based on the hyperbolic identity, \(cosh^{2} x - sinh^{2} x = 1\), What was derived from that was the formula,

\[\left(\frac{h + x}{x}\right)^{2} - \left(\frac{L}{x}\right)^{2} = 1\]

where h is support height, and L was equal to 1/2 of total loop length. It assumes the total catenary loop length is already known. In the use-case I was using, it didn’t really have a practical application, other than perhaps as a preliminary starting point for further calculations. This gave a x value which allowed the loop to touch the ground. This is not necessarily a desired outcome if the cable in question is a power line. In the previous post, we determined a value for minimum height above ground in a try-and-try again method. I found several methods to determine total loop length that produced similar results. The three formulae are,

\[\begin{equation}\tag{1} \int_{-x}^{x} \cosh{\frac{x}{a}} \ dx \end{equation}\]

for integrating the x values. For summing the values, these two give very similar results,

\[\begin{equation}\tag{2} \sum_{x=1}^{x} \cosh{\frac{x}{a}} \times 2 \end{equation}\]

and,

\[\begin{equation}\tag{3} \left(\sum_{x=-x}^{x} \cosh{\frac{x}{a}}\right) - 1 \end{equation}\]

How similar are the results? Let’s take an example and work all three formulae. Using the example we used in the Catenary post, where the support height P was 34 feet, and the distance between D was 150 feet. We also want the maximum sag to be 20 feet. Inserting these values, we see the following results,

\[\begin{equation} \int_{-75}^{75} \cosh{\frac{x}{145}} \ dx \ = 156.78 feet \end{equation}\]

\[\begin{equation} \sum_{x=1}^{75} \cosh{\frac{x}{145}} \times 2 \ = 156.92 feet \end{equation}\]

\[\begin{equation} \left(\sum_{x=-75}^{75} \cosh{\frac{x}{a}}\right) - 1 \ = 156.92 feet \end{equation}\]

The difference is approximately 2 inches. Realize that for the last two, the results are the same because the first uses only one side of the loop, and the second uses the entire length, but the negative values essentially cancel the positive values. Different ways to do the same thing.

What if we wished to semi-automate the process? We could use some nested iterations in R Core Team (2023) and Allaire et al. (2023) to do that. The following is one way that could be done. The code is not pretty, but is broken out to easier see what is going on. This is just something I threw together to see if it would work. Caveat: I am not a R programmer, I just dabble…

library(pracma)
sagEnd <- 20 # EDIT: value for maximum sag
pts <- c(-75:75) # EDIT: half of total distance between supports.
a <- 1 # starting value
e <- max(pts*2) # support distance
n <- length(pts) # values for matrix size
stor <- matrix(pts,nrow=n,ncol=2) # storage for cosh(x) values
sag <- 1000 # starting value, first iteration gives real value
while(sag>=sagEnd+.1) { # iterate toward sagEnd
  i <- 1
  while(i<=n) { # lookup table loop using left column
    stor[i,2] <- a*cosh(pts[i]/a) # store value in right column
    i <- i+1 # next line
  }
  c <- min(stor[,2]) # min value range
  d <- max(stor[n,2]) # max value range
  sag <- round(d-c,1) # difference round one decimal digit
  a <- a+.1 # next value to try
}
fun <- function(x){cosh(x/a)} # function to calculate values
totalLen <- round(integral(fun,stor[1,1],stor[n,1]),2) # integral, round two decimal digits
show(paste("Pole distance:",e,"units."))
show(paste("Curve length:",totalLen,"units."))
show(paste("Sag:",sag,"units."))
show(paste("Final 'A' value:",round(a,1)))

One item worth noting is where I round off the sag value. If that is not done, the program essentially hangs, or takes forever to calculate a result. And forever is a very, very long time!

Back in the day, when calculators were Human, who used slide rules to do even more complicated calculations than these simple ones, the previous calculations would have required tabulating the results manually on paper to derive the solution, and doing it all over again for each change to massage the results for a desired outcome. Ye Gads! But, the folks did it as a matter of course because that was the only way known at the time, until the mid-1960’s.

Thankfully, these days slide rules are mainly used just for the fun of it, and to keep alive the skills and the memory of those times. And, for some, just to keep fresh the methodology for manipulating numbers; and more importantly, actually understanding the results! BTW, any errors found are my own.

Have a great day! We praise God for all things!


References

Allaire, JJ, Yihui Xie, Christophe Dervieux, Jonathan McPherson, Javier Luraschi, Kevin Ushey, Aron Atkins, et al. 2023. Rmarkdown: Dynamic Documents for r. https://CRAN.R-project.org/package=rmarkdown.
R Core Team. 2023. R: A Language and Environment for Statistical Computing. Vienna, Austria: R Foundation for Statistical Computing. https://www.R-project.org/.
© S Lazy-H 2019 -