Emily Boudreaux 84947a2b12 feat(composition): changed how composition is conmstructed
Composition objects now must be built from vectors of molar abundances.  Things such as mass fraction and number fraction are computed on the fly (with some caching for performance). This will allow for many fewer issues when converting from solver space to composition space.

BREAKING CHANGE: The entire old API has been broken. There is no longer any need to finalize. In fact the entire concept of finalization has been removed. Further, the entire CompositionEntry and GlobalComposition data structure has been removed. Any code written for the old version will no longer work and major reworking will be needed to use the new version.
2025-11-07 15:49:25 -05:00
2025-10-12 10:22:43 -04:00
2025-07-24 09:35:52 -04:00
2025-03-19 11:36:59 -04:00

libcomposition

libcomposition is the chemistry tracking tool used by SERiF and related products.

This has been broken out of the main serif project to allow for more modularity

Building

In order to build libconstants you need meson>=1.5.0. This can be installed with pip

pip install "meson>=1.5.0"

Then from the root libcomposition directory it is as simple as

meson setup build --buildtype=release
meson compile -C build
meson test -C build

this will auto generate a pkg-config file for you so that linking other libraries to libcomposition is easy.

Description
No description provided
Readme 15 MiB
Languages
C++ 97.8%
Python 1.3%
Meson 0.9%