Commit Graph

44 Commits

Author SHA1 Message Date
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