Commit Graph

329 Commits

Author SHA1 Message Date
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
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