feat(species): added half life, spin parity, and decay modes to species database

This commit is contained in:
2025-06-28 06:31:41 -04:00
parent af686e3833
commit 5fe127ff04
11 changed files with 15543 additions and 3724 deletions

View File

@@ -26,6 +26,12 @@ TEST_F(compositionTest, isotopeMasses) {
EXPECT_DOUBLE_EQ(fourdst::atomic::species.at("He-4").mass(),4.0026032541300003);
}
TEST_F(compositionTest, isotopeHalfLives) {
EXPECT_DOUBLE_EQ(fourdst::atomic::H_1.halfLife(), std::numeric_limits<double>::infinity());
EXPECT_DOUBLE_EQ(fourdst::atomic::F_18.halfLife(), 6584.04);
EXPECT_DOUBLE_EQ(fourdst::atomic::B_20.halfLife(), 0.0);
}
TEST_F(compositionTest, constructor) {
fourdst::config::Config::getInstance().loadConfig(EXAMPLE_FILENAME);
EXPECT_NO_THROW(fourdst::composition::Composition comp);
@@ -218,3 +224,4 @@ TEST_F(compositionTest, molarAbundance) {
EXPECT_DOUBLE_EQ(comp1.getMolarAbundance("H-1"), 0.5/fourdst::atomic::H_1.mass());
EXPECT_DOUBLE_EQ(comp1.getMolarAbundance("He-4"), 0.5/fourdst::atomic::He_4.mass());
}

View File

@@ -11,7 +11,13 @@ foreach test_file : test_sources
test_exe = executable(
exe_name,
test_file,
dependencies: [gtest_dep, species_weight_dep, gtest_main, composition_dep],
dependencies: [
gtest_dep,
species_weight_dep,
gtest_main,
composition_dep,
config_dep,
],
install_rpath: '@loader_path/../../src' # Ensure runtime library path resolves correctly
)