Commit Graph

244 Commits

Author SHA1 Message Date
98db2b1d43 perf(graph_engine): finished sparsity system for jacobian, major preformance win, roughly 20x faster
essentially all callers can now inform the graph engine about which species they hold active and graph engine then uses those to define a sparsity pattern and only calculate the jacobian along that sparsity pattern
2025-10-24 11:17:22 -04:00
0581f69c48 perf(engine_multiscale): performance enhancments due to improved hashing, locality, and data structure optimization
This particular commit speeds up QSE solving for systems where reverse reactions and engine caching is disabled by about 24%
2025-10-22 15:08:49 -04:00
b20d3467fa build(libcomposition): version bump for fourdst to bring in libcomposition v1.9.1 whith major preformance enhancments
fourdst version v0.8.4
2025-10-22 15:06:11 -04:00
ced29d2f63 fix(engine_multiscale): resolved bug which prevented proper equilibrium abundances from being found
this was done by adjusting the scaling of the QSE operator() residuals from r = dy/dt to r=(dy/dt)/y
2025-10-22 09:54:10 -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
408f6d83a2 build(fourdst): version bump v0.8.2 -> v0.8.3
This fourdst version bump brings the libcomposition v1.9.0 which brings the abstract base class CompositionAbstract. This will allow us to impliment overrides which return specific molarAbundances skirting around Composition internal checks. This is for the purpose of allowing unrestricted molar flow when ccalculating the destruction rate constant for particular species.
2025-10-12 10:29:41 -04:00
25393f2470 refactor(engine_multiscale): removed debug output 2025-10-12 07:58:12 -04:00
bc666ff783 docs(engine_multiscale): improved error message when Eigen failes to converge to a solution for QSE solver 2025-10-12 07:52:30 -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
13e2ea9ffa feat(weak-reactions): brought weak reaction code up to a point where it will compile (NOT YET TESTED) 2025-10-08 11:17:35 -04:00
274c566726 docs(docs): rebuilt docs with loads more detail for triggers and weak reactions 2025-10-08 11:17:09 -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
d920a55ba6 docs(readme): added toc 2025-08-05 15:23:04 -04:00
de582b938a docs(docs): added workflow page 2025-08-01 05:19:00 -04:00
a3ccd5e730 docs(readme): spelling correction 2025-07-31 18:10:13 -04:00
3488e4d039 Merge pull request #4 from tboudreaux/feature/observerCallback
Solver callback functions
2025-07-31 15:41:53 -04:00
b0c1daada4 docs(docs): added more callback docs 2025-07-31 15:41:27 -04:00
24049b2658 feat(solver): added callback functions to solver in C++ and python 2025-07-31 15:04:57 -04:00
5b74155477 build(wheels): added wheel generation scripts and social logo 2025-07-31 12:02:10 -04:00
7373ca2f9a docs(docs): updated index.html and readme 2025-07-31 11:10:02 -04:00
63265a2dc3 docs(docs): rebuilt 2025-07-31 10:54:31 -04:00
2aaeb6440e docs(readme): added pip instructions 2025-07-30 15:15:37 -04:00
cd60ae5c1e docs(docs): rebuild with more usage examples 2025-07-30 15:12:46 -04:00
24870ffcbc Merge pull request #3 from tboudreaux/feature/QSE
Complete Rework of QSE System + Python Bindings
2025-07-29 15:43:05 -04:00
a6a5ff5f08 build(install): reordered options 2025-07-29 15:25:50 -04:00
1fde046ccd build(install.sh): added better venv handling for meson cmd 2025-07-29 14:36:23 -04:00
443f9e6888 build(install): added venv python managment 2025-07-29 13:44:43 -04:00
f3cabfc191 build(install.sh): added check to boost after install deps 2025-07-29 12:32:22 -04:00
368656e78c build(install.sh): updaterd boost version to 1.83.0 2025-07-29 12:29:02 -04:00
1e11533ba9 build(install.sh): added prompt_yes_or_no back 2025-07-29 12:25:42 -04:00
5d516c2544 build(install.sh): made boost check more preformant 2025-07-29 12:23:43 -04:00
5181dda06e build(install.sh): added more docs about boost and made check only happen once 2025-07-29 11:46:50 -04:00
7567b7b895 build(install.sh): minor logic fix 2025-07-29 11:41:58 -04:00
8434a55668 build(install.sh): added more robust boost tests 2025-07-29 11:40:01 -04:00
ebc9a50112 build(install): added more options and save an d load 2025-07-29 11:22:39 -04:00
7ceb997b7d build(installer): added compile version checking 2025-07-29 10:54:49 -04:00
8318a07aec build(install.sh): added meson-python 2025-07-29 09:44:29 -04:00
89d9472080 build(installed): added more options and better tui mode 2025-07-29 09:25:44 -04:00
f5328785a8 build(install.sh): added auto installer 2025-07-29 09:05:47 -04:00
2c6a8d18a7 build(fourdst/libconfig): version bump to yaml-cpp with cstdint applied 2025-07-29 08:50:28 -04:00
9ae9236a80 build(pybind11): added wrap file 2025-07-29 08:31:50 -04:00
90826e5053 build(subprojects): removed recursive wrap files 2025-07-29 08:28:42 -04:00
a9c4a2faff build(boost): added auto call to boost dep script 2025-07-29 08:22:31 -04:00
e3d7bed39c test(reverse-rates): testing reverse rates 2025-07-29 07:49:17 -04:00
2d9216600f feat(reverse-rates): fixed unit error in reverse rate calculation 2025-07-29 07:49:01 -04:00