Commit Graph

204 Commits

Author SHA1 Message Date
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
7b550d8e93 docs(probe): updated headers 2025-03-19 13:50:21 -04:00
df3cf68e92 docs(src): updated headers 2025-03-19 13:50:01 -04:00
b3581d11ed feat(poly): added full constraint integrator function
not yet debugged
2025-03-19 13:49:21 -04:00
2680502465 feat(macros): added BREAKPOINT() macro to set a breakpoint in code 2025-03-19 13:48:26 -04:00
0ec1b6e751 feat(poly): find all connected elements to central vertex
In order to constrain the central slope we find all the elements connected to the central vertex. The slope will be approximated over these using the finite difference method
2025-03-19 11:15:37 -04:00
b98f6b6ebd feat(poly): started work on penalty term in variational form 2025-03-19 10:09:37 -04:00
f512f10096 test(tests/poly): poly test now uses interpolating function to set mesh radius 2025-03-18 11:19:25 -04:00
afc488abd1 fix(poly): coefficients properly handle chain rule 2025-03-18 11:18:46 -04:00
8dcdf92414 feat(poly): interpolating polynomial to find polytrope surface
Instead of treating the polytrope as a free boundary problem I have defined an interpolating polynominal, accurate to within 0.01 percent over n=[0,5) which is used to set the size of the domain for a given n
2025-03-18 10:15:51 -04:00
ea0ff2a702 Merge remote-tracking branch 'upstream/main' into feature/pointwisePolytrope 2025-03-18 07:35:11 -04:00
18e719fba1 refactor(header): brought auto header changes from main into polytrope branch 2025-03-18 07:21:47 -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
88a45c7d09 test(tests/poly): removed some debugging output from poly test 2025-03-17 11:11:22 -04:00
b4615fc0aa fix(poly): working on solving polytrope 2025-03-14 09:12:40 -04:00
5300fa88a9 pulled from github 2025-03-14 09:11:13 -04:00
e75f9ada09 feat(polyMFEMUtils): changed slope constraint to look at all connected elements 2025-03-14 09:07:51 -04:00
0c2a5e3d9a refactor(polyMFEMUtils): removed unused methods 2025-03-14 08:02:30 -04:00
3597f82ee4 fix(build): brought recent build changes to pointwise polytrope
pointwise polytrope had some issues from the old build system. Fast fowarded it so that it has all the fixes which have been merged into main
2025-03-13 15:11:46 -04:00
663e6fc52c Merge branch 'main' into feature/pointwisePolytrope 2025-03-13 15:08:35 -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
7ea20369b2 fix(opatIO): brought changes from main related to gcc13 compliance 2025-03-07 10:26:45 -05: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
4de0f9d974 feat(meshGeneration): explicitly added core point in mesh generation 2025-03-05 12:56:58 -05:00
3a2bc8e8b2 feat(probe): moved default glvis potions inside probe 2025-03-05 12:56:31 -05:00
59162a1a54 feat(poly): constraint integrator
The NewtonSolver has been subclassed to try to auto enforce the zero boundary central condition by modifying the residual vector and the gradient matrix. This is a work in progress

BREAKING CHANGE:
2025-03-05 12:55:53 -05:00
cd6da7065b refactor(poly/coeff): renamed coefficients to be more descriptive 2025-03-05 12:54:47 -05:00
Aaron Dotter
6255ba5524 adding eos with helmholtz option 2025-03-04 13:52:39 -05:00
77d8cc8e86 feat(probe): default glvis keysets and vector version of glvisView
glVisView function now accepts a keyset to send and has an overloaded version which takes a vector and finite element space instead of just a grid function and mesh
2025-03-03 09:55:24 -05:00
f61c8fae28 fix(poly): working on 3D polytrope
not working yet
2025-03-03 09:54:13 -05:00
6aaa25df4b fix(config): loaded flag and checks added
added check to make sure that config file has been loaded before any config variables are accessed
2025-03-03 09:53:42 -05:00
06226b8623 feat(default-mesh): added a few default meshes 2025-03-03 09:51:43 -05:00
83ee05272c feat(probe): vector overload for glVisView
glVisView can now also be called with a vector and finite element space as opposed to just a grid function and mesh
2025-02-28 09:47:15 -05:00
6416d95260 feat(meshIO): LinearRescale method added
Rescaling a mesh by a linear transformation is a useful option so that we can start with a single "base" mesh and then rescale it to the dimensions needed for our problem. This commit adds the LinearRescale option too meshIO so that a unit sphere can be turned into a sphere of arbitrary radius (as an example).
2025-02-24 16:35:39 -05:00