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] Geometry handling simplification/update #19

Open
ZoeRichter opened this issue Nov 26, 2024 · 1 comment
Open

[Feature] Geometry handling simplification/update #19

ZoeRichter opened this issue Nov 26, 2024 · 1 comment
Assignees
Labels
Status:1-New No one has claimed this issue yet. It is in need of solving. Type:Feature New feature or feature request
Milestone

Comments

@ZoeRichter
Copy link
Collaborator

Is your feature request related to a problem? Please describe.

Ghastly has to do a lot of work specifying 3D geometries for a variety of simple 3D shapes - cylinders, cones, annuli, and rectangular prisms. Currently, geometries within Ghastly's custom classes are simply contained in raw variables. However, there are python packages that could not only be clearer and more concise, but also have built-in functions (such as finding bounds) that might be able to be used in place of doing it manually.

Describe the feature you'd like.

Explore geometry packages (such as sympy, shapely, or pyeuclid) and implement one for class geometries, if you find a suitable one (shapely is the current frontrunner). The core and region classes should be able to use such a library at minimum, but a new class for keeping track of the LAMMPS simulation bounding box would likely also be useful. Whether or not the pebble class will really benefit from incorporating a geometry class remains to be seen (as it mostly just tracks the centroid - which shapely can do, but a shapely object might be overkill, esp. for the number of pebbles one can expect.)

Describe alternatives you've considered.

The current alternative would be to not use such a package, and to, at most, clean up the "manual" way geometry information is tracked and defined, such as with points classes or replacing two-part dicts with tuples (such as with the current handling of sim boundary box dimensions).

Additional context.

When choosing how the geometry information is stored, it's important to keep in mind that Ghastly will have to work with both OpenMC LAMMPS to define objects in their format.

How can this issue be closed?

This issue can be closed by choosing and implementing a geometry package, or by determining that this is worse than the current system (and clearly explaining why)

@ZoeRichter ZoeRichter added Status:1-New No one has claimed this issue yet. It is in need of solving. Type:Feature New feature or feature request labels Nov 26, 2024
@ZoeRichter ZoeRichter self-assigned this Nov 26, 2024
@ZoeRichter
Copy link
Collaborator Author

This issue was created following discussion in #17

@katyhuff katyhuff added this to the Prelim milestone Dec 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status:1-New No one has claimed this issue yet. It is in need of solving. Type:Feature New feature or feature request
Projects
None yet
Development

No branches or pull requests

2 participants