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.
This commit is contained in:
2025-03-05 16:59:04 -05:00
parent e43caf3027
commit 154004c8ca
4 changed files with 1205 additions and 865 deletions

23
src/eos/meson.build Normal file
View File

@@ -0,0 +1,23 @@
# Define the library
eos_sources = files(
'private/helm.cpp',
)
eos_headers = files(
'public/helm.h'
)
# Define the libconst library so it can be linked against by other parts of the build system
libeos = static_library('eos',
eos_sources,
include_directories: include_directories('public'),
cpp_args: ['-fvisibility=default'],
dependencies: [const_dep, quill_dep, probe_dep, config_dep, mfem_dep],
install : true)
eos_dep = declare_dependency(
include_directories: include_directories('public'),
link_with: libeos,
)
# Make headers accessible
install_headers(eos_headers, subdir : '4DSSE/eos')