forked from Space-Systems/OPI
-
Notifications
You must be signed in to change notification settings - Fork 1
Orbital Propagation Interface
License
JoeFritzegard/OPI
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
OPI - Orbital Propagation Interface ----------------------------------- OPI is an interface with the goal to facilitate the implementation of orbital propagators into different applications. To calculate orbital motion, many different software programs exist emphasizing on different aspects such as execution speed or accuracy. They often require different input parameters and are written in different languages. This makes comparing or exchanging them a challenging task. OPI aims at simplifying this by providing a common way of handling propagation. Propagators using OPI are designed as plugins/shared libraries that can be loaded by a host program via the interface. OPI currently supports C, C++ and Fortran, as well as CUDA and OpenCL for propagators. The C API can also be used for integration into other languages like Python or C#. Hosts and plugins don't have to be written in the same language in order to collaborate. OPI itself is written in C++, with auto-generated bindings for C and Fortran. For GPU support, it supplies a plugin that scans for capable devices and helps to initialize CUDA or OpenCL-enabled propagators. Please note that this software is still under development and the interface functions are subject to change. Your feedback is appreciated. BUILD INSTRUCTIONS ------------------ Building OPI has been tested on Linux (recent versions of Debian, Ubuntu and OpenSuSE), Windows (Visual Studio 2013) and OSX. OPI uses CMake as a build system, so simply follow the usual instructions below or use the GUI tool (in-place builds are not allowed): mkdir build cd build cmake .. #or 'cmake-gui ..' - whichever you prefer make make install make doc #optional, to build the API documentation - requires Doxygen You can set the CMAKE_INSTALL_PREFIX variable to a custom directory of you don't want a system-wide install. In that case, you must make sure that the lib directory is in your library path at runtime by setting the LD_LIBRARY_PATH variable accordingly. If you require support for CUDA propagators, make sure the CUDA SDK is installed and can be found by CMake. To start using OPI, take a look at the documentation and the example code provided with the library. If you have any questions, feel free to contact us.
About
Orbital Propagation Interface
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- C++ 71.2%
- CMake 20.8%
- C 8.0%