22 EXPECT_NO_THROW(serif::atomic::species.at(
"H-1"));
23 EXPECT_DOUBLE_EQ(serif::atomic::species.at(
"H-1").mass(), 1.007825031898);
24 EXPECT_DOUBLE_EQ(serif::atomic::species.at(
"He-3").mass(), 3.0160293219700001);
25 EXPECT_DOUBLE_EQ(serif::atomic::species.at(
"He-4").mass(),4.0026032541300003);
36 EXPECT_NO_THROW(comp.registerSymbol(
"H-1"));
37 EXPECT_NO_THROW(comp.registerSymbol(
"He-4"));
38 EXPECT_THROW(comp.registerSymbol(
"H-19"), std::runtime_error);
39 EXPECT_THROW(comp.registerSymbol(
"He-21"), std::runtime_error);
41 std::set<std::string> registeredSymbols = comp.getRegisteredSymbols();
42 EXPECT_TRUE(registeredSymbols.find(
"H-1") != registeredSymbols.end());
43 EXPECT_TRUE(registeredSymbols.find(
"He-4") != registeredSymbols.end());
44 EXPECT_TRUE(registeredSymbols.find(
"H-19") == registeredSymbols.end());
45 EXPECT_TRUE(registeredSymbols.find(
"He-21") == registeredSymbols.end());
51 comp.registerSymbol(
"H-1");
52 comp.registerSymbol(
"He-4");
54 EXPECT_DOUBLE_EQ(comp.setMassFraction(
"H-1", 0.5), 0.0);
55 EXPECT_DOUBLE_EQ(comp.setMassFraction(
"He-4", 0.5), 0.0);
56 EXPECT_DOUBLE_EQ(comp.setMassFraction(
"H-1", 0.6), 0.5);
57 EXPECT_DOUBLE_EQ(comp.setMassFraction(
"He-4", 0.4), 0.5);
59 EXPECT_NO_THROW(comp.finalize());
60 EXPECT_DOUBLE_EQ(comp.getMassFraction(
"H-1"), 0.6);
62 EXPECT_THROW(comp.setMassFraction(
"He-3", 0.3), std::runtime_error);
64 EXPECT_NO_THROW(comp.setMassFraction({
"H-1",
"He-4"}, {0.5, 0.5}));
65 EXPECT_THROW(
auto r = comp.getComposition(
"H-1"), std::runtime_error);
66 EXPECT_TRUE(comp.finalize());
67 EXPECT_DOUBLE_EQ(comp.getComposition(
"H-1").first.mass_fraction(), 0.5);
69 EXPECT_NO_THROW(comp.setMassFraction({
"H-1",
"He-4"}, {0.6, 0.6}));
70 EXPECT_FALSE(comp.finalize());
71 EXPECT_THROW(
auto r = comp.getComposition(
"H-1"), std::runtime_error);
77 comp.registerSymbol(
"H-1",
false);
78 comp.registerSymbol(
"He-4",
false);
80 EXPECT_DOUBLE_EQ(comp.setNumberFraction(
"H-1", 0.5), 0.0);
81 EXPECT_DOUBLE_EQ(comp.setNumberFraction(
"He-4", 0.5), 0.0);
82 EXPECT_DOUBLE_EQ(comp.setNumberFraction(
"H-1", 0.6), 0.5);
83 EXPECT_DOUBLE_EQ(comp.setNumberFraction(
"He-4", 0.4), 0.5);
85 EXPECT_NO_THROW(comp.finalize());
86 EXPECT_DOUBLE_EQ(comp.getNumberFraction(
"H-1"), 0.6);
88 EXPECT_THROW(comp.setNumberFraction(
"He-3", 0.3), std::runtime_error);
133 comp.registerSymbol(
"H-1");
134 comp.registerSymbol(
"He-4");
135 comp.setMassFraction(
"H-1", 0.6);
136 comp.setMassFraction(
"He-4", 0.4);
137 EXPECT_NO_THROW(comp.finalize());
139 const auto compositionEntry = comp.getComposition(
"H-1");
140 EXPECT_DOUBLE_EQ(compositionEntry.first.mass_fraction(), 0.6);
141 EXPECT_DOUBLE_EQ(compositionEntry.second.meanParticleMass, 1.4382769310381101);
142 EXPECT_DOUBLE_EQ(compositionEntry.second.specificNumberDensity, 1.0/1.4382769310381101);
148 comp.registerSymbol(
"H-1");
149 comp.registerSymbol(
"He-4");
150 comp.setMassFraction(
"H-1", 0.6);
151 comp.setMassFraction(
"He-4", 0.4);
152 EXPECT_NO_THROW(comp.finalize());
154 EXPECT_DOUBLE_EQ(comp.getMassFraction(
"H-1"), 0.6);
155 EXPECT_DOUBLE_EQ(comp.getMassFraction(
"He-4"), 0.4);
157 EXPECT_NO_THROW(comp.setCompositionMode(
false));
159 EXPECT_NO_THROW(comp.setNumberFraction(
"H-1", 0.9));
160 EXPECT_NO_THROW(comp.setNumberFraction(
"He-4", 0.1));
162 EXPECT_THROW(comp.setCompositionMode(
true), std::runtime_error);
163 EXPECT_NO_THROW(comp.finalize());
164 EXPECT_NO_THROW(comp.setCompositionMode(
true));
170 comp.registerSymbol(
"H-1");
171 comp.registerSymbol(
"He-4");
172 comp.setMassFraction(
"H-1", 0.6);
173 comp.setMassFraction(
"He-4", 0.4);
174 EXPECT_NO_THROW(comp.finalize());
176 EXPECT_TRUE(comp.hasSymbol(
"H-1"));
177 EXPECT_TRUE(comp.hasSymbol(
"He-4"));
178 EXPECT_FALSE(comp.hasSymbol(
"H-2"));
179 EXPECT_FALSE(comp.hasSymbol(
"He-3"));