Commit Graph

99 Commits

Author SHA1 Message Date
d56f66c428 feat(python-eos-interface): began work on python eos interface 2025-05-11 14:58:18 -04:00
95d344a79c refactor(EosIO): renamed EosIO -> EOSio 2025-05-11 14:58:00 -04:00
946209e010 feat(python): register config bindings 2025-05-05 14:36:32 -04:00
b014300d99 refactor(config): header guard -> pragma once 2025-05-05 14:36:16 -04:00
af6abd3ce2 feat(python/config): added config module bindings 2025-05-05 14:35:50 -04:00
4757a6f63a fix(python/constants): adjusted python constants to be a true singleton / static class 2025-05-05 13:25:27 -04:00
2bd000039b build(python): updated build system to point to all python interface modules 2025-05-05 12:01:55 -04:00
a3adbacc3b refactor(const): header guard -> pragma once
also removed unused includes
2025-05-05 12:01:20 -04:00
7df3481ff4 refactor(python/composition): updated python comp bindings to use register model 2025-05-05 12:00:40 -04:00
1ed0e9cde1 feat(python/const): added constants bindings
constants module can now be fully accessed from python
2025-05-05 11:59:24 -04:00
2bf58671a0 refactor(python): added global binding module 2025-05-05 11:58:57 -04:00
9307c398b6 build(config): added compile time option to disable config file load error
In general we may want to enforce that a config file is explicitly loaded before any access is requested. However, there are times when this is non ideal behavior. We introduce a compile time flag (CONFIG_HARSH, and CONFIG_WARN). If config hars is defined then a runtime error will be thrown if a config value is requested before the config file has been loaded. If Config warn is defined (and config harsh is not) then a warning will be printed, otherwise nothing will happen. If either warn or nothing is defined this means that the default values defined in the get methods will be used.

Note that the meson build system has had an option added -Dconfig_error_handling=["none", "warn", "harsh"] (default="none") which can be used to manage these compile time options. In general release builds should have this disabled while debug builts should have it set to harsh.
2025-04-30 11:48:38 -04:00
91d66ea62e build(meson): switched almost all intermediate targets to shared libraries 2025-04-30 11:44:53 -04:00
591f62c88d fix(composition): removed old py structure 2025-04-30 11:41:52 -04:00
4e83b05112 feat(python-composition): added composition module interface 2025-04-30 11:41:10 -04:00
57d60d7bb7 feat(pybind11): added infra to compile with pybind11 2025-04-30 11:39:36 -04:00
56f596500c feat(poly): added NonlinearPowerIntegrator and PolytropeOperator
A custom integrator is required to handle the theta^n term in the lane emden equation, that is written as NonlinearPowerIntegrator which is a mfem::NonlinearFormIntegrator and defines methods to assemble its element vector (function value) and element gradient matrix (jacobian). This is then, along with built in mfem vectors for M Q and D, incorporated into the PolytropeOperator which defines methods for Mult (calculate the residuals of the variational form) and GetGradient (find the jacobian of the system)
2025-04-25 11:41:08 -04:00
e5864ca31e feat(probe): added glvisview helped method to probe namespace 2025-04-25 11:22:13 -04:00
2b3330b4f6 feat(meshIO): added linear rescale capability to meshIO
loaded meshes can be linearly rescaled (so for example a unit sphere can be rescaled to a sphere of any radius)
2025-04-25 11:13:15 -04:00
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