Commit Graph

332 Commits

Author SHA1 Message Date
b9e639a382 Merge pull request #17 from tboudreaux/feature/logging
Added Probe Module
2025-02-23 11:41:05 -05:00
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
fd4964511a refactor(.gitignore): added quill dir to gitignore 2025-02-23 11:27:23 -05:00
411a767dc4 feat(probe): added probe namespace
Probe handles LogManager (for tracking multiple log files) as well as a few utility functions such as wait, pause, glVisView, and rayView (future)
2025-02-23 11:26:41 -05:00
17fea1e046 build(quill): added quill config to build-config 2025-02-23 11:25:39 -05:00
c25b0ff38d build(quill): added quill as a subproject
quill provides a robust and very efficient asyncronous and thread safe logging module. I have brought this in to handle logging
2025-02-23 11:25:11 -05:00
eb0b274e2b test(tests/probe): added probe tests 2025-02-23 11:22:08 -05:00
6f61f5be1e docs(.gitignore): added .log to gitignore 2025-02-23 10:43:34 -05:00
7dee9ca39d Merge branch 'main' into feature/logging
Restore deleted config code so that tests can compile correctly
2025-02-21 10:40:39 -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
98ead4f06c build(probe): updated build system to include probe and probe tests 2025-02-21 10:31:57 -05:00
c049e3d91c test(tests/probe): logging module test suite started 2025-02-21 10:31:24 -05:00
95f943b45a feat(probe): probe logging module first implimentation 2025-02-21 10:30:59 -05:00
9925f56e34 fix(poly): polytrope converges to solution
first commit where the polytrope module converges to a solution. I have not yet validated if it is a correct solution
2025-02-20 16:05:02 -05:00
776174c093 refactor(macros): added macros class
macros provides a unified place to define macros which can be accessed at other points in the code. I defined a DEPRICATION_WARNING_OFF macro so we can disable those warnings for times when we cannot control them
2025-02-20 16:04:05 -05:00
ff299f8ce7 fix(poly): changed lambda from fespace to scalar
previously I had a lagrangian multipliers at every element; however, we are enforcing a global constraint so there need only be one lagrangian multiplier
2025-02-20 15:36:46 -05:00
a0811dc0c4 test(tests/poly): poly solver test
added test for the polytropic solver (which is also being used to validate and confirm it works)
2025-02-20 15:28:30 -05:00
1fd1e624f2 feat(poly): lagrangian constrained weak form of 3D lane-Emden
added a basic implimentation of the 3D lane emden equation using a lagrangian multiplier to constrain the value at the center of a spherical domain
2025-02-20 15:28:00 -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
deab5be0c1 refactor(.gitignore): fast forward gitignore 2025-02-20 10:57:05 -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
054550393f test(tests/poly): added very basic polytrope test suite
Currently only tests default constructor
2025-02-19 14:36:22 -05:00
b939fd68fa feat(poly): added first pass implimentation of 3D constrained lane-emden solver
This has not currently been tested and this commit should not be viewed as scientifically complete
2025-02-19 14:35:15 -05:00
98162d002e build(src/meson.build): added poly module to build system 2025-02-19 14:34:31 -05:00
4979475a98 build(meshIO): defined meshio_ dependency
libraries which need mesh_io can now use meshio_dep which will automatically link and include headers for meshIO
2025-02-19 14:33:28 -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