83213f961b
feat(probe): functions to get solution along ray and view solution with GLVis
2025-02-24 12:39:48 -05:00
c2729f63f5
feat(meshIO): increased default mesh refinment level
2025-02-24 12:39:21 -05:00
dfb65c1082
refactor(sphere.msh): increased base resolution of spherical mesh
2025-02-24 12:38:47 -05:00
ce299ebfe1
feat(probe): added getRadius and start of ray cast solution
2025-02-23 14:11:50 -05:00
d8789bd343
feat(polySolver): getters for polySolver
2025-02-23 14:11:18 -05:00
205f32a76f
fix(build-system): fixed build system order and test env variables
2025-02-23 11:57:59 -05:00
2d67413321
merged main into feature/polytrope
2025-02-23 11:47:29 -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
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
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
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
e54a5be967
docs(config): rebuild docs and removed redundant documentation
2025-02-20 09:45:47 -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
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
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
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
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
189a4f5f0b
feat(resource/mesh): added base unit sphere mesh
2025-02-16 14:04:16 -05:00
1f7cb1033d
Merge branch 'feature/polytrope' into feature/meshing
2025-02-16 13:18:11 -05:00
0d5406aeee
docs(opatIO): wrote and built doxygen docs
2025-02-16 12:29:51 -05:00
5345b4c801
fix(opatIO): fixed header packing bug
2025-02-16 12:15:11 -05:00
96da85d028
feat(opatIO): added printTable method
...
tables can now be printed with clear truncation rules
2025-02-15 12:45:43 -05:00
3fc2651730
feat(opatIO): added min viable version of opatIO
...
opatIO can now read tables properly and retreive them in a useful manner. Future aditions will be the ability to lookup "closest" tables and a pretty printer for tables.
2025-02-15 07:27:47 -05:00
eda61c6889
build(opatIO): added opatIO to build
2025-02-14 14:32:05 -05:00
cffec2f8d6
feat(opatIO): opat fileformat addedd
2025-02-14 14:30:56 -05:00
7330fb9906
feat(poly): initial build system for polytrope
2025-02-14 10:50:07 -05:00
f4be5b3733
feat(poly): added skeleton of polytrope model
...
the polytrope module will be used as an initial guess to the solver. A skeleton of this has been imported from https://github.com/tboudreaux/FEMPolytrope
This module will need major updates still to handle 3D, proper boundary conditions, and to incorporate it with the rest of our meshing scheme
2025-02-12 16:44:10 -05:00
18ce7bf6de
perf(const): const changed to a singelton
...
const needds to be accessed all throughout so it has been changed to a singleton to allow for more efficient usage
BREAKING CHANGE: Any previous loads to const will break, also constant->Constant and constants->Constants
2025-02-12 12:53:50 -05:00
4227eacd5b
feat(const): updated const to be truly immutable
2025-02-12 11:16:40 -05:00
bbd3fcc3a3
fix(const.dat): removed extra space from eta unit line
...
eta (liminous efficacy) was overflowing its unit line causing errors when parsing the uncertainty. Removed extra space to contain it within the proper column width
2025-02-12 10:39:34 -05:00
98f4474786
feat(const): added << operator to constant so that constants
...
also added tests for the stream operator
2025-02-12 10:38:22 -05:00
f1124f1a09
build(const): added build system for const module and tests
2025-02-11 18:06:14 -05:00
795ee2e3bf
feat(const): added constants class
...
constants class can parse and get physical constants from datafile including value, unit, uncertainity, and reference
2025-02-11 18:02:07 -05:00
078269fb4a
feat(const.h): added basic interface definition for constants module
2025-02-10 16:47:58 -05:00
0b4993c2b7
refactor(const.dat): removed old const.dat
2025-02-10 16:36:37 -05:00
ec8d92072a
feat(const.dat): added CODATA 2022 and IAU 2015 physical constants
2025-02-10 16:25:23 -05:00
c304d002bb
feat(dobj): added error tracking to DObject
...
DObject now includes an error code so that errors can be tracked with return values from functions
2025-02-04 12:55:49 -05:00
62bb4608d1
feat(opac): began module public interface definition
2025-02-04 12:45:41 -05:00
5776819267
docs(DObject.h): usage examples added to DObject.h
2025-01-22 11:31:21 -05:00
3b9cd3726d
fix(Metadata): byteSize_ changed from std::size_t to int to avoid implicit type conversion
2025-01-22 06:50:02 -05:00
eabf0d62cf
feat(DObject): added stream operator and more friendly type managment
...
Now getDataAs can be called to auto cast the data to a particular type
2025-01-20 07:49:01 -05:00
065d5519fb
build(meson.build): updates src build to seperate module meson files
2025-01-19 12:27:39 -05:00