def test_radius_from_time(self):
        self.skip_no_scipy()

        func = stellar_wind.RSquaredAcceleration()
        star = Particle()
        star.radius = 312. | units.RSun
        star.acc_cutoff = 312 * 5. | units.RSun
        star.initial_wind_velocity = 2 | units.kms
        star.terminal_wind_velocity = 20 | units.kms

        times = [0., 25., 100.] | units.yr
        print "times", times
        radii = func.radius_from_time(times, star)
        print "radii", radii

        self.assertAlmostEquals(radii[0], 312. | units.RSun)
        self.assertAlmostEquals(radii[1], 22644.6086263 | units.RSun)
        self.assertAlmostEquals(radii[2], 90704.1183516 | units.RSun)

        return

        times = numpy.linspace(0., 1, 100) | units.yr
        radii = func.radius_from_time(times, star)

        print radii
        from matplotlib import pyplot
        from amuse import plot as aplot
        aplot.plot(times, radii / star.radius)
        pyplot.show()
    def test_radius_from_number(self):
        self.skip_no_scipy()

        star = Particle(initial_wind_velocity=200. | units.kms,
                        mass=20. | units.MSun,
                        radius=10. | units.RSun,
                        terminal_wind_velocity=1000. | units.kms)
        star.acc_cutoff = 5. * star.radius
        r_max = 24.2642526438 | units.RSun
        x = 0.1

        func = stellar_wind.RSquaredAcceleration()
        radius = func.radius_from_number(x, r_max, star)
        self.assertAlmostEquals(radius, 10.6029030808 | units.RSun)
    def test_r_squared_velocity(self):
        self.skip_no_scipy()

        func = stellar_wind.RSquaredAcceleration()
        self.r_squared_asserts(func)