-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Draft: implement super-ellipsoid particle shapes for use in granular simulations #4008
base: develop
Are you sure you want to change the base?
Draft: implement super-ellipsoid particle shapes for use in granular simulations #4008
Conversation
…oid. add function to set blockiness and modify set_shape function to include circumscribed radius. Also add function to compute volume of the super ellipsoid but this does not compile because std::beta is not recognized. We need a way to compute the beta function, either from existing library or by implementing it ourselves, e.g., in math_special, TODO
d4a6803
to
18bb905
Compare
Hello, I'm running into an obstacle I'd like your insight about. The volume and moments of inertia of the super-ellipsoid are defined in terms of the Beta function. The STL special functions are implementation-dependent and
Would a similar check for Thank you |
modify std::beta to tr1::std::beta (forgotten in previous commit)
As far as I can tell |
For the wrapper function, do I understand correctly that I would need to write a copy of an existing implementation, e.g., the way |
@jibril-b-coulibaly seeing some compile errors with this PR:
|
reading blockiness parameters is made optional for backward compatibility.
…tation. This is necessary for C++11 compatibility since std::beta() is C++17 Implementation is modified/simplified assuming strictly positive arguments (always the case for super-ellipsoid calculations involving Beta)
…1 if block is called before shape. Explain that default behavior in the doc. add example and line about atom-style variable for shape and block
…arguments optional to keep existing calls as is
…mistakes. Did not change INTEL and GPU functions yet because of different, special syntax.
… at every step. Add moments of inertia calculation to set_shape, set_block and set_density for ellipsoids Move volume calculation to MathExtra
365ea89
to
3ffe78c
Compare
Summary
This PR allows super-ellipsoid particle shapes and, contact detection and force calculation for granular simulations.
Related Issue(s)
follow-up #3999
Author(s)
Jibril B. Coulibaly (Sandia National Laboratories)
Licensing
By submitting this pull request, I agree, that my contribution will be included in LAMMPS and redistributed under either the GNU General Public License version 2 (GPL v2) or the GNU Lesser General Public License version 2.1 (LGPL v2.1).
Backward Compatibility
read_data
, I believe they can be made optional and exponents values default to 2.write_data
would always write these 2 additional values, which shouldn't be a problem for LAMMPS. This could change the behavior of some post-processing routine that is not expecting the 2 additional values on the ellipsoid linesImplementation Notes
ellipsoid
atom style.Post Submission Checklist
Further Information, Files, and Links
TBD