370 likes | 608 Views
Lucifer’s Hammer. A Computer Simulation of Asteroid Trajectories. Derek Mehlhorn William Pearl Adrienne Upah. Team 34 Albuquerque Academy. Project Objective:.
E N D
Lucifer’s Hammer A Computer Simulation of Asteroid Trajectories Derek Mehlhorn William Pearl Adrienne Upah Team 34 Albuquerque Academy
Project Objective: To model and observe Near Earth Objects (asteroids which come within 1.3 Au of the Sun) by simulating orbital motion using N-body gravitational interactions as well as Kepler and Newton’s laws of motion
Presentation Summary: • Uses and Definitions • Planetary Setup and Mathematical Model • Asteroid Generation • Code Implementation • Error Analysis • Results and Conclusions
Uses: • Evaluating the probability of a space borne entity becoming a threat • Plotting the course of satellites and probes (including “slingshot” maneuvers) • Modeling comet and asteroid trajectories
Definitions: • 2-Body calculations: determining gravitational forces assuming that the sun is the only body interacting with a given body • N-Body calculations: determining gravitational interactions between ‘N’ objects
The Asteroid Belt: • A large concentration of asteroids mainly located between the orbits of Mars and Jupiter • Contains over 10,000 recorded asteroids over 1 km in radius • Contains as many as half a million asteroids over 1/2 km in radius
Presentation Summary: • Uses and Definitions • Planetary Setup and Mathematical Model • Asteroid Generation • Code Implementation • Error Analysis • Results and Conclusions
Planetary Motion and Initialization: • Mathematical model1 used to accurately predict planetary positions on any given day • Derive initial velocities from change in positions • Motion determined by calculating acceleration due to sum of the gravitational forces • Integration of acceleration to find velocity and then position 1Courtesy of NASA
Presentation Summary: • Uses and Definitions • Planetary Setup and Mathematical Model • Asteroid Generation • Code Implementation • Error Analysis • Results and Conclusions
Asteroid Positions: • User defines total number of asteroid desired • Random distance from the Sun determined • Random angle between 0 and 360 degrees determined • X and Y coordinates calculated from mean distance from to sun and angle; x=rcosø y=rsinø • Z coordinate calculated using random angle of inclination or declination (+/- 5 deg) from the plane of the ecliptic; z=xtanø0
Asteroid Velocities: • From asteroid’s mean distance from sun determine the period of rotation by Kepler’s law: P2 = a3 • From period and distance an average orbital velocity can be derived: Vave = 2a/P • Orbital velocity is divided into x, y components : • Divide velocity into components, thus producing spherical to mildly elliptic orbits • Randomly perturb velocity components varied by +/- 10% proportionally to create highly eccentric and abnormal orbits
Other Asteroid Characteristics: • Random radius determined between 1 and 500 km • Measured density of Eros: 2.5 gm/cm3 +/- .8 • Asteroids assigned a density between 1.7 and 3.3 gm/cm3 • Volume determined assuming asteroids are perfect spheres: V=4/3 r3 • Mass derived from volume and density
We generate a realistic range of densities that result in a distribution of asteroid masses
As per empirical data, our asteroid belt possesses a high ratio of small to large asteroids
Event Checking and Handling: • Asteroid positions are checked at each time step : • Collisions with planets result in asteroid node deletions • Collisions between asteroids are considered purely elastic • New velocities are determined assuming that momentum and kinetic energy are conserved • Distance from Sun checked and flags marked accordingly • Asteroids flags are checked and position information output accordingly • Planet information printed every time step
Presentation Summary: • Uses and Definitions • Planetary Setup and Mathematical Model • Asteroid Generation • Code Implementation • Error Analysis • Results and Conclusions
The Code Modules: • The Parameter Class: para.h • Uses mathematical model to obtain realistic initial positions and velocities for each planet • The Planet Class: planet.h • Creates orbital objects (planets and asteroids) whose motion is determined through N-body calculations • starter.cpp • Used to test the parameter class • main.cpp (parallelized using MPI) • Implements the Planet class to create and run the simulation
Master Node Operations: • Implements a mathematical model for predicting planetary positions and starting variables • Determines planetary positions through N-body calculations • Writes positions to output files • Broadcasts planetary positions to slave nodes
Slave Node Operations: • Randomly generate a specified number of asteroids on each node that are stored within a linked list. • Receive and use planetary data to determine individual asteroid motion through N-body calculations (relative to the planets) • Check (“on node”) asteroid positions for collisions and interesting orbital characteristics
Parallel Implementation: • Two processor tests run on Pi • Scalability tested through 5 nodes using the Blue Mountain Super Computer • A number of limited time (~100 years) large asteroid population (~10000) completed • Several larger runs (~10000 years) attempted but limited by storage space • runs completed using 20 processors
The Inner Solar System: • Mercury - Mars
The Outer Solar System: • Jupiter - Neptune
Presentation Summary: • Uses and Definitions • Planetary Setup and Mathematical Model • Asteroid Generation • Code Implementation • Error Analysis • Results and Conclusions
Integration Method: • “Leap frog method” • positions and forces centered on time step • velocities centered on 1/2 time step • Method conserves energy • Resolution convergence confirmed (vary e) • Future work: compare to trapezoidal & Simpson’s Ref: Feynman Lectures on Physics
Error analysis: Time Step Length 1 Day 1/2 Day 1/4 Day 1/8 Day Average X Error .000313884 .000246115 .000229601 .000225648 Average Y Error .000322463 .000254278 .00023773 .000233772 Average Z Error .00000069587 .00000069703 .000000697618 .000000697913 -Average Error above Computed in Au’s from 10 years of data for the Earth N-body integrator stable and accurate over thousands of years
The System Conserves Energy (Kinetic & potential energies anti-correlated)
Presentation Summary: • Uses and Definitions • Planetary Setup and Mathematical Model • Asteroid Generation • Code Implementation • Error Analysis • Results and Conclusions
Near Earth Asteroids do not possess significantly different total energy levels than stable asteroids
Stable Asteroids are harmless because they have spherical orbits which are difficult to perturb
Near Earth Asteroids are dangerous because of they have eccentric orbits which can be easily perturbed
Real space plot of an eccentric and perturbed Near Earth Asteroid
Conclusions: • Although NEO’s have eccentric orbits that are easily perturbed, they are not less bound to the Solar System • Regular asteroids pose little or no threat to the earth because of their spherical and predictable orbits • Near Earth Objects present a large threat of collision because of their eccentricity and their susceptibility to perturbations