Finding the spring constant of a rope

In summary, a 7/8" Kinetic Recovery Rope like this "Python" [WLL 5,700-9,000 lbs] [MBS 28,600 lbs] is the most common size used for Jeeps, Broncos, and other SUVs. I apologize for English units but that's how ropes are sold and marketed. I've talked to the biggest rope suppliers and they have no idea how to compute the rope's spring constant, how to go size a rope by maximum momentum. All they know is ropes, and ropes are sold by WLL and MBS, which is easy to measure (WLL is just computed as a fraction of MBS). A 1" Kinetic Recovery Rope "Ratt
  • #36
erobz said:
Because its spring rate has dependency on the initial length of the rope.

For a linear spring we have that:

$$dF = k dx$$

Where ##k## is a constant.

If we integrate that we get that

$$ \int_{0}^{F} dF = k \int_{0}^{x} dx \implies F = kx$$

And the work is given by:

$$W = \int_{0}^{x} F dx = \int_{0}^{x} kx dx = \frac{1}{2}kx^2$$

This rope has a ##k## value which is some non-constant function of its length. Its begins with a different differential equation:

$$dF = k(l)dl $$

The work of that type of a spring is given by:

$$W = \int_{l_o}^{l} \left( \int_{l_o}^{l} k(l) dl \right) ~dl $$

It's going to depend on whatever the function ##k(l)## is (which is not a constant if you get 30% stretch up to ##F_{WLL}## for ropes of different initial length)

> (which is not a constant if you get 30% stretch up to ##F_{WLL}## for ropes of different initial length)

I know that part is wrong. ##F_{WLL}## is just ##F_{MBS}/3## and has nothing to do with how much the rope stretches.

The only thing we know is up to 30% stretch within the elastic limit. Perhaps ##F_{MBS}## is dependent on length and they publish the same values because of ignorance.

I still don't see why you assert that 2 springs in series are different than 2 ropes in series.

Do you disagree with - Spring constant of a rope ?
 
Physics news on Phys.org
  • #37
B0B said:
I can measure tensile stress (σ) but how would I measure tensile strain (ε)
Start off with engineering strain (Δl/l0) and see where it takes you. Young‘s modulus for Nylon is around 0.2-0.6×106 psi. I calculate Young's modulus of .16×106, .14×106, .14×106psi for .875, 1, 1.25 inch cables so things are in the ballpark. The rope has open volume, so these numbers should be larger if this is taken into account.
 
  • #38
B0B said:
> (which is not a constant if you get 30% stretch up to ##F_{WLL}## for ropes of different initial length)

I know that part is wrong. ##F_{WLL}## is just ##F_{MBS}/3## and has nothing to do with how much the rope stretches.

The only thing we know is up to 30% stretch within the elastic limit. Perhaps ##F_{MBS}## is dependent on length and they publish the same values because of ignorance.

I still don't see why you assert that 2 springs in series are different than 2 ropes in series.

Do you disagree with - Spring constant of a rope ?
You are telling me that two ropes of a same diameter one at 20 ft long and the other 30 ft long both have the same ##F_{WLL}##. That is absolutely fine. What is not fine (for a linear spring ) is that the 20 ft one gets to ##F_{WLL}## deflecting only 6 ft, and the 30 ft long one gets there by deflecting 9 ft.

With a linear springs of constant ##k## the deflection for both up to a certain load is exactly the same independent of their initial unstretched length.
 
  • #39
erobz said:
With a linear springs of constant k the deflection for both up to a certain load is exactly the same independent of their initial unstretched length.
Yes, but with n springs in series, 1/n of the displacement is associated with each spring. This is why I like stress-strain.
 
  • #40
Frabjous said:
Yes, but with n springs in series, 1/n of the displacement is associated with each spring. This is why I like stress-strain.
o:) I guess I need to get some rest!

Sorry @B0B please continue on without me. I apologize for any confusion I caused.
 
Last edited:
  • Care
Likes Frabjous
  • #41
Frabjous said:
Yes, but with n springs in series, 1/n of the displacement is associated with each spring. This is why I like stress-strain.
How is that different than with N ropes in series where each rope has 1/n the displacement?
 
  • #42
erobz said:
You are telling me that two ropes of a same diameter one at 20 ft long and the other 30 ft long both have the same ##F_{WLL}##. That is absolutely fine. What is not fine (for a linear spring ) is that the 20 ft one gets to ##F_{WLL}## deflecting only 6 ft, and the 30 ft long one gets there by deflecting 9 ft.

With a linear springs of constant ##k## the deflection for both up to a certain load is exactly the same independent of their initial unstretched length.
I never said that and I've stated many times there's no relationship to ##F_{WLL}## and stretch. ##F_{WLL}## is just ##1/3*F_{MBS}##
 
  • #43
B0B said:
How is that different than with N ropes in series where each rope has 1/n the displacement?
It isn’t. I was trying to help erobz.
 
  • #44
It seems very obvious now that ##F_{MBS}## is dependent on length. I'd venture to guess those numbers are for a 30' rope, which is 90% of the sales.
 
  • #45
B0B said:
It seems very obvious now that ##F_{MBS}## is dependent on length. I'd venture to guess those numbers are for a 30' rope, which is 90% of the sales.
I can see why it depends on diameter (see post 37), why does it depend on length?
 
  • #46
B0B said:
I never said that and I've stated many times there's no relationship to ##F_{WLL}## and stretch. ##F_{WLL}## is just ##1/3*F_{MBS}##
The force was not the issue, it was the deflection that was the issue.I got screwed up and forgot that if you take a spring with constant ##k## and cut it in half, you have two springs each with constant ##2k##.Just ignore the argument about the non-linearity of the spring constant. My apologies for that wild goose chase.
 
  • Like
Likes chwala and B0B
  • #47
Shooting from the hip. If a spring has an elastic limit of 1 kg, 1,000 springs in series would have an elastic limit of 1,000 kg. I'm convinced that kinetic ropes act like springs and if for sure ##F_{MBS}## independent of length rules out a spring, I say it is dependent. WAUG (wild ass unscientific guess).
 
  • #48
Can't I just plot deflection vs load for a fixed rope to see if it mimics a spring?
 
  • #49
B0B said:
Shooting from the hip. If a spring has an elastic limit of 1 kg, 1,000 springs in series would have an elastic limit of 1,000 kg. I'm convinced that kinetic ropes act like springs and if for sure ##F_{MBS}## independent of length rules out a spring, I say it is dependent. WAUG (wild ass unscientific guess).
No, it is still 1 kg.
 
  • Like
Likes B0B
  • #50
B0B said:
Can't I just plot deflection vs load for a fixed rope to see if it mimics a spring?
Yes.
I think you missed my post 37. The rope is performing like one would expect of nylon.
 
  • #51
B0B said:
Can't I just plot deflection vs load for a fixed rope to see if it mimics a spring?
Whatever you do, there is no reason to test this anywhere near WLL, don’t try to be a hero, and if you can’t measure the load remotely in a cleared area, don’t do it at all.
 
  • Like
Likes B0B
  • #52
erobz said:
Whatever you do, there is no reason to test this anywhere near WLL, don’t try to be a hero, and if you can’t measure the load remotely in a cleared area, don’t do it at all.
Agree
 
  • Like
Likes erobz
  • #53
I don't know about these particular kinds of ropes but climbing ropes are not quite like springs. They are spring-like to the first approximation but if you plot force vs. elongation it isn't linear, there is hysteresis, and there is memory. They are more complicated. I read a paper some years back that modeled them as a combination of two springs and a dashpot. Climbing rope manufacturers specify their products in terms of the number of a times they will survive a particular kind of extreme dynamic load. They aren't stupid or negligent in describing the properties of their ropes. There is a "static elongation" specification that is kind of like a spring constant for small loads. But it doesn't correlate very well to what you really want to know when you load the rope dynamically.

I don't know how much this applies to the ropes used to haul stuck vehicles or whatever. Ignore this if you think it doesn't.
 
  • Like
Likes B0B and erobz
  • #54
I did a search using terms stress strain nylon rope, and found a document titled Review of Synthetic Fiber Ropes: https://apps.dtic.mil/sti/pdfs/ADA084622.pdf. It has a good discussion of what happens when a rope is subjected to repetitive loadings. That discussion is consistent with the observations of @B0B about ropes breaking after a number of uses. That document is highly suggested reading for anybody who finds this thread interesting.

The following stress strain curves are from that document:
Nylon rope.jpg

Note that nylon does not have a linear stress strain curve. That means that the linear spring equations, such as ##Energy = 0.5 Kx^2## do not apply. It is necessary to integrate by measuring the area under the stress strain curve.

Since the OP wants to know the energy storage capability of one full length of rope, his best approach is to measure the deflection of a full length of rope. Measuring the strain of a short piece, and using that to calculate the deflection of the entire length, is not only a waste of effort, but also introduces errors. The above plot shows the need for a series of measurements. The resulting data plot would have the horizontal axis in feet and the vertical axis in pounds. It would apply to one specific rope. The results would be directly useful for the energy calculations desired by the OP.
 
  • Like
Likes B0B, Frabjous and erobz
  • #55
jrmichler said:
I did a search using terms stress strain nylon rope, and found a document titled Review of Synthetic Fiber Ropes: https://apps.dtic.mil/sti/pdfs/ADA084622.pdf. It has a good discussion of what happens when a rope is subjected to repetitive loadings. That discussion is consistent with the observations of @B0B about ropes breaking after a number of uses. That document is highly suggested reading for anybody who finds this thread interesting.

The following stress strain curves are from that document:
View attachment 322629
Note that nylon does not have a linear stress strain curve. That means that the linear spring equations, such as ##Energy = 0.5 Kx^2## do not apply. It is necessary to integrate by measuring the area under the stress strain curve.

Since the OP wants to know the energy storage capability of one full length of rope, his best approach is to measure the deflection of a full length of rope. Measuring the strain of a short piece, and using that to calculate the deflection of the entire length, is not only a waste of effort, but also introduces errors. The above plot shows the need for a series of measurements. The resulting data plot would have the horizontal axis in feet and the vertical axis in pounds. It would apply to one specific rope. The results would be directly useful for the energy calculations desired by the OP.
The apparent stress/strain dependency on strain rate is going to be a further complication for the OP’s intentions…
 
  • Like
Likes B0B
  • #56
JT Smith said:
I don't know about these particular kinds of ropes but climbing ropes are not quite like springs. They are spring-like to the first approximation but if you plot force vs. elongation it isn't linear, there is hysteresis, and there is memory. They are more complicated. I read a paper some years back that modeled them as a combination of two springs and a dashpot. Climbing rope manufacturers specify their products in terms of the number of a times they will survive a particular kind of extreme dynamic load. They aren't stupid or negligent in describing the properties of their ropes. There is a "static elongation" specification that is kind of like a spring constant for small loads. But it doesn't correlate very well to what you really want to know when you load the rope dynamically.

I don't know how much this applies to the ropes used to haul stuck vehicles or whatever. Ignore this if you think it doesn't.
Very useful, thanks for posting. From what I know, kinetic ropes are very similar, just bigger.

jrmichler said:
I did a search using terms stress strain nylon rope, and found a document titled Review of Synthetic Fiber Ropes: https://apps.dtic.mil/sti/pdfs/ADA084622.pdf. It has a good discussion of what happens when a rope is subjected to repetitive loadings. That discussion is consistent with the observations of @B0B about ropes breaking after a number of uses. That document is highly suggested reading for anybody who finds this thread interesting.

The following stress strain curves are from that document:
View attachment 322629
Note that nylon does not have a linear stress strain curve. That means that the linear spring equations, such as ##Energy = 0.5 Kx^2## do not apply. It is necessary to integrate by measuring the area under the stress strain curve.

That's super useful. However to a discount engineer or a retired drywall contractor where close enough counts, at high V, linear is a good approximation.

jrmichler said:
Since the OP wants to know the energy storage capability of one full length of rope, his best approach is to measure the deflection of a full length of rope. Measuring the strain of a short piece, and using that to calculate the deflection of the entire length, is not only a waste of effort, but also introduces errors. The above plot shows the need for a series of measurements. The resulting data plot would have the horizontal axis in feet and the vertical axis in pounds. It would apply to one specific rope. The results would be directly useful for the energy calculations desired by the OP.
The only way I could measure is with a full rope, but I'm guessing your suggesting that my measurements with a 20' rope cannot be applied to a 30' rope using 2/3*K for the spring constant. I'm also unwilling to apply more than 12K lbs to a rope rated at 43K lbs breaking strength as my current meter requires me to be near the winch line.

EDIT: Update. I've got a portable backup camera I can point at the current meter and then get a safe distance from the ropes under tension. Using a snatch ring to double, I'd probably be OK pulling up to 16K lbs.

Thanks everyone for helping out.
 
Last edited:
  • #57
B0B said:
Very useful, thanks for posting. From what I know, kinetic ropes are very similar, just bigger.
That's super useful. However to a discount engineer or a retired drywall contractor where close enough counts, at high V, linear is a good approximation.The only way I could measure is with a full rope, but I'm guessing your suggesting that my measurements with a 20' rope cannot be applied to a 30' rope using 2/3*K for the spring constant. I'm also unwilling to apply more than 12K lbs to a rope rated at 43K lbs breaking strength as my current meter requires me to be near the winch line.

Thanks everyone for helping out.
The 20 ft rope would have a larger effective ##k## value in comparison to the 30 ft rope.
 
  • Like
Likes B0B
  • #58
erobz said:
The 20 ft rope would have a larger effective ##k## value in comparison to the 30 ft rope.
If it was a spring, the 30' rope would have 2/3*K of the 20'. But it's not a spring.

When I said at high V it's close to linear, I'd be measuring at a very slow speed which is the least linear.
 
  • Like
Likes erobz
  • #59
B0B said:
When I said at high V it's close to linear, I'd be measuring at a very slow speed which is the least linear.
That doesn’t help you though, it’s a hinderance.

You are trying not to exceed the WLL. The faster you attempt to yank to get the vehicle out, means you have less available deflection before WLL is reached because of this strain rate dependency. The faster you go, the stiffer the spring. That’s opposite of ideal for this situation. It seems like it's going to act to limit the max initial velocity in a non-obvious way.
 
Last edited:
  • #60
jrmichler said:
I did a search using terms stress strain nylon rope, and found a document titled Review of Synthetic Fiber Ropes: https://apps.dtic.mil/sti/pdfs/ADA084622.pdf. It has a good discussion of what happens when a rope is subjected to repetitive loadings. That discussion is consistent with the observations of @B0B about ropes breaking after a number of uses. That document is highly suggested reading for anybody who finds this thread interesting.

The following stress strain curves are from that document:
View attachment 322629
Note that nylon does not have a linear stress strain curve. That means that the linear spring equations, such as ##Energy = 0.5 Kx^2## do not apply. It is necessary to integrate by measuring the area under the stress strain curve.

Since the OP wants to know the energy storage capability of one full length of rope, his best approach is to measure the deflection of a full length of rope. Measuring the strain of a short piece, and using that to calculate the deflection of the entire length, is not only a waste of effort, but also introduces errors. The above plot shows the need for a series of measurements. The resulting data plot would have the horizontal axis in feet and the vertical axis in pounds. It would apply to one specific rope. The results would be directly useful for the energy calculations desired by the OP.
From the cited PDF
1677125183020.png


1677125273057.png


I read that as shock loads, aka, high speed loads from a vehicle going 15 MPH yanking on a vehicle in mud is more elastic with better recovery than slow speed loads (aka, my testing approach with a winch). Am I reading that right?
 
  • #61
B0B said:
From the cited PDF
View attachment 322755

View attachment 322756

I read that as shock loads, aka, high speed loads from a vehicle going 15 MPH yanking on a vehicle in mud is more elastic with better recovery than slow speed loads (aka, my testing approach with a winch). Am I reading that right?
I think it’s says high strain rates are more Hookean in behavior. You should also notice that the forces developed are higher per unit deflection under higher strain rate. What is the initial strain rate for a 30 ft rope at 5 mph, vs 15 mph. How much do the curves change for your rope?

Also, the higher strain rate curves end more abruptly without plastic deformation. So you can get higher loads, but if they snap they are releasing that energy abruptly too. The higher the load the more likely something on the vehicle could fail possibly sending something through a vehicle of the unsuspecting parties involved like in that tragic story you shared.

The question I have is how are you planning to use this info? Ideally you would use it as a type of safety factor, but when that truck doesn’t come out of the mud it could ( not saying you would) be used as a “push the limits factor” instead; which is less desirable for concerns of safety...IMO.
 
Last edited:
  • Like
Likes B0B
  • #62
B0B said:
I read that as shock loads, aka, high speed loads from a vehicle going 15 MPH yanking on a vehicle in mud is more elastic with better recovery than slow speed loads (aka, my testing approach with a winch). Am I reading that right?
The rope at higher test speeds broke at higher load and less stretch, but there was a large difference in speeds in those tests. Figure 2-6 from that PDF shows the results of strain rates with a range of almost six orders of magnitude. So, let's look at the strain rates of yanking at 15 MPH vs a winch. In order to do that, I make some assumptions. If you have better numbers, then substitute as appropriate.

Assume:
Rope is 30 feet long.
It stretches 15%, or 4.5 feet.
Fast load starts at 15 MPH, or 22 ft/sec.
Slow load (winch) is 1 ft/sec.

Then the strain rates, using the units from Fig 2-6 (percent of sample length per second) are:
Fast: 22/30*100 = 73%/second at the start of pull
Slow: 1/30*100 = 3%/second through the entire pull

Looking at Fig 2-6 with these numbers, there is not much difference between a 15 MPH pull and a winch pull. Note that the pulling vehicle is slowing down while the pulled vehicle is speeding up during the pull, so the rate of stretch decreases during the pull. Does the pulling vehicle ever actually reach that speed by the time the rope gets tight?

Safety question: When a safety blanket is placed on a rope that breaks, how well does it confine the rope/prevent damage?
 
  • Like
Likes B0B and erobz
  • #63
jrmichler said:
Note that the pulling vehicle is slowing down while the pulled vehicle is speeding up during the pull, so the rate of stretch decreases during the pull. Does the pulling vehicle ever actually reach that speed by the time the rope gets tight?
I think we want to assume worst case here that the stuck vehicle does not move.
 
  • Like
Likes B0B
  • #64
jrmichler said:
Assume:
Rope is 30 feet long.
It stretches 15%, or 4.5 feet.
Fast load starts at 15 MPH, or 22 ft/sec.
Slow load (winch) is 1 ft/sec.

Then the strain rates, using the units from Fig 2-6 (percent of sample length per second) are:
Fast: 22/30*100 = 73%/second at the start of pull
Slow: 1/30*100 = 3%/second through the entire pull

Looking at Fig 2-6 with these numbers, there is not much difference between a 15 MPH pull and a winch pull. Note that the pulling vehicle is slowing down while the pulled vehicle is speeding up during the pull, so the rate of stretch decreases during the pull. Does the pulling vehicle ever actually reach that speed by the time the rope gets tight?
Yeah, they don't really start to diverge in that range until the region surrounding the onset of plastic deformation it seems. I suppose that is good news, since the goal is to avoid plastic deformation in the first place. Testing for one speed, but having the other in application doesn't appear like it should have dramatic effect.
 
Last edited:
  • Like
Likes B0B and jrmichler
  • #65
jrmichler said:
The rope at higher test speeds broke at higher load and less stretch, but there was a large difference in speeds in those tests. Figure 2-6 from that PDF shows the results of strain rates with a range of almost six orders of magnitude. So, let's look at the strain rates of yanking at 15 MPH vs a winch. In order to do that, I make some assumptions. If you have better numbers, then substitute as appropriate.

Assume:
Rope is 30 feet long.
It stretches 15%, or 4.5 feet.
Fast load starts at 15 MPH, or 22 ft/sec.
Slow load (winch) is 1 ft/sec.

Then the strain rates, using the units from Fig 2-6 (percent of sample length per second) are:
Fast: 22/30*100 = 73%/second at the start of pull
Slow: 1/30*100 = 3%/second through the entire pull

Looking at Fig 2-6 with these numbers, there is not much difference between a 15 MPH pull and a winch pull. Note that the pulling vehicle is slowing down while the pulled vehicle is speeding up during the pull, so the rate of stretch decreases during the pull. Does the pulling vehicle ever actually reach that speed by the time the rope gets tight?

Safety question: When a safety blanket is placed on a rope that breaks, how well does it confine the rope/prevent damage?
Great info.

jrmichler said:
Does the pulling vehicle ever actually reach that speed by the time the rope gets tight?

Safety question: When a safety blanket is placed on a rope that breaks, how well does it confine the rope/prevent damage?

The pulling vehicle typically slows down very quickly.

I have two safety blankets and I fill the storage pockets with sand, dirt, or water bottles to add more mass. It's a pure momentum play. In most cases the mass of the rope is not that great and the blanket can prevent damage. Worst case is the metal D ring or other heavy metal object breaks off from one of the rigs.

So @jrmichler are you saying I can measure the spring constant of the rope and come up with some numbers that are more meaningful than the WLL and MBS guidelines? Or is another calculation needed? If so, how can I estimate max momentum value?

erobz said:
I think we want to assume worst case here that the stuck vehicle does not move.
Yes, for sure, as that's often the case.
 
  • #66
B0B said:
So @jrmichler are you saying I can measure the spring constant of the rope and come up with some numbers that are more meaningful than the WLL and MBS guidelines?
Yes.
B0B said:
how can I estimate max momentum value?
Get the force vs stretch first. Plot the results. That will tell you if a linear approximation is good enough, or if you need to numerically integrate the measured results. This approach saves a lot of time discussing the various possibilities.

And besides that, I'm curious to see what the actual measured load vs stretch curve for nylon rope looks like.
 
  • Like
Likes B0B
  • #67
jrmichler said:
Yes.

Get the force vs stretch first. Plot the results. That will tell you if a linear approximation is good enough, or if you need to numerically integrate the measured results. This approach saves a lot of time discussing the various possibilities.

And besides that, I'm curious to see what the actual measured load vs stretch curve for nylon rope looks like.
Using an amp meter to measure current proved impractical. Using a load cell provide a direct and hopefully better measurement. I'm going to get a 20K lbs load cell. Using a snatch ring and my 12K winch, I should be able to put 20K pounds tension on a rope. The ropes tested all have a MBS of ≈ 30K lbs and a working load (WLL) of only 7K lbs.

I used the data from this youtube video:

1701206178417.png


None of the ropes are linear so I can't take a couple measurements to get the spring constant. The Smitty and Yankum (far left) are nearly linear. Numerical integration is the only way to measure how much energy they can store.

Using
##
W = \Delta KE
##
Where W is the work stretching the rope as determined by the trapezoidal/numerical integration.

##KE = \frac{1}{2} m \cdot V^2##

##
V = \sqrt{\frac{2W}{m}}
##

##
V_{\text{mph}} = V_{\text{ft/s}} \times 0.681818
##

So using the data for the most expensive rope (and probably the most popular) the Yankum and 4,500 recovery vehicle, it comes out the max safe velocity for a kinetic pull is 1.475 MPH.

The Yankum (10535.5 ft-lbs) has the lowest energy capacity of the ropes above (actually tied for lowest) while the Bubba has the highest at 14572.5 ft-lbs, nearly 50% higher.

But even the Bubba has a Max safe velocity of 1.73 MPH.

These calculations assume a shock load is the same as slow constant load.

There are thousands of youtube videos using vehicles of similar or higher mass, all going over 10 MPH.

The kinetic rope market is a multi million dollar market. Matt's Off Road Recovery makes over a million/year on each of FB and youtube doing dramatic kinetic pulls. I'd like to figure out how I can take measurements for the vendors so they can publish safe data rather than the nonsense they now publish (MBS). But providing such data probably opens me up to liability.
 
Last edited:
  • #68
Your simple calculation has some assumptions:
1) Pulling against a rigid, immovable object.
2) The pulling vehicle is moving at a velocity.
3) The pulling vehicle has neither an engine pulling ahead nor friction slowing it down.

The actual situation is:
1) Pulling an object with mass, friction, and possibly suction.
2) The pulling vehicle has a velocity at the point where the rope gets tight.
3) The pulling vehicle has the engine developing power.

The result is that your simplified calculation is too simple for the real world. But, it does give you a starting point and helps to define the problem solution. This problem needs a numerical solution. The differential equation to be solved is as follows:
1) Two masses - puller and pullee.
2) Either or both masses may be on a slope.
3) The masses are connected by a nonlinear spring - the spring force is a function of the length, and zero when the length is less than the length of the rope.
4) The puller mass has a forward force from the engine.
5) The pullee mass has a friction force that acts against the velocity, and is zero when the velocity is zero.
6) If there is suction, then the pullee mass has a force that is a function of the velocity (or possibly velocity squared).

When solving this type of problem, it is advised to start with the simplest case - no slope, no engine, no friction, no suction. Then add one variable at a time, and make sure the calculation is giving good results at each step.
 
  • Like
Likes B0B and berkeman
Back
Top