Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/spherical sph #55

Merged
merged 117 commits into from
Sep 24, 2021
Merged

Feature/spherical sph #55

merged 117 commits into from
Sep 24, 2021

Conversation

jmikeowen
Copy link
Collaborator

No description provided.

than our home rolled interpolator.  Not good enough.
simple-minded parabolic interpolator, so starting to switch back to
that.  In progress.
TableKernels again. The boost ones are nice, but this is 2x-3x faster.
parabola, it should always be good to roundoff.
BiQuadraticInterpoolator (not done).
interpolator, since there should be no cubic terms.  Also extended testing.

This reverts commit 9b71e9d.
@jmikeowen jmikeowen marked this pull request as ready for review September 13, 2021 22:32
@jmikeowen
Copy link
Collaborator Author

This merge brings up infrastructure developed to support the spherical (and eventually cylindrical) symmetry kernel formalism. The spherical kernel is pretty much working now, but the corresponding spherical SPH is not yet. I'm bringing this branch up to develop now because the infrastructure developed here (particularly the quadratic and bi-quadratic interpolators) are more generally useful (and needed for other work such as improving our ANEOS implementation.

This merge also brings updates to 3 third party libs (boost, Py11Generator, and some PIP modules). I've confirmed these are all working building stand alone, as well as updated the pre-installed TPLs for the GCC versions on LC machines.

double kernelValue(double etaMagnitude, double Hdet) const;
double gradValue(double etaMagnitude, double Hdet) const;
double grad2Value(double etaMagnitude, double Hdet) const;
double kernelValue(double etaMagnitude, const double Hdet) const;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there some reason why Hdet is const and not etaMagnitude? Is etaMagnitude changed in some of the routines?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Offhand I think no particular reason. We could make the etaMagnitude constant as well. Is that a change you'd like to see?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It doesn't matter that it happens now, but it would be nice to keep things consistent between TableKernel, SphericalTableKernel, and Kernel.

//------------------------------------------------------------------------------
// GeometryRegistrar
//
// A singleton class for maintaining global information about the type of
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might be worth considering certain things on Geometry rather than Dimension later on. That might cut down on duplicate code between Cartesian/Cylindrical/Spherical geometry as you could specialize things like kernel normalization, integration, etc. while keeping a lot of the machinery the same between them.

@jmikeowen jmikeowen merged commit 2e574c7 into develop Sep 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants