- #1
adrian52
- 7
- 1
I just wanted to confirm whether the idea I have about vertical springs is correct or not.
Suppose you have an ideal (massless) spring oriented vertically, and suspended from a block in the air, which in turn is mounted on a stand and placed on a desk. The distance from the desk (or the base of the stand) to the equilibrium resting point of the floating end of the spring, with NO masses attached at the end of the spring, is y0. Now a mass is attached to the end of the spring, and it extends to a new equilibrium point called y1 (again measured from the desk).
Now suppose that we set this mass and spring system to oscillate by pulling downwards on it. The question is, at some arbitrary position y2 in the mass' motion, what is the equation for the total mechanical energy? Just for simplicity let's say y2 is the minimum distance; i.e. when the spring is maximally stretched.
My answer is the following - I just wanted to know whether this is correct.
[1] E = (1/2)mv2 + (1/2)k(y2 - y0)2 + mg(y2)
There are other sources online that indicate that it is alright to write the total energy in the following way, and that "nothing will change":
[2] E = (1/2)mv2 + (1/2)k(y2 - y1)2 + mg(y2)
To me it seems extremely clear that the total energy of the system is only correctly described by equation [1]. Equation [2] is ignoring the stored potential energy in the spring from y0 to y1.
Am I missing anything? Clearly both answers can not be correct. It seems utterly bizarre to me that equation [2] is correct since it is explicitly ignoring stored energy.
Moreover if we were to look at differences in energy at two points, designated y1 and y2 (so yes, one of the points is at the new equilibrium distance), in case [2], the change in energy will be proportional to:
[2] (y2 -y1)^2 - (y1-y1)^2 = (y2-y1)^2
While for case [1], the change in energy will be proportional to:
[1] (y2 - y0)^2 - (y1 - y0)^2
Assuming that, regardless of how one 'defines' the equilibrium point, the velocities calculated at y2 and y1 are the same in either case, and that the difference in gravitational potential energy is the same, it seems clear to me that case [1] yields a vastly different answer from [2] due to cross-terms involving y0.
So given that there is clearly a different change in energy depending on how one defines the equilibrium point for a vertical spring, it seems that only one case can be correct. Again I ask, is case [1] correct as I believe it to be?
This should imply that it is therefore totally incorrect to use y1 as a "new equilibrium" for calculating total mechanical energy.
Thank you for the assistance.
Edit: I just did a computer simulation in Python with the following code (Python version 2.8 or so):
C = 0
y0 = 10 + C
y1 = 9 + C
y2 = 8 + C
def new():
return (float(y2-y1))**2
def old():
return (float(y2-y0))**2 - (float(y1-y0))**2
print "New", new()
print "Old", old()
For New I got 1 and for Old I got 3 (I used floats just in case something funky happened with integers; i.e. the division issue for integers..). The value of C doesn't matter as it shouldn't. So there is clearly a difference. Only one can be correct. I guess that answers it :). But if somehow I have done something else wrong I would like to hear about it from the community.
Suppose you have an ideal (massless) spring oriented vertically, and suspended from a block in the air, which in turn is mounted on a stand and placed on a desk. The distance from the desk (or the base of the stand) to the equilibrium resting point of the floating end of the spring, with NO masses attached at the end of the spring, is y0. Now a mass is attached to the end of the spring, and it extends to a new equilibrium point called y1 (again measured from the desk).
Now suppose that we set this mass and spring system to oscillate by pulling downwards on it. The question is, at some arbitrary position y2 in the mass' motion, what is the equation for the total mechanical energy? Just for simplicity let's say y2 is the minimum distance; i.e. when the spring is maximally stretched.
My answer is the following - I just wanted to know whether this is correct.
[1] E = (1/2)mv2 + (1/2)k(y2 - y0)2 + mg(y2)
There are other sources online that indicate that it is alright to write the total energy in the following way, and that "nothing will change":
[2] E = (1/2)mv2 + (1/2)k(y2 - y1)2 + mg(y2)
To me it seems extremely clear that the total energy of the system is only correctly described by equation [1]. Equation [2] is ignoring the stored potential energy in the spring from y0 to y1.
Am I missing anything? Clearly both answers can not be correct. It seems utterly bizarre to me that equation [2] is correct since it is explicitly ignoring stored energy.
Moreover if we were to look at differences in energy at two points, designated y1 and y2 (so yes, one of the points is at the new equilibrium distance), in case [2], the change in energy will be proportional to:
[2] (y2 -y1)^2 - (y1-y1)^2 = (y2-y1)^2
While for case [1], the change in energy will be proportional to:
[1] (y2 - y0)^2 - (y1 - y0)^2
Assuming that, regardless of how one 'defines' the equilibrium point, the velocities calculated at y2 and y1 are the same in either case, and that the difference in gravitational potential energy is the same, it seems clear to me that case [1] yields a vastly different answer from [2] due to cross-terms involving y0.
So given that there is clearly a different change in energy depending on how one defines the equilibrium point for a vertical spring, it seems that only one case can be correct. Again I ask, is case [1] correct as I believe it to be?
This should imply that it is therefore totally incorrect to use y1 as a "new equilibrium" for calculating total mechanical energy.
Thank you for the assistance.
Edit: I just did a computer simulation in Python with the following code (Python version 2.8 or so):
C = 0
y0 = 10 + C
y1 = 9 + C
y2 = 8 + C
def new():
return (float(y2-y1))**2
def old():
return (float(y2-y0))**2 - (float(y1-y0))**2
print "New", new()
print "Old", old()
For New I got 1 and for Old I got 3 (I used floats just in case something funky happened with integers; i.e. the division issue for integers..). The value of C doesn't matter as it shouldn't. So there is clearly a difference. Only one can be correct. I guess that answers it :). But if somehow I have done something else wrong I would like to hear about it from the community.
Last edited: