21dd26dd86
Merge(PR/10): Merged PR 10 changes
2026-06-08 09:07:08 -04:00
poojanagrawal
ee7470f969
fix(standard_compositions.cpp): found and fixed h and he leaking out of the composition data
...
added a check for H and He getting added to SpeciesObject and cleaned up some variable names and filenames
2026-06-05 22:47:15 +02:00
50a5c2cd06
MERGE: Merge standard abundances branch with updated install rules branch
2026-06-05 10:23:53 +02:00
poojanagrawal
376df477e3
fix(Standard-Compositions): fixed the compositions that were not working
2026-06-04 13:53:35 +02:00
poojanagrawal
a7389fcfce
fix(standard-compositions): completed the calculations of mass fractions
...
Moved the abundance calculations to its own function instead of main, fixed calulations of mass fractions
2026-06-03 13:49:35 +02:00
5ae76be756
test(tests): Standard Solar Composition Unit Tests
...
Added first basic unit test to ensure all standard solar compositions can load. Not currently passing
2026-06-03 13:28:48 +02:00
1619eba529
feat(standard_compositions): added working enum overloads
...
also added docs
2026-06-03 11:59:54 +02:00
3d2eb46d0d
feat(sandbox): added example input params
2026-06-02 17:02:19 +02:00
22083d5d11
feat(standard_composition): Enum overload for compositions
...
Added additional overloads to allow typesafe and compile time checking of requested composition
2026-06-02 16:22:18 +02:00
poojanagrawal
663bdcea03
feat(Standard-Compositions): Imported standard metal fractions from MESA
...
Imported standard metal fractions from MESA to build compositions from one of the standard schemes
2026-06-02 15:57:33 +02:00
1a5bd2b32c
fix(gcc): static_cast long int -> size_t for comparision
...
address IDB warnings in gcc build
2025-12-22 07:39:59 -05:00
284e8cd10a
perf(Composition): Internally switched from map -> vector
...
This brings a major performance improvment as all memory is contiguous
on the heap rather than spread around.
2025-12-08 11:31:46 -05:00
51c6a97b47
fix(cache): Cache properly clears
...
Cache now clears properly when setting molar abundances
2025-12-07 07:52:08 -05:00
75ba6c8456
perf(hash): Hash caching
...
added ability for composition to stash their own hash values
2025-12-07 07:47:32 -05:00
ae4b2119d8
fix(unity): fixed name conflict in unity builds
...
getSpecies was defined in two translation units. This was not an issue
for regular builds but broke unity builds. this has been refactored to a
single function in utils.h
2025-11-28 11:42:13 -05:00
6da4818ff4
fix(gcc): Fixed broken include paths
...
GCC is more strict with header includes. Fixed some of these so that libcomposition compiled on linux with a gcc toolchain
2025-11-27 17:40:32 -05:00
522d766bc2
feat(composition): added map overloads
2025-11-25 11:27:45 -05:00
408dd71eee
feat(composition-hash): added robust hashed for compositions
...
also added ability to use Compositions as a std::hash in unordered_* types. Further added a constructor to build a Composition from a const CompositionAbstract&
2025-11-12 15:21:33 -05:00
2492b5f652
feat(MaskedComposition): added MaskedComposition to libcomposition
...
MaskedComposition is a generally useful decorator, therefore instead of forcing callers to impliment it on their own, we have implimented it as part of libcomposition
2025-11-10 08:47:35 -05:00
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