Commit Graph

28 Commits

Author SHA1 Message Date
f7fbc6c1da refactor(src): small changes 2025-11-19 07:42:10 -05:00
05c49d8dcf refactor(src): small refactoring changes to clean up code prior to PR 2025-11-18 08:24:19 -05:00
a7a4a30028 feat(Comoposition-Tracking): updated GridFire to use new, molar-abundance based, version of libcomposition (v2.0.6)
This entailed a major rewrite of the composition handling from each engine and engine view along with the solver and primer. The intent here is to let Compositions be constructed from the same extensive property which the solver tracks internally. This addressed C0 discontinuity issues in the tracked molar abundances of species which were introduced by repeadidly swaping from molar abundance space to mass fraction space and back. This also allowed for a simplification of the primeNetwork method. Specifically the mass borrowing system was dramatically simplified as molar abundances are extensive.
2025-11-10 10:40:03 -05:00
7364eaafbd test(sandbox): some work on sandbox tests 2025-11-04 14:04:54 -05:00
3c80ccc77f fix(python): added temporary patch to let python bindings work on mac
Mirroring what was done in fourdst (see fourdst/tree/v0.8.5) we have added a temporary patch to let python bindings work on mac while the meson-python folks resolve the duplicate rpath issue in the shared object file
2025-11-03 15:10:03 -05:00
86d7a283a1 feat(GraphEngine): More robust reaction type selection at network construction
Added new ways to select exactly what types of reactions (strong, beta+, beta-, electron capture, positron capture, or any combination thereof) can be turned on at network construction time. There are a few quality of life masks added as well such as weak which addes all weak type reactions, and all which adds weak + strong reactions. The default is to just add strong reactions for now.
2025-11-03 08:38:21 -05:00
6088fb9c12 test(graphnet_sandbox): updated graphnet sandbox to test full network stack 2025-10-30 15:06:59 -04:00
3b8a0a1f33 fix(engine_multiscale): resolved a major species index ordering bug
All jacobian calculations were broken because the indexing used to record the AD tape was broken (see not parallel to) the indexing used by the composition object. A fix for this was to sort the network species by mass. However, more generally we should introduce a mechanism to ensure these two indexed sets always remain parallel
2025-10-14 13:37:48 -04:00
2f1077c02d fix(weakRates): major progress in resolving bugs
bigs were introduced by the interface change from accepting raw molar abundance vectors to using the composition vector. This commit resolves many of these, including preformant ways to report that a species is not present in the composition and unified index lookups using composition object tooling.

BREAKING CHANGE:
2025-10-10 09:12:40 -04:00
8a0b5b2c36 feat(weak): major weak rate progress
Major weak rate progress which includes: A refactor of many of the public interfaces for GridFire Engines to use composition objects as opposed to raw abundance vectors. This helps prevent index mismatch errors. Further, the weak reaction class has been expanded with the majority of an implimentation, including an atomic_base derived class to allow for proper auto diff tracking of the interpolated table results. Some additional changes are that the version of fourdst and libcomposition have been bumped to versions with smarter caching of intermediate vectors and a few bug fixes.
2025-10-07 15:16:03 -04:00
4f1c260444 feat(trigger): added working robust repartitioning trigger system
more work is needed to identify the most robust set of criteria to trigger on but the system is now very easy to exend, probe, and use.
2025-09-29 13:35:48 -04:00
4c91f8c525 feat(CVODE_Solver_Strategy): added non negative constraint to CVODE based abundance solver
this prevents abundance values from going negative which is non physical
2025-09-22 11:15:14 -04:00
813e62bdd6 feat(dynamic-engine): added derivitves for energy generation rate. dε/dT and dε/dρ have been added to NetOut and computed with auto diff 2025-09-19 15:14:46 -04:00
ed1c5a1ac7 feat(solver): added CVODE solver from SUNDIALS 2025-08-15 12:11:32 -04:00
0b77f2e269 refactor(reaction): refactored to an abstract reaction class in prep for weak reactions 2025-08-14 13:33:46 -04:00
24049b2658 feat(solver): added callback functions to solver in C++ and python 2025-07-31 15:04:57 -04:00
e3d7bed39c test(reverse-rates): testing reverse rates 2025-07-29 07:49:17 -04:00
6a22cb65b8 feat(GridFire): stabalized network, increased performance, evolving over 10Gyr timescales now with ~correct results 2025-07-22 12:48:24 -04:00
712efc03fc feat(AdaptiveEngine): system much more stable
dramatically increased stability of jacobian. System is burning again with much more robust physics
2025-07-18 15:23:43 -04:00
1f7e765671 fix(MultiscalePartitioningEngineView): made qse partitioning much more robust 2025-07-16 12:14:02 -04:00
18f9e13107 test(sandbox-test): updated sandbox 2025-07-14 14:54:22 -04:00
7012eb819a feat(MultiscalePartitioningEngineView): added *much* more robust qse group identifiction and solving 2025-07-10 09:36:05 -04:00
1ac6b451b8 feat(reverse-reactions): major work towrds detailed balance calculations 2025-07-03 09:55:10 -04:00
e5ad284778 feat(partition-functions): added framework and some concrete partition functions
GroundState partition function, Rauscher&Thielemann partition function, and composite partition function added
2025-07-02 11:32:45 -04:00
5b4db3ea43 feat(precomputation): added precomputation
preformance speed up by a factor of ~5
2025-07-01 14:30:45 -04:00
4ee6f816d0 feat(tests): comparing to approx8 2025-07-01 11:41:14 -04:00
5fe75d1298 test(tests): updated tests 2025-06-29 14:54:25 -04:00
cd191cff23 feat(GridFire): major design changes
Switching to an Engine + solver design. Also brought xxHash and Eigen in. Working on QSE and Culling.
2025-06-26 15:13:46 -04:00