Giter Site home page Giter Site logo

zhjsun / spacedsl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from astrodynamics/spacedsl

0.0 0.0 0.0 19.13 MB

SpaceDSL is astrodynamics simulation library. This library can work on Windows, Linux and Mac OS.

License: MIT License

CMake 0.74% C++ 82.09% C 10.96% HTML 0.01% JavaScript 0.03% Fortran 3.34% Makefile 0.07% Python 2.75% Objective-C 0.01% Shell 0.01%

spacedsl's Introduction

logo

SpaceDSL(Testing)Build Status 

SpaceDSL is a astrodynamics simulation library. This library is Written by C++. The purpose is to provide an open framework for astronaut dynamics enthusiasts, and more freely to achieve astrodynamics simulation. The project is open under the MIT protocol, and it is also for freer purposes. The project is built with CMake and can be used on Windows, Linux and Mac OS. This library can compiled into static library, dynamic library and python library. Of course, it can also be used directly.

Core features

SpaceDSL contain all basic functions of astrodynamics simulation, including:

  • Astronomical Time System: Support EOP web Service, including the definition and conversion of various astronomical time. such as UTC, UT1, TT...
  • Reference Coordinate System: including the transformation equations of commonly used spatial coordinate system. such as ECI, TOD, ECEF, VVLH...
  • JPL Ephemeris: Repackage the JPL ephemeris reading module, providing the latest DE436 file, including data from 1950 to 2050.
  • Earth Gravity Model: Using the spherical harmonic function to build the earth's high-precision gravitational model, with EGM2008 data(80X80).
  • Other Perturbation Models: Atmospheric Drag(NRLMSISE2000), Solar Radiation Pressure, Third Body Gravity.
  • Two Body Orbit Prediction, J2 Orbit Prediction And High Precision Orbit Prediction For Spacecraft.
  • Various Ground Target Models and Access Analysis.
  • Sensor Support(Simple Conic and Rectangular).
  • Common Physical Constants
  • Multi Thread Parallel Support: Similar to Qt API, including Thread and Thread Pool.
  • Support Exception Handling Based on STL.
  • Provide Nonlinear Optimization Library, Base on NLoptV2.6.1.
  • Provide ElectronVisualizer, Base on Electron and Cesium.

Later support

  • Perturbation Models: Earth Tide, Relativistic Effect .
  • Relative Motion Simulation of Spacecraft.
  • Orbital Maneuver Siumulation Features.
  • Orbit Deviation Prediction.

Dependences

  • Eigen3 library: a C++ template library for linear algebra.Be careful! The library must be recompiled when using SpaceDSL dynamic library. All the files of the Eigen3.3.7 have been included in the project.
  • JSON for Modern C++ V3.9.1: a headonly JSON lib, Used the c++11 standard and Support STL.
  • pybind11 V2.4.0: pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa, mainly to create Python bindings of existing C++ code.
  • OpenSSL:OpenSSL is a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. If you want to use IERS Web Service, this library must be Precompiled.

Supported compilers

  1. Clang/LLVM 3.3 or newer (for Apple Xcode's clang, this is 5.0.0 or newer)
  2. GCC 7.2 or newer
  3. Microsoft Visual Studio 2015 Update 3 or newer
  4. Intel C++ compiler 16 or newer

Reference

  1. The formula used in this project is from Oliver Montenbruck Eberhard Gill's book Satellite Orbit Model, Method and Appliction.

About

This project was created by Niu Zhiyong During the development process, we received the guidance and help from Professor Wang Hua of NUDT Aerospace College. Significant features and/or improvements to the code were contributed by Sun Zhenjiang,Xiao Gongwei

License

SpaceDSL is provided under MIT license that can be found in the LICENSE file. By using, distributing, or contributing to this project, you agree to the terms and conditions of this license.

spacedsl's People

Contributors

qqnzhyxxx avatar xiaogongwei 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.