Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
9dfd831
Version bump for devel
Jun 2, 2026
95becff
Added a development code-timing helper
Jul 4, 2026
435565d
Added bods2hdf5
Jul 4, 2026
1710889
Change the executable and source file name to hdf5bods
Jul 4, 2026
bea3f85
Added some OpenMP parallelism for a bit more throughput
Jul 4, 2026
89dcf59
Read exp-style hdf5 input files in Component
Jul 4, 2026
264da15
Give the user a hint if no conversion mode is specified
Jul 4, 2026
eac7302
Potential fix for pull request finding
The9Cat Jul 4, 2026
67ffcd7
Potential fix for pull request finding
The9Cat Jul 4, 2026
8d3dc08
Potential fix for pull request finding
The9Cat Jul 4, 2026
8205360
Potential fix for pull request finding
The9Cat Jul 4, 2026
a4442dd
Potential fix for pull request finding
The9Cat Jul 4, 2026
ac77cb6
Potential fix for pull request finding
The9Cat Jul 4, 2026
d19a40a
Potential fix for pull request finding
The9Cat Jul 4, 2026
c54dda6
Potential fix for pull request finding
The9Cat Jul 4, 2026
608b35d
Potential fix for pull request finding
The9Cat Jul 4, 2026
17f9eac
Potential fix for pull request finding
The9Cat Jul 4, 2026
e5e338a
Potential fix for pull request finding
The9Cat Jul 4, 2026
f5a1536
Potential fix for pull request finding
The9Cat Jul 4, 2026
0382300
Potential fix for pull request finding
The9Cat Jul 4, 2026
6fec121
Potential fix for pull request finding
The9Cat Jul 4, 2026
702a031
Updates for automatic datatype detection
Jul 4, 2026
9b98b99
Potential fix for pull request finding
The9Cat Jul 4, 2026
00fd85f
Potential fix for pull request finding
The9Cat Jul 4, 2026
2fd10ed
Potential fix for pull request finding
The9Cat Jul 4, 2026
42e4f25
Remove unused mismatch flag in hdf5bods verification
Copilot Jul 4, 2026
0930ad6
Potential fix for pull request finding
The9Cat Jul 5, 2026
35a1abd
Verify aux fields in hdf5bods roundtrip check
Copilot Jul 5, 2026
2f3d782
Use integer-safe aux-int diff in verify mode
Copilot Jul 5, 2026
a486ae0
White-space changes only for readability
Jul 5, 2026
b8e26d4
Potential fix for pull request finding
The9Cat Jul 5, 2026
e6db8e3
Potential fix for pull request finding
The9Cat Jul 5, 2026
2700ef8
Fix m-field comment to mass
Copilot Jul 5, 2026
35b3785
Added compression filter selection for testing
Jul 5, 2026
ab9ca77
Merge branch 'InitFromHDF5' of github.com:EXP-code/EXP into InitFromHDF5
Jul 5, 2026
06a3a5a
Add optional HDF5 particle index support
Copilot Jul 5, 2026
fac2cbe
Minor change to option documentation only
Jul 5, 2026
b59afd6
Potential fix for pull request finding
The9Cat Jul 5, 2026
50b3076
Potential fix for pull request finding
The9Cat Jul 5, 2026
aa11000
Potential fix for pull request finding
The9Cat Jul 5, 2026
3823cff
Added some Doxygen documentation to the Component header [no ci]
Jul 5, 2026
c1d573d
Merge branch 'InitFromHDF5' of github.com:EXP-code/EXP into InitFromHDF5
Jul 5, 2026
1f9b797
Looks like garbled merged; fix propsed
Jul 5, 2026
3a090f4
Move precision detection into the dataset reader function
Jul 6, 2026
72c66c3
Potential fix for pull request finding
The9Cat Jul 6, 2026
4df6f29
Potential fix for pull request finding
The9Cat Jul 6, 2026
f18ed1f
docs: update Component.H to reflect per-dataset independent precision…
Copilot Jul 6, 2026
b8e2546
Update header reader to read the whole line rather than use the file …
Jul 6, 2026
7dd3067
Merge branch 'InitFromHDF5' of github.com:EXP-code/EXP into InitFromHDF5
Jul 6, 2026
9ec0a74
Potential fix for pull request finding
The9Cat Jul 6, 2026
96280c2
Potential fix for pull request finding
The9Cat Jul 6, 2026
c92dcad
Potential fix for pull request finding
The9Cat Jul 6, 2026
a956778
Potential fix for pull request finding
The9Cat Jul 6, 2026
01079aa
Some previous reworking during review left these variable undefined
Jul 6, 2026
daec7a3
Add more parameters to cylindrical cache file for better provenance
Jul 7, 2026
336644b
Version bump
Jul 7, 2026
a0e32d7
Potential fix for pull request finding
The9Cat Jul 7, 2026
73af2c3
Merge pull request #225 from EXP-code/moreCacheAttributes
The9Cat Jul 7, 2026
3c46a4d
Version bump
Jul 7, 2026
a1a52b3
Merge branch 'devel' into InitFromHDF5. Fixed version numbers.
Jul 7, 2026
5247c20
Merge pull request #224 from EXP-code/InitFromHDF5
The9Cat Jul 7, 2026
06eb7f2
Fix heap-buffer-overflow in Eigen Map/TensorMap cached pointers
Jul 23, 2026
e6d5e3f
Typo fix in TableData update for new interface
Jul 23, 2026
f87530a
Potential fix for pull request finding
The9Cat Jul 23, 2026
1c6f7b7
Potential fix for pull request finding
The9Cat Jul 23, 2026
c01f44b
Potential fix for pull request finding
The9Cat Jul 23, 2026
0cf6206
Fix TblStruct setCoefs vector type mismatch
Copilot Jul 23, 2026
1bc38a9
Fix cylfld imag index typo in pack_cylfld
Copilot Jul 23, 2026
25c8cc3
Update project version from on main to 7.10.1
The9Cat Jul 27, 2026
d18c81e
Update PROJECT_NUMBER to 7.10.1
The9Cat Jul 27, 2026
9e44de8
Update PROJECT_NUMBER to version 7.10.1
The9Cat Jul 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.25) # Needed for CUDA, MPI, and CTest features

project(
EXP
VERSION "7.10.0"
VERSION "7.10.1"
HOMEPAGE_URL https://github.com/EXP-code/EXP
LANGUAGES C CXX Fortran)

Expand Down
2 changes: 1 addition & 1 deletion doc/exp.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ PROJECT_NAME = EXP
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = 7.10.0
PROJECT_NUMBER = 7.10.1

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Expand Down
2 changes: 1 addition & 1 deletion doc/exp.cfg.breathe
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ PROJECT_NAME = EXP
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = 7.10.0
PROJECT_NUMBER = 7.10.1

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Expand Down
68 changes: 31 additions & 37 deletions expui/BiorthBasis.cc
Original file line number Diff line number Diff line change
Expand Up @@ -513,16 +513,15 @@ namespace BasisClasses
cf->store.resize(ldim*nmax);

// Make the coefficient map
cf->coefs = std::make_shared<CoefClasses::SphStruct::coefType>
(cf->store.data(), ldim, nmax);
cf->initCoefMap(ldim, nmax);

for (int l=0, L0=0, L1=0; l<=lmax; l++) {
for (int m=0; m<=l; m++) {
for (int n=0; n<nmax; n++) {
if (m==0)
(*cf->coefs)(L0, n) = {expcoef(L1, n), 0.0};
cf->getCoefs()(L0, n) = {expcoef(L1, n), 0.0};
else
(*cf->coefs)(L0, n) = {expcoef(L1, n), expcoef(L1+1, n)};
cf->getCoefs()(L0, n) = {expcoef(L1, n), expcoef(L1+1, n)};
}
L0 += 1;
if (m==0) L1 += 1;
Expand All @@ -543,8 +542,8 @@ namespace BasisClasses
{
auto & cf = *dynamic_cast<CoefClasses::SphStruct*>(coef.get());

int rows = (*cf.coefs).rows();
int cols = (*cf.coefs).cols();
int rows = cf.getCoefs().rows();
int cols = cf.getCoefs().cols();
int rexp = (lmax+1)*(lmax+2)/2;
if (rows != rexp or cols != nmax) {
std::ostringstream sout;
Expand Down Expand Up @@ -575,10 +574,10 @@ namespace BasisClasses
for (int m=0; m<=l; m++) {
for (int n=0; n<nmax; n++) {
if (m==0)
expcoef(L1, n) = (*cf->coefs)(L0, n).real();
expcoef(L1, n) = cf->getCoefs()(L0, n).real();
else {
expcoef(L1, n) = (*cf->coefs)(L0, n).real();
expcoef(L1+1, n) = (*cf->coefs)(L0, n).imag();
expcoef(L1, n) = cf->getCoefs()(L0, n).real();
expcoef(L1+1, n) = cf->getCoefs()(L0, n).imag();
}
}
L0 += 1;
Expand Down Expand Up @@ -2266,14 +2265,13 @@ namespace BasisClasses
cf->store.resize((mmax+1)*nmax);

// Create a new instance
cf->coefs = std::make_shared<CoefClasses::CylStruct::coefType>
(cf->store.data(), mmax+1, nmax);
cf->initCoefMap(mmax+1, nmax);

for (int m=0; m<=mmax; m++) {
sl->get_coefs(m, cos1, sin1);

for (int n=0; n<nmax; n++) {
(*cf->coefs)(m, n) = {cos1(n), sin1(n)};
cf->getCoefs()(m, n) = {cos1(n), sin1(n)};
}
}
}
Expand All @@ -2294,7 +2292,7 @@ namespace BasisClasses
coefret = coef;

for (int m=0; m<=mmax; m++) { // Set to zero on m=0 call only--------+
sl->set_coefs(m, (*cf->coefs).row(m).real(), (*cf->coefs).row(m).imag(), m==0);
sl->set_coefs(m, cf->getCoefs().row(m).real(), cf->getCoefs().row(m).imag(), m==0);
}

// Assign center if need be
Expand Down Expand Up @@ -2612,15 +2610,14 @@ namespace BasisClasses
cf->store.resize((mmax+1)*nmax);

// Make the coefficient map
cf->coefs = std::make_shared<CoefClasses::CylStruct::coefType>
(cf->store.data(), mmax+1, nmax);
cf->initCoefMap(mmax+1, nmax);

for (int m=0, m0=0; m<=mmax; m++) {
for (int n=0; n<nmax; n++) {
if (m==0)
(*cf->coefs)(m, n) = {expcoef(m0, n), 0.0};
cf->getCoefs()(m, n) = {expcoef(m0, n), 0.0};
else
(*cf->coefs)(m, n) = {expcoef(m0, n), expcoef(m0+1, n)};
cf->getCoefs()(m, n) = {expcoef(m0, n), expcoef(m0+1, n)};
}
if (m==0) m0 += 1;
else m0 += 2;
Expand All @@ -2638,9 +2635,9 @@ namespace BasisClasses
//
{
auto cc = dynamic_cast<CoefClasses::CylStruct*>(coef.get());
auto cf = cc->coefs;
int rows = cf->rows();
int cols = cf->cols();
auto cf = cc->getCoefs();
int rows = cf.rows();
int cols = cf.cols();
if (rows != mmax+1 or cols != nmax) {
std::ostringstream sout;
sout << "FlatDisk::set_coefs: the basis has (mmax+1, nmax)=("
Expand All @@ -2653,7 +2650,7 @@ namespace BasisClasses
}

CoefClasses::CylStruct* cf = dynamic_cast<CoefClasses::CylStruct*>(coef.get());
auto & cc = *cf->coefs;
auto & cc = cf->getCoefs();

// Set gravitational constant
//
Expand Down Expand Up @@ -3458,15 +3455,14 @@ namespace BasisClasses
cf->store.resize((mmax+1)*nmax);

// Make the coefficient map
cf->coefs = std::make_shared<CoefClasses::CylStruct::coefType>
(cf->store.data(), mmax+1, nmax);
cf->initCoefMap(mmax+1, nmax);

for (int m=0, m0=0; m<=mmax; m++) {
for (int n=0; n<nmax; n++) {
if (m==0)
(*cf->coefs)(m, n) = {expcoef(m0, n), 0.0};
cf->getCoefs()(m, n) = {expcoef(m0, n), 0.0};
else
(*cf->coefs)(m, n) = {expcoef(m0, n), expcoef(m0+1, n)};
cf->getCoefs()(m, n) = {expcoef(m0, n), expcoef(m0+1, n)};
}
if (m==0) m0 += 1;
else m0 += 2;
Expand All @@ -3484,9 +3480,9 @@ namespace BasisClasses
//
{
auto cc = dynamic_cast<CoefClasses::CylStruct*>(coef.get());
auto cf = cc->coefs;
int rows = cf->rows();
int cols = cf->cols();
auto cf = cc->getCoefs();
int rows = cf.rows();
int cols = cf.cols();
if (rows != mmax+1 or cols != nmax) {
std::ostringstream sout;
sout << "CBDisk::set_coefs: the basis has (mmax+1, nmax)=("
Expand All @@ -3499,7 +3495,7 @@ namespace BasisClasses
}

CoefClasses::CylStruct* cf = dynamic_cast<CoefClasses::CylStruct*>(coef.get());
auto & cc = *cf->coefs;
auto & cc = cf->getCoefs();

// Set gravitational constant
//
Expand Down Expand Up @@ -3966,8 +3962,7 @@ namespace BasisClasses
G = cf->getGravConstant();

cf->allocate();

*cf->coefs = expcoef;
cf->setCoefs(expcoef);
}

void Slab::set_coefs(CoefClasses::CoefStrPtr coef)
Expand All @@ -3981,7 +3976,7 @@ namespace BasisClasses
//
{
auto cc = dynamic_cast<CoefClasses::SlabStruct*>(coef.get());
auto d = cc->coefs->dimensions();
auto d = cc->getCoefs().dimensions();
if (d[0] != 2*nmaxx+1 or d[1] != 2*nmaxy+1 or d[2] != nmaxz) {
std::ostringstream sout;
sout << "Slab::set_coefs: the basis has (2*nmaxx+1, 2*nmaxy+1, nmaxz)=("
Expand All @@ -3996,7 +3991,7 @@ namespace BasisClasses
}

auto cf = dynamic_cast<CoefClasses::SlabStruct*>(coef.get());
expcoef = *cf->coefs;
expcoef = cf->getCoefs();

// Set gravitational constant
//
Expand Down Expand Up @@ -4540,8 +4535,7 @@ namespace BasisClasses
G = cf->getGravConstant();

cf->allocate();

*cf->coefs = expcoef;
cf->setCoefs(expcoef);
}

void Cube::set_coefs(CoefClasses::CoefStrPtr coef)
Expand All @@ -4555,7 +4549,7 @@ namespace BasisClasses
//
{
auto cc = dynamic_cast<CoefClasses::CubeStruct*>(coef.get());
auto d = cc->coefs->dimensions();
auto d = cc->getCoefs().dimensions();
if (d[0] != 2*nmaxx+1 or d[1] != 2*nmaxy+1 or d[2] != 2*nmaxz+1) {
std::ostringstream sout;
sout << "Cube::set_coefs: the basis has (2*nmaxx+1, 2*nmaxy+1, 2*nmaxz+1)=("
Expand All @@ -4570,7 +4564,7 @@ namespace BasisClasses
}

auto cf = dynamic_cast<CoefClasses::CubeStruct*>(coef.get());
expcoef = *cf->coefs;
expcoef = cf->getCoefs();

// Set gravitational constant
//
Expand Down
Loading
Loading