Commit Graph

111 Commits

Author SHA1 Message Date
70f2156adb Merge pull request #16 from tboudreaux/feature/defaultConfig
Added default config generation script
2025-02-23 11:32:10 -05:00
109326f339 feat(defaultConfig): added default config generation script
While writing 4DSSE we want a way to keep track of what defaults have been set for config files, and validate that we are using the same config variables where we want to. This python script generates a "default" yaml file based on the default values given in .get<T>
2025-02-23 11:29:16 -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
31bc77159b ci(github-actions): updated meson version 2025-02-20 11:12:42 -05:00
85cd0a597b ci(github-actions): updated static library path 2025-02-20 11:09:32 -05:00
38901b619f ci(github-actions): updated path to google tests install dir on ubuntu 2025-02-20 11:07:23 -05:00
24e1fbf8c2 ci(github-actions): removed fedorah, arch, and macOS from targets
will add them back in latter
2025-02-20 11:03:01 -05:00
7d540311cf ci(github-actions): updated action to install meson 2025-02-20 11:01:03 -05:00
e54a5be967 docs(config): rebuild docs and removed redundant documentation 2025-02-20 09:45:47 -05:00
796d8a9021 Merge pull request #15 from tboudreaux/performance/configCache
Added Cache to Config Class
2025-02-20 09:39:27 -05:00
b94ed435e1 fix(tests/config): fixed unknownKeyTest name
unknownKeyTest was named incorrectly
2025-02-20 09:32:20 -05:00
16cdf9ac32 test(tests/config): tests updated to deal with cache 2025-02-20 09:31:03 -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
47b833e0d2 docs(docs): rebuilt docs 2025-02-19 16:24:41 -05:00
fac54201ff Merge pull request #14 from tboudreaux/feature/config
Added Config module
2025-02-19 16:21:39 -05:00
8bf62b68d0 test(tests/config): config tests added 2025-02-19 16:12:23 -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
53fc943129 build(yaml-cpp): added yaml-cpp as a dependency
config files will be written in yaml, added a well tested yaml parser to 4DSSE
2025-02-19 14:50:44 -05:00
096d9b278c Merge pull request #13 from tboudreaux/feature/opatOPALII
Updated OPAT file format and handlers to work for OPAL type I or type II opacity files
2025-02-17 13:07:55 -05:00
dc796be7bf feat(utils/opatio): updated hash generation to only look at logKappa 2025-02-17 13:02:18 -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
f44a07bac3 build(meson.build): updated to build PicoSHA2 2025-02-17 12:59:16 -05:00
f973fec061 build(mk): added debug symbols when building with tests 2025-02-17 12:58:51 -05:00
9ae69d82fc test(tests/opatIO): updated tests for index vector based search
previously tests used X and Z. Nw they use a general index vector
2025-02-17 12:58:08 -05:00
33d269c411 feat(subprojects/PicoSHA2): added picosha subproject to compute checksums 2025-02-17 12:57:03 -05:00
131161e1bd feat(utils/opatio): updated save to ascii function and fixed minor bug in loader
the new general purpose index design introduced a bug in the loader related to the byte position of the byteStart field. This has been resolved. Further, I have updated the save to ascii format to provide an explicit warning that the ascii version is only for debugging purposes and not meant to be used directly.
2025-02-16 20:44:45 -05:00
4ac9340804 docs(specs/opat): updated opat spec for general indexing
OPAL type II tables use a 4 vector for composition, while many other opacity tables use a 2 vector of composition to index tables. In an attempt to be as general as possible I have updated the OPAT specification to allow for tables indexed by a vector of any length [1, 255]. This should allow a single spec to be used when storeing and accessing type I or type II tables.

BREAKING CHANGE: Careful thought will have to be given to how the C++ module handles this. We want the same code to work for querying data from any kind of opaticy table
2025-02-16 20:43:07 -05:00
c4cd731520 feat(utils/opatio): began update to account for OPAL type II tables (or generally an arbitrary number of index values per table) 2025-02-16 19:03:41 -05:00
9a302fd5d3 Merge pull request #12 from tboudreaux/feature/meshing
Added base MeshIO class and MFEM in tree building
2025-02-16 15:26:51 -05:00
4158c893d4 docs(tests/meshIO): added comments to meshIO tests 2025-02-16 15:20:24 -05:00
2f753c6ea0 test(tests/meshIO): added basic test suite for meshIO
just tests the constuctor, getMesh, and isLoaded method. This confirms that a basic spherical mesh can be loaded in correctly
2025-02-16 15:10:13 -05:00
a727eca14c docs(meson.build): updated build system docs 2025-02-16 15:09:22 -05:00
ea037cf996 feat(meshIO): added basic mesh reading implimentation
also added basic unit sphere mesh file which can be rescaled
2025-02-16 15:08:33 -05:00
1713f6cb08 fix(utils/meshGeneration): changed mesh format to gmsh 2.2
meshio writes vtk version 9 but mfem only supports up to version 4, so we changed to gmsh version 2.2 which is supported
2025-02-16 15:07:20 -05:00
41da26cd81 docs(readme): updated readme 2025-02-16 14:33:31 -05:00
189a4f5f0b feat(resource/mesh): added base unit sphere mesh 2025-02-16 14:04:16 -05:00
08f810448c fix(meshGeneration): changed file extension to vtk and 3D 2025-02-16 13:53:19 -05:00
64e6a745d0 fix(meshGeneration): changed from netgen to vtk as that format is better supported 2025-02-16 13:45:06 -05:00
490831d898 feat(meshGeneration): simple spherical mesh generation script 2025-02-16 13:35:09 -05:00
1f7cb1033d Merge branch 'feature/polytrope' into feature/meshing 2025-02-16 13:18:11 -05:00
02c2096ac5 refactor(utils/opatio): saved 2025-02-16 12:54:20 -05:00
c68d36fb55 Merge pull request #11 from tboudreaux/docs/opatio
aded docs to utils/opatio python module
2025-02-16 12:49:53 -05:00
fde561cdef docs(utils/opatio): added doxygen comments to python module 2025-02-16 12:47:42 -05:00
11b3811382 docs(opatio-docs): rebuilt docs 2025-02-16 12:47:17 -05:00
0d5406aeee docs(opatIO): wrote and built doxygen docs 2025-02-16 12:29:51 -05:00
5ce365d545 Merge pull request #10 from tboudreaux/spec/OPAT 2025-02-16 12:20:19 -05:00
3b34ce3979 feat(utils/opatio): added print to ascii 2025-02-16 12:16:20 -05:00
5345b4c801 fix(opatIO): fixed header packing bug 2025-02-16 12:15:11 -05:00
ba98ff5b34 test(opatIO/tests): updated test file to be written by utils/opatio 2025-02-16 12:14:41 -05:00