📜 ⬆️ ⬇️

Calculate how to dump an asteroid on the sun.

image

I do not know how to do without spoilers. You could limit yourself to a generalized question concerning physics, but if you follow the wonderful science fiction series on SyFy, “The Expanse” [ Space ], you can close the tab and go read some more — for example, why not fly at speed of light .

Not closed? Good. The task is as follows: my spacecraft is orbiting around the Sun somewhere in the asteroid belt between Mars and Jupiter, and I need to destroy some asteroid. It is possible that the best way to do this would be to send it towards the Sun. Can I crash into this asteroid so that it falls into the sun?
')
The task is difficult, but it can be divided into three parts: a flight to an asteroid, a collision with an asteroid and the resulting trajectory of the asteroid. But first you need to make a few assumptions. I will take the approximate figures from The Expanse, since everything is already calculated there.

• Asteroid - Eros. It moves in a circular orbit around the Sun (in fact, it is not, but close enough), the radius of the orbit is 1.5 AU. (1 AU, astronomical unit - distance from the Sun to the Earth). The mass of Eros is 6.7 * 10 15 .
• Spacecraft - Nauvoo, a large ship for interstellar travel. In fact, it is a cylinder with a radius of 0.25 km and a length of 2 km. The initial orbital distance is 2.5 AU.
• There is a lot of empty space in Nauvoo, so we take its density for 1000 kg / m 3 . According to the formula of the volume of the cylinder we get a mass of 4 * 10 10 kg. Pretty massive ship!
• And another estimate is needed - the Nauvoo reactive force. If there are people on board, then you will most likely need acceleration of 1 g (9.8 m / s 2 ). Without people, let acceleration be 2 g.

That's all the assumptions.

Part 1: Flight to Eros


I wanted to develop a numerical model for calculating the trajectory and impact force of Nauvoo. But I will not do that. Orbital mechanics are very complicated. You can’t just say: “Direct the ship to Eros and start the engines.”

For best results, the ship must make a head-on collision with Eros. If the radius of the circular orbit of Eros is 1.5 AU, then its speed is 24,000 m / s. Nauvoo travels at a speed of 19,000 m / s. Will Nauv be able to gain an orbital speed of 24,000 m / s in the opposite orbital direction?

With an acceleration of 2 g, it will take a little more than 30 minutes to go from 19,000 m / s in one direction to 24,000 m / s in the opposite direction. Yes, it seems strange to me too. But I accept the result: so, a head-on collision between Eros and Nauvoo, each moving at a speed of 24,000 m / s.

Part 2: The Clash


One could, of course, limit oneself to a simple one-dimensional inelastic collision between Nauvoo and Eros, after which they stay together. This is an excellent exam question, but I want to achieve more. I will create something more realistic - partly elastic collision (momentum is preserved, but not kinetic energy), and it will take place not entirely in one dimension.

To simulate a collision, two objects can be represented as springs. When they get closer to a distance smaller than the sum of their sizes (and begin to overlap each other), the spring force starts pushing them apart. The more they intersect, the more power. Moreover, this collision can be made inelastic by using a smaller spring constant at the moment when objects move from each other.

Let's go to the collision. Nauvoo is moving right towards Eros, but they are not centered. And so, how their collision will work. I note that we have a spherical Eros (not true), and Nauvoo is small compared to it. In the original article, you can click the play button and see the animation.

#mass of erors me=6.7e15 #radius of erors re=15e3 erors=sphere(pos=vector(-5*re,0,0), radius=re) #starting momentum erors.p=me*vector(24000,0,0) startp=erors.p #used to caclulate change #length of Nauvoo L=2e3 #Nauvoo starts off axis nauvoo=cylinder(pos=vector(5*re,.4*re,0), axis=vector(2e3,0,0), radius=250) #mass of Nauvoo nauvoo.m=4e10 nauvoo.p=nauvoo.m*vector(-24000,0,0) attach_trail(nauvoo) attach_trail(erors) #k is the effective spring constant k=1e12 t=0 dt=0.001 #lastr is used to determine if the spring is compressing or relaxing lastr=nauvoo.pos-erors.pos #e is the modifier to spring constant for relaxing e=.1 while t<7: rate(1000) r=nauvoo.pos-erors.pos F=vector(0,0,0) if mag(r)<(erors.radius+L/2): F=k*mag(r)*norm(r) #this is force on nauvoo if mag(r)>mag(lastr): F=e*k*mag(r)*norm(r) nauvoo.p=nauvoo.p+F*dt erors.p=erors.pF*dt nauvoo.pos=nauvoo.pos+nauvoo.p*dt/nauvoo.m erors.pos=erors.pos+erors.p*dt/me t=t+dt lastr=r print("Eros change in v = ",(erors.p-startp)/me," m/s") 

Notice that the program-shown change in the vector speed of Eros turns out to be tiny. The problem is that Eros is about 10,000 times as massive as Nauvoo. Although Nauvoo and Eros will experience the same change in momentum, the mass of Eros will result in a very small change in its speed. Even if Nauvoo moved 100 times faster, it would not help much.

Part 3: Fall on the Sun


Since Nauvoo cannot seriously change the speed of Eros, this part seems stupid. But it will not stop me. I will only note that before that I had already written about the modeling of physics of falling on the Sun. It may seem to you that falling into the sun is very easy - but it is not.

Instead of changing the speed from my calculation of the collision, I accept that some incredibly awesome collision will cause the speed of Eros to change to 10,000 m / s. Then I will model two collisions. The first will cause the resulting velocity vector to show on the sun. The second will just slow down Eros.

This model demonstrates two indicated impacts (the first is yellow, the second is red), and for comparison, the old orbit.

 G=6.67e-11 Ms=1.989e30 AU=1.496e11 g=9.8 f1=series(color=color.red) sun=sphere(pos=vector(0,0,0), radius=4e9, color=color.yellow) eros=sphere(pos=vector(1.5*AU,0,0), radius=sun.radius/7) eros.m=6.687e15 ve=sqrt(G*Ms/mag(eros.pos)) eros.p=eros.m*ve*vector(0,1,0) attach_trail(eros) dv=1e4 erosA=sphere(pos=eros.pos, radius=eros.radius, color=color.yellow) erosA.m=eros.m erosA.p=erosA.m*(vector(0,ve,0)+vector(-dv,0,0)) erosB=sphere(pos=eros.pos, radius=eros.radius, color=color.red) erosB.m=eros.m erosB.p=erosB.m*(vector(0,ve,0)+vector(0,-dv,0)) attach_trail(erosB) attach_trail(erosA) t=0 dt=1e3 while True: rate(10000) re=eros.pos-sun.pos reA=erosA.pos-sun.pos reB=erosB.pos-sun.pos Fe=-G*Ms*eros.m*norm(re)/mag(re)**2 FeA=-G*Ms*erosA.m*norm(reA)/mag(reA)**2 FeB=-G*Ms*erosB.m*norm(reB)/mag(reB)**2 eros.p=eros.p+Fe*dt erosA.p=erosA.p+FeA*dt erosB.p=erosB.p+FeB*dt eros.pos=eros.pos+eros.p*dt/eros.m erosA.pos=erosA.pos+erosA.p*dt/erosA.m erosB.pos=erosB.pos+erosB.p*dt/erosB.m t=t+dt 

What will happen? You will be surprised that the push of Eros towards the Sun will actually lead him to move away from him. The best option is to slow down Eros, but unless you stop it completely, it will not fall on the sun.

But all the same, as a result, Nauvoo did not encounter Eros. Oh. Spoiler…

Source: https://habr.com/ru/post/402177/


All Articles