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