Giter VIP home page Giter VIP logo

-'s Introduction

Build Status

ACSE-4-armageddon

Asteroids entering Earth’s atmosphere are subject to extreme drag forces that decelerate, heat and disrupt the space rocks. The fate of an asteroid is a complex function of its initial mass, speed, trajectory angle and internal strength.

Asteroids 10-100 m in diameter can penetrate deep into Earth’s atmosphere and disrupt catastrophically, generating an atmospheric disturbance (airburst) that can cause damage on the ground. Such an event occurred over the city of Chelyabinsk in Russia, in 2013, releasing energy equivalent to about 520 kilotons of TNT (1 kt TNT is equivalent to 4.184e12 J), and injuring thousands of people (Popova et al., 2013; Brown et al., 2013). An even larger event occurred over Tunguska, an unpopulated area in Siberia, in 1908.

This tool predicts the fate of asteroids entering Earth’s atmosphere for the purposes of hazard assessment.

Installation Guide

To install the project, simply run pip on a virtual machine that has Git installed on it:

pip install [email protected]:acse-2019/acse-4-armageddon-gaspra.git

User instructions

Solver :

  1. Calculate velocity, mass , angle, distance, radius, time, and kinectic energy along with its derivation to altitude each time step with Forward Euler or Runge Kutta 4th order.
  2. Make a simple conclusion to the meteor based on if condition whether it will be an airburst, crating, or combination from airburst and crating.
  3. Make velocity profile based on altitude derived analytically and compared with numerical solution.

There are two ways to determine all the desired outputs, which are using :

  1. sing impact function. It takes Meteorite initial condition and will run all the calculation until t = 2000 s or when the meteor has reached the ground or mass has been lost. It will return one data frame containing velocity, mass, angle, altitude, distance, radius, time, and dedz. And also simple conclusion about what happened with the meteor.

  2. Using three function subsequently.

2.1 First use solve_atmospheric_entry function which gives us a date frame containing velocity, mass, angle, altitude, distance, radius, time for each time step from given initial condition.

2.2 Second, use calculate_energy from solve_atmospheric_entry funciton result and return additional one column in the data frame containing dedz

2.3 Last, use analyse_outcome to evaluate and make conclusion to the meteor.

The result from impact function will be similar with these three subsequent function

Example Usage
import armageddon

# We first create a Planet class called "earth", 
# which contains all the constants, atmospheric density functions, etc.
earth = armageddon.Planet()

# Then run a simulation impact of this planet with parameters:
# radius, velocity, density, strength, angle 
result, outcome = earth.impact(10, 20000, 3000, 10e5, 45)

# print and display results 
print(result)
print(outcome)
earth.plot_analysis(result)

alt text

alt text

Ensemble

what is the output :

  1. User can vary the parameters e.g radius, angle, strenght, velocity and mass according to the calculated probability distribution by solver and return burst altitude with varied parameters

To get desired result, you have to specify radius, angle, strength, velocity, and density with random distribution. and the result will be in pandas data frame containing all the inputs with additional one column for burst altitude.

Documentation

The code includes Sphinx documentation. On systems with Sphinx installed, this can be built by running

python -m sphinx docs html

then viewing the index.html file in the html directory in your browser.

For systems with LaTeX installed, a manual pdf can be generated by running

python -m sphinx  -b latex docs latex

Then following the instructions to process the Armageddon.tex file in the latex directory in your browser.

Testing

The tool includes several tests, which you can use to checki its operation on your system. With pytest installed, these can be run with

python -m pytest armageddon

-'s People

Contributors

zhangweilin1 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.