5
1 Abstract—This paper presents the recent evolutions performed on the spacecraft plasma interaction software SPIS in the frame of the SPIS-GEO project. A fully redesigned user interface has been developed and several improvements have been introduced into the numerical kernel. Index Terms—Spacecraft Charging, Simulation Software I. INTRODUCTION N the past decade, SPIS has become one of the reference tools for spacecraft charging modelling. Maintained in the frame of the SPINE community (see www.spis.org), SPIS is an open-source software dedicated to the detailed modelling of the spacecraft plasma interactions. Initially developed for scientific uses, SPIS has already shown its great capabilities but still required a high level of expertise to be used. The initially implemented models, focused on the detailed physics, required a relatively important memory and CPU effort. For all of theses reasons, the use of SPIS in an industrial context, like for commercial missions, remained difficult and required experts in spacecraft charging. In the frame of an ESA/ESTEC contract and performed by a large European consortium including several key industrial actors, the aim of the SPIS-GEO project was the adaptation of the SPIS software to industrial needs and missions in MEO/GEO orbits. This effort was focused on the production of a version of SPIS more adapted to engineering applications, where the user is driven step-by-step along the modelling process through a simplified User Interface with a wizard-based approach and predefined models and scenarios. A significant improvement of the whole performance of SPIS including in the pre and post-processing phases was also expected. These developments also included the extension of the integration capabilities of SPIS into existing industrial modelling chain by the support of industrial data file formats like STEP or NetCDF for data exchange. Physical models had to be adapted to MEO/GEO orbits and the complexity of commercial space platforms. Last, a key objective of the project was an intensive test and validation process of the software against in-flight observations and other existing simulation codes. (1) Artenum, Toulouse, (2) ONERA-DESP, (3) ESA-ESTEC, (4) OHB Sweden, (5) EADS-Astrium, (6) Artenum, Paris. In spite of the present deep refactoring, the best efforts have been done to capitalize the previous validation results of the existing tools and most of the existing open-source software have been reused, especially in the simulation kernel. In order to provide a solution the most adapted possible to industrial usages, industrial partners and spacecraft integrators have been closely involved in the identification of the user requirements. Such design has outlined several key challenges, like maintaining the compatibility of SPIS-GEO with the standard SPIS version or the interfacing of the new GUI with the existing SPIS-NUM library in a modular and adaptable way, in order to provide different “execution modes”. The changes presented here will be reversed to the standard version of SPIS and should be considered as the future evolution towards SPIS version 5. II. DEEP REFACTORING AND HIGH QUALITY CONTROL In the frame of the present project, about 90% of the SPIS-UI framework components have been redeveloped. Most of low-level components have been fully redesigned respecting modern design patterns. Jython is not used anymore for low-level components and all new modules are fully written in Java for a better homogeneity and improved performances. In order to facilitate the future software maintenance, a special attention has been paid to respect canonical and modern software design patterns. An intensive effort has been done to improve the source code quality, simplify and normalize the compilation, test and deployment process. To this end, a normalized continuous integration process has been deployed using the present state-of-the-art tools used in the industry. The compilation process is fully based on Apache Maven [2]. This forces the normalization of the software packaging and compilation phase, but also deeply simplifies the dependencies management through the concept of artifacts, corresponding to clearly identified versions of each subcomponent. All needed artifacts are stored on an online Maven repository and can be automatically downloaded during the compilation. The central SPIS source code repository is interfaced with a Hudson server [4], that automatically perform through JUnit [6] a set of validation tests (unit tests, integration tests) every night or at each commit. The aim of this infrastructure is to keep a rigorous software quality control and avoid regression errors. The outputs of Hudson process are forwarded toward a Sonar server [5] that displays various information regarding the source code quality, based on normalized rules, like design SPIS-GEO: Simplified MEO/GEO tools for spacecraft charging B.Thiebault (1) , J.-C.Mateo Velez (2) , D.Rodgers (3) , B. Jeanty-Ruard (1) , P.Sarraillh (2) , B.Andersson (4) , A. Demaire (4) , Marc Sevoz (5) , P. Pelissou (5) , J.Forest (6) . I

SPIS-GEO: Simplified MEO/GEO tools for spacecraft chargingdev.spis.org/static/documentation/DocSpisUI/Presentations/12thSCT… · Marc Sevoz(5), P. Pelissou(5), J.Forest(6). I . 2

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SPIS-GEO: Simplified MEO/GEO tools for spacecraft chargingdev.spis.org/static/documentation/DocSpisUI/Presentations/12thSCT… · Marc Sevoz(5), P. Pelissou(5), J.Forest(6). I . 2

1

Abstract—This paper presents the recent evolutions performed on the spacecraft plasma interaction software SPIS in the frame of the SPIS-GEO project. A fully redesigned user interface has been developed and several improvements have been introduced into the numerical kernel.

Index Terms—Spacecraft Charging, Simulation Software

I. INTRODUCTION N the past decade, SPIS has become one of the reference tools for spacecraft charging modelling. Maintained in the

frame of the SPINE community (see www.spis.org), SPIS is an open-source software dedicated to the detailed modelling of the spacecraft plasma interactions. Initially developed for scientific uses, SPIS has already shown its great capabilities but still required a high level of expertise to be used. The initially implemented models, focused on the detailed physics, required a relatively important memory and CPU effort. For all of theses reasons, the use of SPIS in an industrial context, like for commercial missions, remained difficult and required experts in spacecraft charging.

In the frame of an ESA/ESTEC contract and performed by a large European consortium including several key industrial actors, the aim of the SPIS-GEO project was the adaptation of the SPIS software to industrial needs and missions in MEO/GEO orbits.

This effort was focused on the production of a version of SPIS more adapted to engineering applications, where the user is driven step-by-step along the modelling process through a simplified User Interface with a wizard-based approach and predefined models and scenarios. A significant improvement of the whole performance of SPIS including in the pre and post-processing phases was also expected. These developments also included the extension of the integration capabilities of SPIS into existing industrial modelling chain by the support of industrial data file formats like STEP or NetCDF for data exchange. Physical models had to be adapted to MEO/GEO orbits and the complexity of commercial space platforms. Last, a key objective of the project was an intensive test and validation process of the software against in-flight observations and other existing simulation codes.

(1) Artenum, Toulouse, (2) ONERA-DESP, (3) ESA-ESTEC, (4) OHB

Sweden, (5) EADS-Astrium, (6) Artenum, Paris.

In spite of the present deep refactoring, the best efforts have been done to capitalize the previous validation results of the existing tools and most of the existing open-source software have been reused, especially in the simulation kernel.

In order to provide a solution the most adapted possible to industrial usages, industrial partners and spacecraft integrators have been closely involved in the identification of the user requirements.

Such design has outlined several key challenges, like maintaining the compatibility of SPIS-GEO with the standard SPIS version or the interfacing of the new GUI with the existing SPIS-NUM library in a modular and adaptable way, in order to provide different “execution modes”. The changes presented here will be reversed to the standard version of SPIS and should be considered as the future evolution towards SPIS version 5.

II. DEEP REFACTORING AND HIGH QUALITY CONTROL In the frame of the present project, about 90% of the

SPIS-UI framework components have been redeveloped. Most of low-level components have been fully redesigned respecting modern design patterns. Jython is not used anymore for low-level components and all new modules are fully written in Java for a better homogeneity and improved performances. In order to facilitate the future software maintenance, a special attention has been paid to respect canonical and modern software design patterns. An intensive effort has been done to improve the source code quality, simplify and normalize the compilation, test and deployment process. To this end, a normalized continuous integration process has been deployed using the present state-of-the-art tools used in the industry. The compilation process is fully based on Apache Maven [2]. This forces the normalization of the software packaging and compilation phase, but also deeply simplifies the dependencies management through the concept of artifacts, corresponding to clearly identified versions of each subcomponent. All needed artifacts are stored on an online Maven repository and can be automatically downloaded during the compilation. The central SPIS source code repository is interfaced with a Hudson server [4], that automatically perform through JUnit [6] a set of validation tests (unit tests, integration tests) every night or at each commit. The aim of this infrastructure is to keep a rigorous software quality control and avoid regression errors. The outputs of Hudson process are forwarded toward a Sonar server [5] that displays various information regarding the source code quality, based on normalized rules, like design

SPIS-GEO: Simplified MEO/GEO tools for spacecraft charging

B.Thiebault(1), J.-C.Mateo Velez(2), D.Rodgers(3), B. Jeanty-Ruard(1), P.Sarraillh(2), B.Andersson(4), A. Demaire (4), Marc Sevoz(5), P. Pelissou(5), J.Forest(6).

I

Page 2: SPIS-GEO: Simplified MEO/GEO tools for spacecraft chargingdev.spis.org/static/documentation/DocSpisUI/Presentations/12thSCT… · Marc Sevoz(5), P. Pelissou(5), J.Forest(6). I . 2

2

violation or API documentation level. Fig. 1 shows a view of both Sonar server and Maven repository. Such integrated development and validation chain should help to keep an accurate tracking of each component and of its quality.

Figure 1 - View of the Sonar server, with the tree map code quality

sub-component by sub-component, and the Maven repository hosting the central artifacts of each software components.

III. OVERVIEW OF THE GRAPHICAL USER INTERFACE (GUI) OF SPIS-UI

SPIS-UI, the GUI layer of SPIS, was written in Java using

the Swing tool kit and includes VTK for the 3D data visualization and Gmsh for the CAD modelling and the mesh generation. Theses choices made SPIS portable on a very large set of operating systems, including Windows®, Macintosh OSX® and Linux. Thanks to the SPINE community’s feedbacks, SPIS has been successfully deployed and tested on a very large set of hardware platforms (32 and 64 bits). More than a simple GUI, SPIS-UI is actually a complete framework helping the user to perform the whole modelling process, from the pre-processing phase to the post-processing one, and providing all needed tools, like the CAD modeller, the mesher or the 3D data analysis tools. The SPIS-UI framework performs all needed data conversions between each element of the modelling chain, without requiring a specific expertise from the user. The scheme Fig.2 summarizes this process handled by SPIS-UI. Components in blue are external components controlled by SPIS-UI, also possible to being run as standalone applications. Components in green are SPIS-NUM related components.

With respect to the previous versions of SPIS, the handling of this process by the user has been simplified, as much as possible by the introduction an automated modelling steps, a wizard-based approach, an improved Geometry Editor, in order to simplify the CAD modelling and the geometry files import. With SPIS-GEO, it is also possible to import meshed models directly, improving the interoperability of SPIS with other space environment tools. Fig. 3 shows an example of GEO satellite loaded into the Geometry Editor of SPIS-GEO.

CAD model

Meshing

Mesh model

Geometrical model definition

Materialscharacteristics

Unstructured mesh model

S/C material setting

Initial and Boundary Condition (IBC) setting

Plasma model setting

Plasma Model

Global Parameters

Internal Electrical Balance setting

Electrical Nodes Global parameters

Model validation and conversion to the SPIS-NUM data structure

Simulation loop (SPIS-NUM) Monitoring

Simulation control

Data extraction

Simulation run

Times data series analysis 2D/3D data analysis Export / Interfaces

Post-processing

Figure 2 - Flow chart of the modelling process with SPIS.

The introduction of the JNI wrapping of Gmsh allows a better and a finer simulation mesh size control. The complete refactoring of the mesh library, Penelope, has also reduce the computation time for mesh manipulation. The best efforts have been done to provide automatically pre-selected particle models, solver attributes and predefined worst case settings in order to help the user to perform directly a relevant simulation. The materials properties and boundaries settings have been deeply simplified by the introduction of a new Groups Editor, based on the Frida library [9]. These software technologies are detailed in last section. Fig.4 shows a view of the new Group Editor. A special attention has been paid to pre-select the properties being attributed to a given group in function of its type (e.g. spacecraft surface, external boundary, computational volume). A dedicated 3D viewer makes the identification of each group easier. Properties are organized in tree and are stored in XML files. And new properties can be easily added.

Figure 3 - View of the improved Geometry Editor, with the 3D viewer of

CAD model.

The edition of the Global Parameters and the simulation control are done with the same approach. Non-relevant parameters can be hidden to help the user to focus on the most critical ones for the current simulation. The introduction of monitoring functions informs the user of simulation progress

Page 3: SPIS-GEO: Simplified MEO/GEO tools for spacecraft chargingdev.spis.org/static/documentation/DocSpisUI/Presentations/12thSCT… · Marc Sevoz(5), P. Pelissou(5), J.Forest(6). I . 2

3

and its global convergence. In addition, SPIS-NUM provides the possibility to pause and resume the simulation.

Figure 4 - View of the improved Groups Editor.

New persistency schemes have been introduced to reduce the saving and loading times of data fields computed on the grid. Data fields can be written and read in both XML and NetCDF [8] formats.

Post-processing and data analysis tools haven been also improved with the introduction of the last version of Cassandra [10], for the 3D data analysis, and a new tool called Elegance [11] for the time series analysis.

Figure 5 - Use of Cassandra for the 3D post-processing of outputs of the simulation. New filters and 3D widgets simplify the visualization pipeline

composition.

IV. SOLVER IMPROVEMENTS AND EVOLUTIONS In parallel of the SPIS-UI framework improvements,

several new models have been introduced into the simulation kernel. Solar arrays are an important device on commercial platforms and their accurate modelling is a key issue. However, the local mesh size, driven by the large Debye length in GEO and the general spacecraft shape, is generally too large to model correctly the thin thickness of solar arrays. To solve this problem, a specific model for 2D thin elements has been introduced in SPIS-NUM. This model requires however to previously split the mesh structure generated by the mesher. Fig. 6 shows an example of 2D thin structure and the corresponding splitted mesh.

A new self-shadowing module provides a more accurate computation of the sun exposition of each individual spacecraft surface and the corresponding photoemission

fluxes. Fig. 7 shows an example of photoemission computation taking into account the self-shadowing effect.

Figure 6 - Example of mesh splitting for 2D thin elements.

Figure 7 - Example of self-shading.

In the present example the sun is coming from the (+x,+y) direction. The shadow of the external module is clearly visible.

Eclipse exit is a major risk for spacecraft in GEO orbits. Differential charging resulting from the different sun exposition and/or the variation of the material conductivity can lead to severe damages. A generic mechanism of transition has been introduced, where parameters, like sun flux or material conductivity can be changed during the simulation.

Table 1 – Example of parameters changed during the eclipse exit using the transition mechanism.

Fig. 8 plots the corresponding potential evolutions versus the time during the eclipse exit. The spacecraft is in the shadow before t=1000 s and exposed to the Sun flux after.

A general effort has been done to improve the general efficiency of the solver and reduce the computational cost. The multi-threading of the particle pusher has been introduced to make benefit of modern multi-cores computers. The solver of the internal electrical balance has been redesign to optimize computation time in case of systems with a large numbers of

time [s]

Sun flux (1.0 @ 1 A.U)

CERS bulk conductivity [ohm-1.m-1]

kapton bulk conductivity [ohm-1.m-1]

0 0 1e-15 1e-15 1000 0 1e-15 1e-15 1100 1.0 1e-14 1e-15 2000 1.0 1e-13 1e-15

Page 4: SPIS-GEO: Simplified MEO/GEO tools for spacecraft chargingdev.spis.org/static/documentation/DocSpisUI/Presentations/12thSCT… · Marc Sevoz(5), P. Pelissou(5), J.Forest(6). I . 2

4

dielectric elements of surface. Validation tests have been successfully run against the previous version of SPIS.

-25000

-20000

-15000

-10000

-5000

0

0 500 1000 1500 2000 2500time, s

pote

ntia

l, V

elecNode0surface

elecNode1surface

elecNode3surface

Figure 8 - Example of eclipse exit. Node 0 corresponds to the spacecraft

hub in CFRP and backside of the solar array. Node 1 corresponds to the kapton patch in shadow side. Node 2 is the CERS sun side of the solar panel.

Table II shows the comparison of the simulation of the equilibrium potential for the reference Davis simulation done using the new models of SPIS-GEO and other existing codes, including the previous versions of SPIS. Fig.9 shows the spacecraft surface potential at t=2500s. Results should be compared with J.-F. Roussel [1].

Figure 9 - Spacecraft surface potential computed with SPIS-GEO for t= 2500s. This result has been computed on a modern multi-core medium class

PC in less than 100mn.

Table II – Comparison of the reference Davis GEO case computed with SPIS-GEO and other simulation tools

V. INNOVATIVE TECHNOLOGIES Regarding the software technologies aspects, this new version of SPIS is based on a self-consistent set of innovative technologies. These external components have been designed to be potentially applied in a very large set of domains and not to charging tools only. The use of such generic and external software components, not specific to the present domain, allows mutualizing their development and maintenance effort

The new version of SPIS-UI is fully based on Artenum Integrated Modeling Environment (IME), called Keridwen [12]. Keridwen is fully written in Java, based on the OSGi/D-OSGi industrial standard [7]. This choice leads to a very modular and extensible design, making Keridwen easily adaptable to other scientific and space environment tools, open inter-operability possibilities or address multi-physics or multi-models systems. The choice of OSGI, and its distributed version D-OSGI, allows a future distributed architecture, with client/server and SOA approaches. Keridwen includes a generic messaging system to control in a consistent manner the various bundles of the framework, and most of the tailored components needed to store or process scientific data, like 3D library and meshing tools (Penelope, GMSH), 3D visualization tools (Cassandra, VTK) or CAD modelling tools (Open Cascade). Penelope is one of these components. Penelope is a generic high-performance 3D unstructured mesh library, fully written in Java, able to define a whole mesh (geometry and connectivity), store all types of data on it and perform several types of processes on the mesh (e.g. mesh splitting, sub-mesh extraction...). Penelope is especially optimized to reduce the memory footprint and I/O access times. Penelope offers import/export functions for a large set of file formats, like XML, NetCDF, Gmsh or VTK. The replacement of the original SPIS-UI mesh library, JFreeMesh, by Penelope has lead to a significant reduction of the processing times during the various data conversion phases and saving/loading times. Fig. 10 shows the comparison of a mesh loading time versus the number of elements between both libraries. The shortest duration is the best.

The SPIS-UI Group Editor is based on the Frida library, which is a generic properties handler able to store and manage generic physical properties being applied to CAD objects or meshes. It simplifies the allocation of initial and boundary conditions, material properties or numerical models on CAD groups.

Part of the S/C Hub PVSA (shade side) OSR PVSA (sun side)

SC body Top Antenna Circular antennae

Material Black kapton Kapton OSR Solar Cells Teflon Non-conducting paint

Graphite

Absolute Charging (kV) NASCAP/ GEO

-10.0 -8.2 to -13.1 -8.23 to -10.7 -5.2 to -7.68 -7.5 to -12.7 -8.3 to -10.3 N/A

SEE Handbook -8.6 none in model -7.3 to -9.6 -3.6 to -5.7 -6.8 to -11.3 -7.5 to -11.3 N/A

Nascap-2k -12.0 -11.5 to -14.4 -10.0 to -13.7 -7.2 to -10.8 -7.9 to -14.0 -7.9 to -14.0 N/A

SPIS 4.3 -10.9 -12.9 (-10.9 to -13.9)

-11.7

-6.1 (-5.8 to -6.4)

-9.8 (-7.9 to -11.6)

-9.7 (-9.6 to -9.8)

-10.9

SPIS GEO -11.4 -13.1 (-12.4 to -13.6)

-12.3

-6.7 (-6.4 to -7.2)

-9.9 (-7.5 to -11.6)

-10.0 (-9.8 to -10.2)

-11.4

Page 5: SPIS-GEO: Simplified MEO/GEO tools for spacecraft chargingdev.spis.org/static/documentation/DocSpisUI/Presentations/12thSCT… · Marc Sevoz(5), P. Pelissou(5), J.Forest(6). I . 2

5

Figure 10 - Comparison of a mesh loading time versus the number of

elements between the Penelope and JFreeMesh libraries.

VI. CONCLUSION The objectives of SPIS-GEO were to be used in the

spacecraft design phase by spacecraft engineers without specific knowledge in spacecraft charging or numerical simulation. The requirements identified by the industrial users made the user-friendly GUI of SPIS-GEO. First tests have confirmed the accuracy of implemented physical models and the significant computation time reduction with respect to the previous versions of SPIS.

Thanks to this deep refactoring and strong evolutions, we hope that SPIS will become one of the reference tools for spacecraft-plasma interactions modelling of the second decade of the century.

ACKNOWLEDGMENT The authors thank David Rodgers from ESA/ESTEC, who supports this project in the frame of the Nr 4000101174contract and Alain Hilgers, from ESA/ESTEC, for his general support to the SPIS evolutions and the SPINE community life.

REFERENCES [1] J.-F. Roussel, G. Dufour, J.-C. Mateo-Velez, B. Thiébault, B.

Andersson, D. Rodgers, A. Hilgers, D. Payan, “SPIS multi time scale and multi physics capabilities: development and application to GEO charging and flashover modeling“, IEEE trans. Plasma Sci, Vol 12, N°4, 2012.

[2] Apache Maven project, http://maven.apache.org/ [3] CMake project, http://www.cmake.org/ [4] Hudson, the Integration Server, http://hudson-ci.org/ [5] Sonar project, http://www.sonarsource.org/ [6] JUnit project, http://www.junit.org/ [7] OSGi Web site, http://www.osgi.org/Main/HomePage [8] NetCDF Web site, http://www.unidata.ucar.edu/software/netcdf/ [9] Frida Library Web site, http://www.artenum.com/frida [10] Cassandra Web site, http://www.artenum.com/cassandra [11] Elegance Web site, http://www.artenum.com/elegance [12] Keridwen Web site, http://www.artenum.com/keridwen