Commit Graph

49 Commits

Author SHA1 Message Date
cd32394d37 fix(helm.cpp): exp10(x) changed to pow(10, x)
epx10 is a extension to the c++ standard library from glibc which is not in libc. To provide support for llvm compilers alonw with gcc I have changed all calls to exp10(x) to pow(10, x).
2025-03-13 14:08:21 -04:00
bb0ec4d341 fix(opatIO): added cstdint header
gcc versions 11 and before did not require this header to be manually specified, above that it does. As we move towrds a standardized compiler version I have brought opatIO in line with more modern gcc expectations
2025-03-07 10:17:45 -05:00
Aaron Dotter
da7f5e5022 adding more quantities to the eos test, including derivatives 2025-03-06 14:36:07 -05:00
38db2ca586 build(meson.build): added eos to build 2025-03-05 16:59:38 -05:00
154004c8ca feat(eos): added helmholtz eos as module
Aaron Dotter implimented a C++ version of Frank Timmes' fortran code helmholtz.f90. I have taken that and refactored it to work in the 4DSEE code style. This has mostly involved some light moving of stuff around. The biggest change is removing all globals, and reorienting memory to be heap allocated and contiguous. This is because there was too much memory being stack allocated.
2025-03-05 16:59:04 -05:00
e43caf3027 fix(const): added set header 2025-03-05 16:57:22 -05:00
08efc99688 build(const_data_dep): updated const header dep to be called const_data_dep 2025-03-05 16:56:51 -05:00
eb0a13a804 build(const): added const_dep 2025-03-05 16:56:28 -05:00
Aaron Dotter
6255ba5524 adding eos with helmholtz option 2025-03-04 13:52:39 -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
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
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
d090ddaabe feat(dobj/LockableDObject): added thread safe implimentation of DObject
In order to build a preformant code code base we may want to make parallized code in which case having a lockable DObject is a useful construct
2025-01-19 11:53:45 -05:00
7d6062b6c1 build(root): added initial meson build system implimentation and mk script
we will use meson as the build system for this project. Added a rough outline of this which builds source, libraries, and links them to tests (along with the google test library for testing). meson will be setup and compiled with ./mk.
2025-01-19 07:38:58 -05:00
17f622fec1 feat(src/dobj): initial metadata class implimentation for dobj added
The dobj class will need to hold metadata about its constituent data. The metadata class provides this.
2025-01-19 07:36:12 -05:00
be7096124f feat(mapping): added base directoriy structure for mapping module
the mapping module needs to be implimented in order to impliment discritization which is a prerequisite for any furtherr development. This commit sets up the basic directory structure without including any actual code.
2025-01-16 09:18:06 +01:00