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

MeshFilter rotation #3166

Open
pshriwise opened this issue Oct 10, 2024 · 0 comments · May be fixed by #3176
Open

MeshFilter rotation #3166

pshriwise opened this issue Oct 10, 2024 · 0 comments · May be fixed by #3176

Comments

@pshriwise
Copy link
Contributor

Description

A translation property on MeshFilter is currently available that allows meshes to be applied in multiple locations in the OpenMC model with only one representation of the mesh in memory. This has been applied in pebble bed reactor models to effectively replicate an unstructured mesh at the location of each pebble, which would be otherwise untenable for ~300,000 pebbles.

An extension of this capability would be to provide a rotation attribute to the MeshFilter class that also allows meshes to be rotated in space. This would provide the ability for meshes to be rotated to align with off-axis features of models.

Similar machinery that is used to adjust particle positions for rotated fills should be able to be applied in this feature as well

openmc/src/geometry.cpp

Lines 199 to 201 in b4a796e

if (!c.rotation_.empty()) {
coord.rotate(c.rotation_);
}

but applied in the same location where the MeshFilter's translation is applied

if (translated_) {
last_r -= translation();

Alternatives

  • Provide a rotation capability on the Mesh objects themselves.

Compatibility

Any changes involved in this should be a pure addition to the code and won't affect backward compatibility.

@zoeprieto zoeprieto linked a pull request Oct 18, 2024 that will close this issue
5 tasks
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 a pull request may close this issue.

1 participant