Commit Graph

247 Commits

Author SHA1 Message Date
7df3481ff4 refactor(python/composition): updated python comp bindings to use register model 2025-05-05 12:00:40 -04:00
6bcd9d2e69 build(build-python): added sources for const and global module
build-python meson.build includes (and must include) all relevant source
2025-05-05 12:00:08 -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
cf00cc0240 Merge pull request #45 from tboudreaux/feature/pythonInterface/composition
Python Interface for composition module
2025-04-30 11:57:23 -04:00
ebcd605bf8 test(composition_sandbox): removed config loaded since not needed
note that this will break (throw runtime errors) the sandbox if it is compiled in a build directory which has had -Dconfig_error_handling=harsh set
2025-04-30 11:49:50 -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
9ed4e6f328 Merge pull request #43 from tboudreaux/feature/polytropeOperator
Feature/polytrope operator
2025-04-25 11:57:34 -04:00
4503ae9906 docs(lane-emden-variation-form-derivation): added derivation write up 2025-04-25 11:41:59 -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
a2a003efcb Merge pull request #41 from tboudreaux/feature/meshGeneration
Feature/mesh generation
2025-04-25 11:22:27 -04:00
e5864ca31e feat(probe): added glvisview helped method to probe namespace 2025-04-25 11:22:13 -04:00
a3c9983d0c feat(meshView): added basic mesh view utility 2025-04-25 11:21:16 -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
9a76c447f1 feat(meshGeneration): added mesh generation scripts and three res of spherical mesh 2025-04-25 11:12:40 -04:00
cac22ab847 Merge pull request #38 from tboudreaux/fix/opatcoremodulename
fix(resource-manager): fixed old style calls to opat-core
2025-04-25 10:41:30 -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
1d49569182 Merge pull request #35 from tboudreaux/feature/composition
Added composition module
2025-03-26 11:14:17 -04:00
74766fa97a Merge pull request #36 from tboudreaux/fix/defaultConfig
fixed quotes around strings and improper floating point parsing
2025-03-26 10:59:24 -04:00
30990ba868 fix(generateDefaultConfig.py): fixed quotes around strings and improper floating point parsing 2025-03-26 10:56:22 -04:00
adca88c8da build(mfem.wrap): bumped mfem version to 4.8-rc0 2025-03-26 10:38:16 -04:00
40969d64ba fix(mfem.wrap): pinned mfem version to 4.7 and set clone depth to 1 2025-03-26 10:19:17 -04:00
7193d3a6ac test(tests): fixed broken tests 2025-03-26 10:06:10 -04:00
9395b52089 ci(build-and-test): updated workflow to work with new mk script 2025-03-26 09:35:06 -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
941af6331b test(composition_sandbox): added some sandbox tests 2025-03-25 12:49:52 -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
fe48384339 feat(atomicSpecies.h): regenerated with copy constructor 2025-03-25 12:48:09 -04:00
c753a4ea15 feat(convertWeightsToHeader): added copy constructor
added copy constructor to generated Species object in generated header
2025-03-25 12:47:46 -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
ed443c0aa2 test(tests/composition): added composition tests, atomicSpecies tests, and sandbox 2025-03-24 12:59:17 -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
9d827f6fa5 refactor(assets): removed redundant assets 2025-03-24 10:40:40 -04:00
d3d9f98d98 feat(atomic-weights): added AME2020 atomic masses 2025-03-24 10:40:13 -04:00
9b07b80dad feat(convertWeightToHeader): added python script to generate c++ header for isotope weights 2025-03-24 10:39:05 -04:00
8d3db04469 fix(picosha2_dep): moved picosha2_dep managment to opat-core subproject 2025-03-24 05:06:40 -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
001ddbf055 Merge pull request #34 from tboudreaux/fix/opatIndexError
Fix floating point round off error when looking up tables by composition
2025-03-22 14:30:09 -04:00
f3e79d9366 feat(opatIO_sandbox): added opatIO sandbox for freeform testing 2025-03-22 14:26:31 -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
758ddbc64b Merge pull request #33 from tboudreaux/fix/opatIndexError
fix(opatio): fixed global numTables
2025-03-22 07:19:18 -04:00