In recent years, the interest in nonthermal plasma dynamics has grown significantly, within both industry and research. This has been driven by the development of several novel cold plasma technologies across a wide range of different fields, for example, for plasma medicine, chemical processing, pollution control, and surface treatment. The optimization of these technologies relies heavily upon the understanding of gas discharge plasmas: their generation, electrical characteristics, and interaction with their surroundings. Moreover, the manifestation of nonthermal plasmas in the form of streamers is of high relevance and critical importance to high voltage insulation technology, and has further significance to geophysical research concerning atmospheric discharges. The present work describes the development of the StrAFE (Streamers on Adaptive Finite Elements) package, a dedicated Python library built atop the popular open-source FEniCS finite element software, designed with the objective to simplify and to automate the solution of ionization front models. The library features support for mesh adaptivity, distributed memory parallelism, and an intuitive programming interface, while providing an exceptionally high level of user configurability. This article presents the software implementation, describes its features, and presents several code verification studies performed within simple and complex domains. It is concluded that the numerical results gained from this open-source framework are comparable to other well-established software in terms of accuracy. Therefore, it further demonstrates the great potential for open-source software to make significant contributions to technologies involving nonthermal plasmas, ionization fronts, and gas discharges.
INDEX TERMSNonthermal plasma, gas discharge plasma, finite element analysis, open-source software, streamer discharge, high voltage phenomena, transient ionization fronts NOMENCLATURE A. FINITE ELEMENT METHOD