Commit Graph

16 Commits

Author SHA1 Message Date
71e9269837 feat(CompositionAbstract): added clone and iterator methods to the CompositionAbstract Interface 2025-11-09 09:51:29 -05:00
7a303b8d3a docs(fourdst::composition-and-fourdst::atomic): update documentation 2025-11-08 06:42:41 -05:00
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
b8dc4ad8a5 perf(Composition): improved static correctness 2025-10-22 10:35:49 -04:00
19c78ff241 perf(Composition): changed logger aquisition to static to prevent each Composition object from needing to instantiate a logger whenever its built 2025-10-22 10:32:50 -04:00
36849783f5 perf(CompositionEntry): made symbol and isotope std::optional for comopsition entry so that construction can be cheaper 2025-10-22 10:12:59 -04:00
0ef3b1a195 feat(Composition): Composition now inherits from abstract base class
The composition object is now a specialization of the abstract base CompositionAbstract. This interface enforces getters but not setters (those are left up to children). The intention here is that other code can specialize particular getters for cases where special handling (like unrestricted amounts of one species) are required.
2025-10-12 10:12:49 -04:00
5fba54c1a2 feat(Added-ability-to-get-electron-abundance-and-fixed-some-conversion-bugs): Now Ye can be retrived directly from the composition object. Further a bug which prevented proper conversion to and from number or mass frac modes without messing up the numbers has been resolved 2025-10-06 14:29:33 -04:00
539c3b567e feat(composition): added uniform tools to get vector representation of mass fraction, number fraction, and molar abundance
this is useful for external tools that need to ensure uniformity in which species are at what index in a vector representation
2025-09-16 11:23:01 -04:00
9f5ef7fd6a docs(docs): added robust docs 2025-07-24 09:35:52 -04:00
e8e69f00c7 feat(composition): added more expressive errors 2025-07-21 07:48:00 -04:00
85e89692e1 feat(composition): added species queries and < > operators for species based on mass 2025-07-14 11:29:04 -04:00
5fe127ff04 feat(species): added half life, spin parity, and decay modes to species database 2025-06-28 06:31:41 -04:00
936953697f refactor(logs): register symbol log info -> trace_l3 2025-06-26 09:05:31 -04:00
5990fa62a7 feat(Composition): added getMolarAbundance method 2025-06-25 08:26:50 -04:00
209d61f61f fix(headers): moved all headers to fourdst/ 2025-06-22 04:56:04 -04:00