KAPPA: Kinetic approach to physical processes in atmospheres library in C++

12Citations
Citations of this article
22Readers
Mendeley users who have this article in their library.
Get full text

Abstract

KAPPA, an open-source software library for the computation of thermodynamic and transport properties in non-equilibrium gas flows and species production rates, is presented. Thermodynamic properties rely on custom databases which describe the characteristics of atoms and molecules and interaction features. Mixture thermodynamic properties are formulated from species quantities. Species production rates are based on elementary chemical reactions and vibrational energy transitions. Transport properties are derived from kinetic theory which provides relationships for transport coefficients depending on the flow model. Several levels of non-equilibrium flow description are implemented: the detailed state-to-state (STS) approach, multi-temperature and one-temperature models. Sets of transport coefficients depend on the deviation from equilibrium; in the state-to-state model, they include state-resolved diffusion coefficients for each pair of vibrational states. A highly modular, object-oriented application program interface (API) has been developed. The adopted object-oriented programming paradigm (OOP), along with the implemented models of state-resolved physico-chemical relaxation rates, is presented. The design of the library allows it to be easily included in existing CFD codes and is aimed at code reusability and readability. Program Title: KAPPA Program Files doi: http://dx.doi.org/10.17632/mrx9n35bvs.1 Licensing provisions: GNU General Public Licence, version 3. Programming language: C++; developed and tested with Intel Compiler v. 18.x and GNU. External routines/libraries: KAPPA must be linked to yaml-cpp [1] in order to read human-readable database files and to Armadillo [2] for solving algebraic linear systems. Nature of problem: Numerical computation of transport properties and rate exchange coefficients for non-equilibrium reacting flows. Solution method: Non-equilibrium reacting flow is treated by a rigorous state-to-state (STS) kinetic theory approach. Restrictions: At present, KAPPA is validated for computing transport properties and rate exchange coefficients using the state-to-state (STS) approach; 1- and 2-temperature models have still to be validated, but they are already implemented. C++ compiler is mandatory. Unusual features: KAPPA is an open-source object-oriented highly modular and easy-to-maintain C++ software library which implements rigorous mathematical kinetic theory models. Additional comments: KAPPA project adopts Git [3], a free and open source distributed version control system. A public repository dedicated to KAPPA project [4] has been created on github, a web-based hosting service for software development projects using git versioning system. Finally, a comprehensive documentation [5] is provided parsing source code comments by means of doxygen software [6]. References: [1] Yaml-cpp is a YAML parser and emitter in C++ matching the YAML 1.2 specification. https://github.com/jbeder/yaml-cpp. [2] Armadillo is a fast C++ matrix library with easy to use functions and syntax, deliberately similar to Matlab which uses template meta-programming techniques. https://sourceforge.net/projects/arma/files/armadillo-8.500.1.tar.zx. [3] Git, a free and open source distributed version control system. http://git-scm.com. [4] Github, a web-based hosting service for software development projects using git versioning system. https://github.com. [5] Official KAPPA documentation. https://github.com/lkampoli/kappa. [6] Doxygen, a documentation system for many programming languages. http://www.stack.nl/ dimitri/doxygen.

Cite

CITATION STYLE

APA

Campoli, L., Oblapenko, G. P., & Kustova, E. V. (2019). KAPPA: Kinetic approach to physical processes in atmospheres library in C++. Computer Physics Communications, 236, 244–267. https://doi.org/10.1016/j.cpc.2018.10.016

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free