diff --git a/src/composition/include/fourdst/composition/io/StandardAbundancesBinary.h b/src/composition/include/fourdst/composition/io/StandardMetalFractionsBinary.h similarity index 99% rename from src/composition/include/fourdst/composition/io/StandardAbundancesBinary.h rename to src/composition/include/fourdst/composition/io/StandardMetalFractionsBinary.h index ac4c05f..3b0aa01 100644 --- a/src/composition/include/fourdst/composition/io/StandardAbundancesBinary.h +++ b/src/composition/include/fourdst/composition/io/StandardMetalFractionsBinary.h @@ -2,7 +2,7 @@ #include -const unsigned char StandardAbundances[] = { +const unsigned char StandardMetalFractions[] = { 0x53, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x20, 0x5b, 0x61, 0x62, 0x75, 0x6e, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2c, 0x20, 0x69, 0x73, 0x6f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x20, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x5d, 0x0a, 0x43, @@ -1458,4 +1458,4 @@ const unsigned char StandardAbundances[] = { 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x0a, }; -const size_t StandardAbundances_len = sizeof(StandardAbundances); +const size_t StandardMetalFractions_len = sizeof(StandardMetalFractions); diff --git a/src/composition/lib/io/standard_compositions.cpp b/src/composition/lib/io/standard_compositions.cpp index 5bd02ad..0d4cc1b 100644 --- a/src/composition/lib/io/standard_compositions.cpp +++ b/src/composition/lib/io/standard_compositions.cpp @@ -1,5 +1,5 @@ #include "fourdst/composition/io/standard_compositions.h" -#include "fourdst/composition/io/StandardAbundancesBinary.h" +#include "fourdst/composition/io/StandardMetalFractionsBinary.h" #include "fourdst/composition/composition.h" #include "fourdst/atomic/atomicSpecies.h" @@ -252,13 +252,13 @@ namespace fourdst::composition { std::vector data; io::ChemicalFileParser parser; - io::CompositionData compositions; + io::CompositionData metals; io::IsotopicPercentage isotopes; - data = std::ranges::to>(StandardAbundances); + data = std::ranges::to>(StandardMetalFractions); - compositions = parser.parse_compositon_data(data,metal_fraction_scheme); + metals = parser.parse_compositon_data(data,metal_fraction_scheme); isotopes = parser.parse_isotopic_percentage(data,isotopic_percentage_scheme); std::string name; @@ -267,7 +267,7 @@ namespace fourdst::composition { // construct name of the isotopes for all elements for (const auto [E,A] : std::ranges::views::zip(isotopes.elements, isotopes.mass_numbers)){ - if (std::ranges::contains(compositions.elements,E)) { + if (std::ranges::contains(metals.elements,E ) || E == "H" || E == "He") { name = std::format("{}-{}",E,A); auto SpeciesObject = atomic::species.at(name); species.push_back(SpeciesObject); @@ -297,7 +297,7 @@ namespace fourdst::composition { // multiply by atomic weight if needed - if (compositions.requires_atomic_weight){ + if (metals.requires_atomic_weight){ // get isotope with max abundance for each metal // and store the corresponding mass number auto element_atomic_weight = [&isotopes]() { @@ -316,7 +316,7 @@ namespace fourdst::composition { return elem_info; }(); - for (const auto [E,A] : std::ranges::views::zip(compositions.elements, compositions.abundances)) { + for (const auto [E,A] : std::ranges::views::zip(metals.elements, metals.abundances)) { // std::println("element: {}", E); auto name = std::format("{}-{}",E,element_atomic_weight.at(E).second); // std::println("{}", name); @@ -326,7 +326,7 @@ namespace fourdst::composition { // std::println("End"); } } else { - for (const auto [E,A] : std::ranges::views::zip(compositions.elements, compositions.abundances)) { + for (const auto [E,A] : std::ranges::views::zip(metals.elements, metals.abundances)) { metal_fractions.emplace(E,A); } } diff --git a/src/composition/meson.build b/src/composition/meson.build index 3736f23..4741ef4 100644 --- a/src/composition/meson.build +++ b/src/composition/meson.build @@ -6,7 +6,7 @@ required_headers = [ 'fourdst/composition/composition_abstract.h', 'fourdst/composition/exceptions/exceptions_composition.h', 'fourdst/composition/io/standard_compositions.h', - 'fourdst/composition/io/StandardAbundancesBinary.h' + 'fourdst/composition/io/StandardMetalFractionsBinary.h' ] foreach h : required_headers @@ -65,7 +65,7 @@ install_headers(composition_headers_utils, subdir : 'fourdst/composition/utils') composition_headers_io = files( 'include/fourdst/composition/io/standard_compositions.h', - 'include/fourdst/composition/io/StandardAbundancesBinary.h' + 'include/fourdst/composition/io/StandardMetalFractionsBinary.h' ) install_headers(composition_headers_io, subdir : 'fourdst/composition/io') diff --git a/tests/composition/sandbox/sandbox.cpp b/tests/composition/sandbox/sandbox.cpp index 82be862..b2a3095 100644 --- a/tests/composition/sandbox/sandbox.cpp +++ b/tests/composition/sandbox/sandbox.cpp @@ -1,21 +1,12 @@ #include "fourdst/composition/io/standard_compositions.h" -#include "fourdst/composition/io/StandardAbundancesBinary.h" - #include "fourdst/composition/composition.h" -#include "fourdst/atomic/atomicSpecies.h" #include "fourdst/atomic/species.h" -#include "../../../src/composition/include/fourdst/composition/utils/utils.h" #include #include -#include -#include #include -#include #include -#include #include -#include #include "CLI/CLI.hpp" int main(int argc, char** argv) { @@ -32,7 +23,7 @@ int main(int argc, char** argv) { CLI::App app("Example App To Load Solar Composition"); app.add_option("-z,--initial_z", initial_z, "Initial Z")->required(); - app.add_option("-c,--solar-composition", metal_fraction_scheme)-> + app.add_option("-c,--metal-fraction-scheme", metal_fraction_scheme)-> check( CLI::IsMember( keys, @@ -46,7 +37,6 @@ int main(int argc, char** argv) { // the following four should be user input // initial_y can be optional - // initial_z = 0.02; initial_y = 0.24 + 2*initial_z; isotopic_percentage_scheme = "L03_data";