Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
146 commits
Select commit Hold shift + click to select a range
494c619
Added a Toomre-type disk for deprojection primarily
The9Cat Mar 12, 2026
c7bf5ee
Added an enum and reflector for deprojection disk types and included …
The9Cat Mar 12, 2026
6efc024
Addded a test routine for Abel deprojection; updated EmpCylSL for der…
Mar 13, 2026
22adb60
Missing source driver file
Mar 13, 2026
b12a1f8
Missing test class
Mar 13, 2026
3cf4d6c
Potential fix for pull request finding
The9Cat Mar 13, 2026
a03bbe6
Potential fix for pull request finding
The9Cat Mar 13, 2026
4042544
Potential fix for pull request finding
The9Cat Mar 13, 2026
db0e02d
Potential fix for pull request finding
The9Cat Mar 13, 2026
dfc99f9
Potential fix for pull request finding
The9Cat Mar 13, 2026
2e6fee4
Potential fix for pull request finding
The9Cat Mar 13, 2026
204d43d
Add a test routine from EmpDeproj alone; fix parsing error in testEmp…
Mar 13, 2026
0e82cb6
Updated parsing in BiorthBasis::Cylindrical for deprojection
The9Cat Mar 13, 2026
cb5e150
Potential fix for pull request finding
The9Cat Mar 13, 2026
5f151bc
Potential fix for pull request finding
The9Cat Mar 13, 2026
b761050
Potential fix for pull request finding
The9Cat Mar 13, 2026
25f893d
Potential fix for pull request finding
The9Cat Mar 13, 2026
f9a6ae2
Potential fix for pull request finding
The9Cat Mar 13, 2026
5a66623
Potential fix for pull request finding
The9Cat Mar 13, 2026
4175b1e
Potential fix for pull request finding
The9Cat Mar 13, 2026
31dad72
Potential fix for pull request finding
The9Cat Mar 13, 2026
9c2f36f
Potential fix for pull request finding
The9Cat Mar 13, 2026
22b6493
Use new sech^2 scaling
Mar 13, 2026
84bef8f
Merge branch 'Toomre' of github.com:EXP-code/EXP into Toomre
Mar 13, 2026
9439daa
Python deprojection test routine; add possibility of a separate Pytho…
Mar 13, 2026
1d50ae5
Fix typo in parameter assignment
The9Cat Mar 14, 2026
eb1f9eb
Remove the initial test function; add doc strings to the help stanza …
Mar 14, 2026
6402d49
Only print deprojection info from one node
Mar 14, 2026
5b0aa7d
Merge branch 'devel' into Toomre
The9Cat Mar 14, 2026
c934a79
Potential fix for pull request finding
The9Cat Mar 14, 2026
5a95b50
Potential fix for pull request finding
The9Cat Mar 14, 2026
402dc25
Potential fix for pull request finding
The9Cat Mar 14, 2026
4513d2a
Potential fix for pull request finding
The9Cat Mar 14, 2026
e719f9f
Potential fix for pull request finding
The9Cat Mar 14, 2026
627de49
Potential fix for pull request finding
The9Cat Mar 14, 2026
f5a39b4
Potential fix for pull request finding
The9Cat Mar 14, 2026
b6f5c03
Potential fix for pull request finding
The9Cat Mar 14, 2026
3dcafad
Potential fix for pull request finding
The9Cat Mar 14, 2026
8e5872e
Potential fix for pull request finding
The9Cat Mar 14, 2026
79e0233
Initial plan
Copilot Mar 14, 2026
9c0d024
Fix clang build: change constexpr to const for pi = std::acos(-1.0)
Copilot Mar 14, 2026
5aed459
Merge pull request #209 from EXP-code/copilot/sub-pr-208
The9Cat Mar 14, 2026
45a578f
Potential fix for pull request finding
The9Cat Mar 15, 2026
36120a3
Potential fix for pull request finding
The9Cat Mar 15, 2026
1b1f297
Potential fix for pull request finding
The9Cat Mar 15, 2026
fdb16ed
Potential fix for pull request finding
The9Cat Mar 15, 2026
d240679
Potential fix for pull request finding
The9Cat Mar 15, 2026
18b1455
Accidentally deleted the 'logr' key; restored
Mar 16, 2026
ab91951
Apply suggestions from code review
michael-petersen Mar 23, 2026
446d52b
add version number increment proposal
michael-petersen Mar 23, 2026
cb3c977
erroneous const breaking compile
michael-petersen Mar 23, 2026
0fdaf62
Merge branch 'devel' into Toomre
michael-petersen Mar 23, 2026
ccd4630
Added first implemenation for saving and reading DTYPE and Python md5…
Mar 23, 2026
6acbe73
Added ptype support to the Cylindrical cache
Mar 24, 2026
8dcc0a8
Clean up the unique_ptr using a custom deleter
Mar 24, 2026
9d11213
restore testED binary
michael-petersen Mar 24, 2026
cc7f53e
Added standalone md5 hash code to avoid problems with Mac and Windows…
Mar 24, 2026
11987e5
Added missing md5 hash test code
Mar 24, 2026
fc16ed9
Additional cache failure info for debug
Mar 24, 2026
31925de
Need to define DTYPE before cache check
Mar 24, 2026
f40f1ed
Updates on the n-body side to handle conditioning types
Mar 24, 2026
8f52405
A few minor checks for md5 tests; requires a GNU/Linux system
Mar 24, 2026
f608704
Add more HDF5 diagnostics
Mar 24, 2026
e02eb78
Fix mistake in storing pyname info vector
Mar 24, 2026
8cba2a7
Additional comments [no CI]
Mar 24, 2026
20eb5af
Missing '.py' suffix in md5 file call
Mar 24, 2026
d60f5e3
Identify member function errors in Cylinder [no CI]
Mar 24, 2026
26a896c
Added more diagnostics
Mar 24, 2026
82062e9
More comments and output update with debugging info
Mar 24, 2026
26a85cc
Merge branch 'Toomre' of github.com:EXP-code/EXP into Toomre
Mar 24, 2026
e641cc5
Wrong tag type on read
Mar 24, 2026
b10c2ef
Try to autodeduce the HighFive types for simplicity
Mar 24, 2026
8e6ed66
More nested checking for Cylinder
Mar 24, 2026
e40d6ad
Remove duplicateed DiskType check
Mar 24, 2026
2f874d7
Additional comments only [No CI]
Mar 24, 2026
82de030
Attempted to fix garbled deprojection logic in BiorthBasis and EmpCylSL
Mar 25, 2026
b23224b
Missing case transformation for dmodel
Mar 25, 2026
fe2e667
Additional comments only [no ci]
Mar 25, 2026
567f005
Minor sanity-check logic tweak
Mar 25, 2026
5fc1198
Add defaults for mtype and dtype to Cylinder
Mar 25, 2026
0c49ed0
Deduplicate cache tags, oops
Mar 25, 2026
2ef3aba
Added automatic output of valid EmpModel types
Mar 26, 2026
73a47f6
Added deprojection support to Cylinder
Mar 26, 2026
22e1779
Missing suffixes for Python modules
Mar 27, 2026
1fffa68
Update version number for bug merge from main
Apr 22, 2026
c05e24f
Merge branch 'main' into devel to get missing public headers
May 1, 2026
6672129
Update list of publically installed headers necessary for a Cuda comp…
May 14, 2026
8760ca1
Implement coefficient defined origin by default for getAccel and getF…
May 14, 2026
36bccc8
Comment out downstream change for now
May 14, 2026
c412482
Potential fix for pull request finding
The9Cat May 14, 2026
28885f4
Potential fix for pull request finding
The9Cat May 14, 2026
84318e7
Potential fix for pull request finding
The9Cat May 14, 2026
41f1baa
Potential fix for pull request finding
The9Cat May 14, 2026
f41e050
fix pyexp getAccel docstring typo
Copilot May 14, 2026
fc5a60a
fix remaining getAccel docstring typos
Copilot May 14, 2026
5592209
doc: add ABI-breaking change notes to getFields methods
Copilot May 14, 2026
86337c3
Minor simplyfing updates and improved doctstrings
May 14, 2026
2de3ccd
Fix time varying centering; evaluate() should use (0, 0, 0) as origin
May 15, 2026
7329f3c
Add backward-compatible dispatch in PyBasis trampoline for getFields/…
Copilot May 15, 2026
080818a
Potential fix for pull request finding
The9Cat May 15, 2026
b0f7670
Potential fix for pull request finding
The9Cat May 15, 2026
f91be48
Potential fix for pull request finding
The9Cat May 15, 2026
be7160b
Potential fix for pull request finding
The9Cat May 15, 2026
a368b11
Potential fix for pull request finding
The9Cat May 15, 2026
50ebb05
Potential fix for pull request finding
The9Cat May 15, 2026
d650ae1
Guard Cylindrical::computeAccel against R=0 at coefficient center
Copilot May 15, 2026
83ee34e
Flip defaults to retain previous behavior in 'getFields' calls
May 15, 2026
7ad2ccd
Merge branch 'galaUpdate' of github.com:EXP-code/EXP into galaUpdate
May 15, 2026
161b060
Guard FlatDisk and CBDisk computeAccel against R=0 at coefficient center
Copilot May 15, 2026
d85e94f
Refactor getFields API and add getFieldsOrigin methods
Copilot May 15, 2026
cb7f333
Fix comment typo in BasisFactory dictionary notes
Copilot May 15, 2026
db95d12
Merge pull request #219 from EXP-code/galaUpdate
michael-petersen May 26, 2026
9256441
Initial plan
Copilot May 27, 2026
b4470e1
Apply coefrot in computeAccel implementations
Copilot May 27, 2026
19f61d3
Fix FlatDisk off-grid component order in rotated accel
Copilot May 27, 2026
4160850
Potential fix for pull request finding
The9Cat May 27, 2026
9f7aedb
Potential fix for pull request finding
The9Cat May 28, 2026
9240865
Potential fix for pull request finding
The9Cat May 28, 2026
407afbf
Merge branch 'devel' into copilot/wip-address-feedback-apply-coeffici…
michael-petersen May 28, 2026
a935940
Fix Cube::computeAccel redeclaration from coefficient rotation change
Copilot May 28, 2026
c967fca
Use 'subsamp' as a proxy for 'samplesz' and deprecate 'subsamp' with …
May 28, 2026
a347a3b
Potential fix for pull request finding
The9Cat May 28, 2026
bb96362
Potential fix for pull request finding
The9Cat May 28, 2026
219ac1a
Potential fix for pull request finding
The9Cat May 28, 2026
43c919f
Potential fix for pull request finding
The9Cat May 28, 2026
3f1bd24
Potential fix for pull request finding
The9Cat May 28, 2026
20e3ec2
Fix Cube valid_keys entries for samplesz suggestion
Copilot May 28, 2026
5cffe13
chore: finalize targeted review-comment handling
Copilot May 28, 2026
3aa536b
Merge pull request #221 from EXP-code/copilot/wip-address-feedback-ap…
michael-petersen May 29, 2026
be2cd3a
remove some build files along for the ride
michael-petersen May 29, 2026
13be92a
Merge pull request #208 from EXP-code/Toomre
michael-petersen May 29, 2026
ad182a3
Merge branch 'devel' into covarianceParameterConfusion
michael-petersen May 29, 2026
f8e8c48
Add explicit version number to deprecation warning
May 29, 2026
3b07ea6
Potential fix for pull request finding
The9Cat May 29, 2026
5e753a5
Potential fix for pull request finding
The9Cat May 29, 2026
eb52943
Potential fix for pull request finding
The9Cat May 29, 2026
2452b03
Potential fix for pull request finding
The9Cat May 29, 2026
9b56ca1
Potential fix for pull request finding
The9Cat May 29, 2026
2b21274
Potential fix for pull request finding
The9Cat May 29, 2026
256a55c
Potential fix for pull request finding
The9Cat May 29, 2026
cb83303
Merge pull request #222 from EXP-code/covarianceParameterConfusion
The9Cat May 29, 2026
6485d51
Add missing global key
May 29, 2026
0f837d1
Potential fix for pull request finding
The9Cat May 29, 2026
761f303
Merge pull request #223 from EXP-code/missingGlobalKey
michael-petersen May 29, 2026
1a780bc
reset bug counter at minor version to 0
michael-petersen May 29, 2026
a8a97d2
Merge branch 'devel' of github.com:EXP-code/EXP into devel
michael-petersen May 29, 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
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,6 @@
[submodule "extern/HighFive"]
path = extern/HighFive
url = https://github.com/BlueBrain/HighFive.git
[submodule "extern/QuickDigest5"]
path = extern/QuickDigest5
url = https://github.com/nthnn/QuickDigest5.git
3 changes: 2 additions & 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.9.3"
VERSION "7.10.0"
HOMEPAGE_URL https://github.com/EXP-code/EXP
LANGUAGES C CXX Fortran)

Expand Down Expand Up @@ -259,6 +259,7 @@ execute_process(

include_directories(${PROJECT_SOURCE_DIR}/extern/yaml-cpp/include)
include_directories(${PROJECT_SOURCE_DIR}/extern/pybind11/include)
include_directories(${PROJECT_SOURCE_DIR}/extern/QuickDigest5/include)

# Report to the user
message("Configuring build for ${GIT_BRANCH}/${GIT_COMMIT} at ${COMPILE_TIME}")
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.9.3
PROJECT_NUMBER = 7.10.0

# 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.9.3
PROJECT_NUMBER = 7.10.0

# 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
16 changes: 13 additions & 3 deletions expui/BasisFactory.H
Original file line number Diff line number Diff line change
Expand Up @@ -196,15 +196,25 @@ namespace BasisClasses
operator()(double x1, double x2, double x3,
const Coord ctype=Coord::Spherical);

//! Evaluate fields at a point
//! Evaluate fields at a point in the expansion-origin frame
virtual std::vector<double> getFields(double x, double y, double z);

//! Evaluate fields at a point in the coefficient-origin frame
virtual std::vector<double> getFieldsOrigin(double x, double y, double z);

//! Evaluate fields at a point for all coefficients sets
//! Evaluate fields at a point for all coefficients sets in the
//! expansion-origin frame
virtual std::tuple<std::map<std::string, Eigen::VectorXd>,
Eigen::VectorXd> getFieldsCoefs
(double x, double y, double z, std::shared_ptr<CoefClasses::Coefs> coefs);

//! Evaluate fields at a point for all coefficients sets in the
//! coefficient-origin frame
virtual std::tuple<std::map<std::string, Eigen::VectorXd>,
Eigen::VectorXd> getFieldsCoefsOrigin
(double x, double y, double z, std::shared_ptr<CoefClasses::Coefs> coefs);

//! Evaluate fields at a point, and provide field lables
//! Evaluate fields at a point, and provide field labels
virtual std::tuple<std::vector<double>, std::vector<std::string>>
evaluate(double x, double y, double z)
{ return {getFields(x, y, z), getFieldLabels(coordinates)}; }
Expand Down
46 changes: 44 additions & 2 deletions expui/BasisFactory.cc
Original file line number Diff line number Diff line change
Expand Up @@ -229,15 +229,20 @@ namespace BasisClasses
}

std::vector<double> Basis::getFields(double x, double y, double z)
{ return crt_eval(x, y, z); }

std::vector<double> Basis::getFieldsOrigin(double x, double y, double z)
{
return crt_eval(x, y, z);
Eigen::Vector3d p(x, y, z);
p = coefrot * (p - coefctr);
return crt_eval(p(0), p(1), p(2));
}

std::tuple<std::map<std::string, Eigen::VectorXd>, Eigen::VectorXd>
Basis::getFieldsCoefs
(double x, double y, double z, std::shared_ptr<CoefClasses::Coefs> coefs)
{
// Python dictonary for return
// Python dictionary for return
std::map<std::string, Eigen::VectorXd> ret;

// Times for the coefficients
Expand All @@ -249,9 +254,46 @@ namespace BasisClasses

// Make the return dictionary of arrays
for (int i=0; i<times.size(); i++) {
// Load the coefficients for the current time
set_coefs(coefs->getCoefStruct(times[i]));

// The field evaluation
auto v = crt_eval(x, y, z);

// Pack the fields into the dictionary
for (int j=0; j<fields.size(); j++) ret[fields[j]][i] = v[j];
}

// An attempt at an efficient return type for the time array
Eigen::VectorXd T =
Eigen::Map<Eigen::VectorXd, Eigen::Unaligned>(times.data(), times.size());

// Return the dictionary and the time array
return {ret, T};
}

std::tuple<std::map<std::string, Eigen::VectorXd>, Eigen::VectorXd>
Basis::getFieldsCoefsOrigin
(double x, double y, double z, std::shared_ptr<CoefClasses::Coefs> coefs)
{
// Python dictionary for return
std::map<std::string, Eigen::VectorXd> ret;

// Times for the coefficients
auto times = coefs->Times();

// Initialize the dictionary/map
auto fields = getFieldLabels(coordinates);
for (auto s : fields) ret[s].resize(times.size());

// Make the return dictionary of arrays
for (int i=0; i<times.size(); i++) {
// Load the coefficients for the current time
set_coefs(coefs->getCoefStruct(times[i]));

// The field evaluation
auto v = getFieldsOrigin(x, y, z);

// Pack the fields into the dictionary
for (int j=0; j<fields.size(); j++) ret[fields[j]][i] = v[j];
}
Expand Down
21 changes: 18 additions & 3 deletions expui/BiorthBasis.H
Original file line number Diff line number Diff line change
Expand Up @@ -1009,11 +1009,12 @@ namespace BasisClasses
//! Basis construction parameters
double aratio, hratio, dweight, rwidth, ashift, rfactor, rtrunc, ppow, Mfac, HERNA;
bool Ignore, deproject;
std::string pyname;
std::string pyname, pyproj;

//! DiskType support
//
enum DiskType { constant, gaussian, mn, exponential, doubleexpon, diskbulge, python };
//!
enum class DiskType
{ constant, gaussian, mn, exponential, doubleexpon, diskbulge, python };
DiskType DTYPE;
std::string mtype, dtype, dmodel;

Expand All @@ -1022,6 +1023,20 @@ namespace BasisClasses
double dcond(double R, double z, double phi, int M);
std::shared_ptr<DiskDensityFunc> pyDens;

//@{
//! DeprojType support

//! Disk models used for deprojection
enum class DeprojType
{ mn, toomre, python, exponential};

//! Current model
DeprojType PTYPE;

//! Look up by string
static const std::map<std::string, DeprojType> dplookup;
//@}

protected:

//! Evaluate basis in spherical coordinates
Expand Down
Loading
Loading