The physical interaction between a solid body and an ion-beam has been modeled numerically and inserted into an in-house software called IBIS (Ion Beam Interaction Simulator).
IBIS is a powerful simulation tool developed to deal with the IBS concept, where the interaction of the thruster ion beam and the debris must be reliably estimated and combined with the dynamical equations of the debris relative and attitude motion in a generic orbit environment. The necessity of such a tool became evident as the physical and engineering complexity of the concept began to take form, calling for numerical methods as the most convenient way to further develop the concept.
The IBIS software has become an important working tool for the tuning, testing and validation of physical models, the study, analysis and conceptual design of the IBS concept, as well as to evaluate and qualify the performance of the overall system, understand the impact of certain design parameters, and optimise particular features such as control laws, design parameters and deorbiting strategies.
The variety of features implemented demand for a user friendly working environment, high computational cost restraints, interoperability issues with previously developed computing libraries and third party visualization software. In addition, the need for making internal subroutines and computational kernel easily available for other scripts outside IBIS, led to the use of hybrid programming techniques as the most efficient way to achieve all this. Thus, IBIS has been implemented using up to three different programming languages:
Matlab: The core of the program has been implemented in Matlab, which allows for fast prototyping and use of Matlab's optimised and tested built-in functions, along with the convenience of an interpreted language. Matlab's working environment also allows for the use of object-oriented programming and the quick development of a Graphical User Interface (GUI) for a faster and easier usage of IBIS, both for entering input data and parameters, and for the analysis and visualization of results.
Fortran: The high computational cost of reliably calculating the forces and torques upon the debris caused by the interaction with the plasma plume suggested compiling the most cost-expensive parts of the IBIS Software's computing kernel in order to speed up the runtime performance. For this purpose a code using Fortran 2008 standard was employed, compiled as a MEX function to ensure the compatibility with Matlab. As an additional feature, this Fortran code was parallelized by using OpenMP 3.0, which enhances the performance of IBIS when run in Work Stations and computers with multi-threading capabilities.
ANSI C: IBIS also takes advantage of the homemade "ODE.2" library implemented in C and compiled as a Matlab MEX function. The library ODE.2 gathers a bunch of fast, reliable and efficient implementations of 15 different numerical integrators for ordinary differential equations, most of which can be used by IBIS. This library has been developed by the Space Dynamics Group of the Technical University of Madrid (SDG-UPM) group during past projects and has been fully tested and validated.