Commit Graph

80 Commits

Author SHA1 Message Date
4fd3643d1e fix(resource-manager): fixed old style calls to opat-core
tboudreaux:feature/mixedPolytrope implimented a fix to bring old style opat-core calls to the more up to date style. This change has been fast forwarded into main
2025-04-25 10:39:10 -04:00
edd4c04c64 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
0e9a7df381 feat(composition): added ability to change composition modes 2025-03-25 13:01:22 -04:00
cb33f75e0c 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
d64202d6c0 docs(composition): updated mass fracs in docs to more realistic values 2025-03-24 13:20:24 -04:00
170bcb085d build(probe): added probe dependencies to probe_dep 2025-03-24 12:59:43 -04:00
6aa3f90c98 build(composition): added composition module to build 2025-03-24 12:58:49 -04:00
cd022a1f9a 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
3c3d714702 feat(composition): added composition module stub 2025-03-24 10:41:13 -04:00
b88606815a refactor(opatIO): removed old opatIO code from 4DSSE 2025-03-24 04:59:01 -04:00
ff87585d71 build(opatIO): broke opatIO out into a seperate module 2025-03-24 04:57:18 -04:00
f6f35996cc fix(opat): added min tolerance for epsilon in case where there are shared indeices 2025-03-22 14:26:08 -04:00
528d2f632b fix(network): fixed missing negative in jacobian energy accounting 2025-03-21 14:46:22 -04:00
59d4c290ba fix(network): added missing negative sign in energy calculation 2025-03-21 14:44:35 -04:00
3109c198cf refactor(network): removed unused phoenix dependency and defauled stiff=false to use explicit solver 2025-03-21 14:35:18 -04:00
7c40db4b09 feat(approx8-network-integrated): added network handleing semantics and incorporated the approx8 network into them 2025-03-21 14:03:18 -04:00
Aaron Dotter
c58bd50f01 refactor(network) Added header file 2025-03-21 12:08:40 -04:00
6876b87947 feat(network): began incoporating network 2025-03-21 10:39:53 -04:00
f042be6b02 Merge pull request #28 from aarondotter/main
adding a nuclear reaction network to feature/nuclearNetwork
2025-03-21 07:17:08 -04:00
Aaron Dotter
03c7d428a7 adding a nuclear reaction network 2025-03-20 15:22:04 -04:00
ed0e079150 docs(src): added documentation to all changes related to the resource manager 2025-03-20 14:37:15 -04:00
ecbdba5216 refactor(opatIO-and-meshIO): removed unused header file includes 2025-03-20 14:30:40 -04:00
cb5ac274dc build(build): updated build system to be compatible with resource manager
The build system now passes compiler directives based on the mode being build. By default data is stored in the source root (and this is encoded into the compiled binary). However, if building in user mode then data is assumed to be at the meson install prefix data directory
2025-03-20 14:29:43 -04:00
18f3f6689d feat(config): added ability to get all keys and check if a key exists in the given config file
also added the ability to get a config value without specifying a default (this is only avalible to freind classes)
2025-03-20 14:27:57 -04:00
08075f5108 feat(resource-manager): added working singleton resource manager
all external data should now be handled through the resource manager. This will take care of location on disk as well as ownership
2025-03-20 14:26:44 -04:00
1cc21a368b feat(src/misc): moved macros to misc 2025-03-20 14:25:51 -04:00
171fbf7961 feat(eosIO): added EosIO class to handle arbitrary eos data
EosIO class wraps all eos tables (like helm) so that they can be used in a more standard fashion
2025-03-20 14:25:22 -04:00
d2978ebccb refactor(src/resources): removed old src/resources directory in favor of ./assets 2025-03-20 07:33:33 -04:00
Aaron Dotter
4ef169d47a Update helm.cpp
removing extraneous info
2025-03-17 16:26:14 -04:00
4d12b6beb2 docs(helm): added header 2025-03-17 13:24:08 -04:00
3f86d0ceb1 docs(src): added file headers to all files 2025-03-17 12:42:33 -04:00
cd32394d37 fix(helm.cpp): exp10(x) changed to pow(10, x)
epx10 is a extension to the c++ standard library from glibc which is not in libc. To provide support for llvm compilers alonw with gcc I have changed all calls to exp10(x) to pow(10, x).
2025-03-13 14:08:21 -04:00
bb0ec4d341 fix(opatIO): added cstdint header
gcc versions 11 and before did not require this header to be manually specified, above that it does. As we move towrds a standardized compiler version I have brought opatIO in line with more modern gcc expectations
2025-03-07 10:17:45 -05:00
Aaron Dotter
da7f5e5022 adding more quantities to the eos test, including derivatives 2025-03-06 14:36:07 -05:00
38db2ca586 build(meson.build): added eos to build 2025-03-05 16:59:38 -05:00
154004c8ca feat(eos): added helmholtz eos as module
Aaron Dotter implimented a C++ version of Frank Timmes' fortran code helmholtz.f90. I have taken that and refactored it to work in the 4DSEE code style. This has mostly involved some light moving of stuff around. The biggest change is removing all globals, and reorienting memory to be heap allocated and contiguous. This is because there was too much memory being stack allocated.
2025-03-05 16:59:04 -05:00
e43caf3027 fix(const): added set header 2025-03-05 16:57:22 -05:00
08efc99688 build(const_data_dep): updated const header dep to be called const_data_dep 2025-03-05 16:56:51 -05:00
eb0a13a804 build(const): added const_dep 2025-03-05 16:56:28 -05:00
Aaron Dotter
6255ba5524 adding eos with helmholtz option 2025-03-04 13:52:39 -05:00
411a767dc4 feat(probe): added probe namespace
Probe handles LogManager (for tracking multiple log files) as well as a few utility functions such as wait, pause, glVisView, and rayView (future)
2025-02-23 11:26:41 -05:00
7dee9ca39d Merge branch 'main' into feature/logging
Restore deleted config code so that tests can compile correctly
2025-02-21 10:40:39 -05:00
a20a150c85 fix(config): restored deleted code
I accidently deleted some cacheing mechanisms, these have been restored
2025-02-21 10:39:43 -05:00
98ead4f06c build(probe): updated build system to include probe and probe tests 2025-02-21 10:31:57 -05:00
95f943b45a feat(probe): probe logging module first implimentation 2025-02-21 10:30:59 -05:00
e54a5be967 docs(config): rebuild docs and removed redundant documentation 2025-02-20 09:45:47 -05:00
2dcff35e01 perf(config): added cache
In order to prevent traversing the YAML tree I have added a hash map (O(1) lookup) to cache already accessed config variables. I have also added a vector to store keys requested but not found so we do not need to check for those every time
2025-02-20 09:30:43 -05:00
a134878e67 feat(config): config class added
At many points in the code we may want configurable options, the Config class usses a yaml file to make this easy. It also allows for namespace references "opac:lowtemp:file" etc...
2025-02-19 16:11:55 -05:00
df6335d25f feat(opatIO): fully updated for index vector
PreviouslyOPAT files were indexed using X and Z now they are indexed with a general index vector.

BREAKING CHANGE: all methods wch used X and Z now use std::vector<double> index (size: header.numIndex) instead. Also added a method to validate tables using checksum
2025-02-17 13:01:34 -05:00
5d51f5b5e0 build(opatIO/meson.build): added PicoSHA2 as a dependency 2025-02-17 13:00:01 -05:00