CronoDAS comments on Rational toy buying - Less Wrong

11 Post author: p4wnc6 19 October 2011 03:36AM

You are viewing a comment permalink. View the original post to see all comments and the full post content.

Comments (64)

You are viewing a single comment's thread. Show more comments above.

Comment author: CronoDAS 22 October 2011 02:47:38AM *  2 points [-]

Fourmilab's version is bogus... given the masses involved, a calculation using f = GmM/r^2 shows that it should take a lot longer for the moving mass to reach the test mass than it does in the video. The most likely explanations for what is seen in Fourmilab's video are static electricity or outright fraud. (Incidentally, my father actually did build a working Cavendish experiment in our basement; it uses much larger fixed masses and a thinner wire, and it does indeed move much more slowly. It turned out to be very difficult to get it to work; the effects of ordinary air currents tend to overwhelm the gravitational attraction.)

Comment author: [deleted] 22 October 2011 07:41:45AM 1 point [-]

Static electricity was mentioned:

As long as we made sure none of the objects we were experimenting with were magnetic or electrically charged (easily arranged, assuming they are conductive, simply by bringing them into contact so all excess charges equilibrate)

But you're right, I would consider it much more convincing if the experiment were set up so that everything was connected by conductors.

The other thing is that in the video, the bar is initially nearly perpendicular to the external masses. In this configuration, not only are the bar's masses far from the external masses, but the torques are almost balanced. I don't see any mention of this.

The video appears to indicate that it takes 3 minutes for the bar to rotate around and make contact with the external masses. I wrote a quick sketch of a program to figure out how long it should take, and I got over 3 hours. Specifically, I used the favorable assumptions that the foam bar is massless, that the setup is frictionless, and I calculated what would happen with one external mass of 740g and an initial separation of 17 cm, until the separation decreased to 2 cm. The initial separation isn't clearly stated anywhere - there is a vague mention of "at the 14 cm distance when the beam is at the midpoint between the masses". The bar diameter is clearly given as 30 cm, and I believe I'm getting the basic trig right when I calculate that an angle of 70 degrees would result in a 17 cm separation. Finally, I'm considering only one bar mass and one external mass (utterly neglecting the near-symmetrical torque is highly favorable, producing a time estimate that will be shorter than reality) and because I didn't want to write the trig, I'm working with linear movement in free space, instead of the actual rotation. (I used Boost.Units to ensure that I didn't screw up my math even further than these simplifications.)

I agree - something is extremely fishy here.

Comment author: [deleted] 22 October 2011 07:58:29AM 2 points [-]

Showing my work:

C:\Temp>type meow.cpp
#include <iostream>
#include <ostream>
#include <boost/units/io.hpp>
#include <boost/units/pow.hpp>
#include <boost/units/quantity.hpp>
#include <boost/units/systems/si.hpp>
#include <boost/units/systems/si/prefixes.hpp>
#include <boost/units/systems/si/codata/universal_constants.hpp>
using namespace std;
using namespace boost::units;
using namespace boost::units::si;
using boost::units::si::constants::codata::G;
typedef quantity<boost::units::si::time> quantity_time;
int main() {
const quantity<mass> external_mass(740 * kilograms / kilo);
quantity<length> remaining_length(17 * centi * meters);
const quantity<length> final_length(2 * centi * meters);
quantity_time elapsed_time;
quantity<velocity> total_velocity;
while (remaining_length > final_length) {
const quantity_time t(1 * second);
const quantity<acceleration> a(G * external_mass / pow<2>(remaining_length));
const quantity<length> l = total_velocity * t + 0.5 * a * pow<2>(t);
elapsed_time += t;
remaining_length -= l;
total_velocity += a * t;
}
cout << elapsed_time << endl;
cout << total_velocity << endl;
}
C:\Temp>g++ -Wall -Wextra meow.cpp -o meow.exe && meow
10882 s
6.6012e-005 m s^-1

The final velocity is about 9 inches per hour.

(It would be quite possible to modify this to do a fully "realistic" simulation, with the two pairs of masses and the rotation. That's more work than I want to do at 1 AM, though.)