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
5baa671ddd
docs(libcomposition): added more docstrings
2025-10-12 10:21:28 -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
1fd329a072
perf(az_to_species): marked noexcept
...
includes a version bump from v1.8.1 -> v1.8.2
2025-10-09 07:04:35 -04:00
f539e498b8
feat(az_to_species): az_to_species now returns an expected and error type
...
this will allow for much easier checking if a particular a,z pair actually exists
2025-10-08 15:17:33 -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
b94d9b456f
feat(species-lookup): added function to get species from a and z
2025-08-13 13:07:49 -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
684e3e7b5a
feat(composition): added stl compatible iterator
2025-07-04 05:35:29 -04:00
f3d946bc51
feat(species): added spin parsing from spin parity string
2025-07-02 10:35:54 -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
645c216ada
feat(header): moved
2025-06-21 16:16:52 -04:00
952cf3c4e2
feat(header): updated header location
2025-06-21 16:13:25 -04:00
db88e308de
build(libcomposition): brought working build system into libcomposition
2025-06-21 11:33:27 -04:00
58de341056
docs(GraphNetwork): added and rebuilt docs
2025-06-21 05:04:14 -04:00
2d03565565
style(composition): removed newlines in composition stdout
2025-06-20 13:51:27 -04:00
b0896d20e9
fix(atomicSpecies.h-->-species.h): added species.h includes for spesific species where needed
2025-06-19 14:51:42 -04:00
0f68f2959e
feat(network): major progress on network finalization and matrix creation
2025-06-19 13:23:31 -04:00
9d85f4b163
fix(composition): updated includes to include new assets/static/atomic header
2025-06-19 09:42:52 -04:00
80dd5d83f8
feat(composition): added contains method
2025-06-18 15:25:09 -04:00
774bdca083
feat(reaclib): working on building efficient reaclib tooling for general nuclear network
...
this commit primarily adds a more robust ability to cull reactions that are not needed from the generated header
2025-06-18 12:13:24 -04:00
017abc83f9
fix(src): updated to compile on gcc and clang
...
gcc disallows some constexprs that work in clang, these have been removed to that SERiF compiles on gcc and clang
2025-06-17 10:12:07 -04:00
6d517d937e
refactor(network): updated network and network::approx8 to use composition module
...
This is a very basic wrapper implimentation currently. This is sufficient to lock the interface down so that other code can target it. However, internally there is just a "convert" function. Eventually we should rework the code itself to use the composition module more directly.
2025-06-17 09:43:43 -04:00
36a3f832f7
fix(eos): fixed calculation of mean atomic number
2025-06-17 08:12:41 -04:00
4f47dc97a8
feat(eos): EOS now uses composition module
...
EOS code updated to make use of composition module. This is part of the larger change to change all composition handling to use the composition module. Note that the current implimentation is a bit hacky since it simply copies back and forth to the alredy used HELMEOSInput and HELMEOSOutput structs. In furture this can be more tightly connected to avoid extra copies.
2025-06-16 15:00:33 -04:00
517a4cf44d
docs(composition): @example -> *Example Usage:*
2025-06-16 13:15:34 -04:00
8dd0890d60
Merge remote-tracking branch 'upstream/main' into feature/mixedPolytrope
...
# Conflicts:
# .gitignore
# build-config/meson.build
# meson.build
# meson_options.txt
# src/composition/public/composition.h
# src/config/public/config.h
# src/constants/public/const.h
# src/meson.build
# tests/composition_sandbox/comp.cpp
2025-06-11 15:05:11 -04:00
3ed522b229
refactor(serif): refactored entire codebase into serif and sub namespaces
2025-06-11 14:49:11 -04:00
36f2413683
fix(composition): removed old py structure
2025-04-30 11:41:52 -04:00
01b2fdd205
feat(pybind11): added infra to compile with pybind11
2025-04-30 11:39:36 -04:00
408dc3ba87
docs(src): updated file headers
2025-04-21 08:56:45 -04:00
82d74c7bb2
feat(composition): added mix method to combine compositions. Also overloaded the + operator to mix with an assumed fraction of 50/50
2025-03-26 08:07:11 -04:00
e850f78831
feat(composition): added ability to change composition modes
2025-03-25 13:01:22 -04:00
95e4d10c59
feat(composition): added numberFrac methods and subset method
...
Composition can now be placed in either number fraction or mass fraction mode and can (after finalization) convert between them. Subsets of compositions can also be made. Normalization has also been added to finalize. Tests have been added
2025-03-25 12:49:37 -04:00
0a70b9ea12
docs(composition): updated mass fracs in docs to more realistic values
2025-03-24 13:20:24 -04:00
7c42201ddb
feat(composition): added composition class
...
in order to get composition in a standardized way anywhere in the code we now have a composition class
2025-03-24 12:58:30 -04:00
4840b439df
feat(composition): added composition module stub
2025-03-24 10:41:13 -04:00