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

Add DAGMC surface BCs #28

Open
helen-brooks opened this issue Oct 10, 2022 · 2 comments
Open

Add DAGMC surface BCs #28

helen-brooks opened this issue Oct 10, 2022 · 2 comments
Assignees

Comments

@helen-brooks
Copy link
Contributor

When DAGMC surfaces are set up on the fly, the functionality to add non-void surface boundary conditions (e.g. reflecting surfaces) is missing. This should be added.

@helen-brooks helen-brooks self-assigned this Oct 10, 2022
@helen-brooks
Copy link
Contributor Author

Proposed algorithm modifies:

  1. User provide surfaces sets initial Exodus Geometry which should be indentified with BCs
  2. Those surfaces upon which boundary conditions should be applied are specified in the MOOSE input card via DagSurfaceUserObject blocks,
  3. Prior to mesh initialisation, map libmesh surfaces boundaries to DAG surfaces, and for each DAG surface create a meshset
  4. During meshing initialisation:
    a. For each element in each material "block":
    i. Test if the element participates in a dagmc surface boundary: check each face in turn and query libmesh boundary info, then compare to known DAGMC boundary IDs.
    b. For those elements with a face in a DAGMC boundary:
    i. First "skin" the tet to obtain their faces (not created by default in MOAB).
    ii. Find which tet aligns with the correct libmesh face in the boundary
    iii. Having created and obtained the face's MOAB EntityHandle add to the corresponding MOAB Meshset
    c. For each material block, having already created all elements, find and save the surface skin.
    i. Partition faces into those which do and do not participate in a boundary
    ii. Create a surface for each partition. If the partition has a boundary condition, add this to the DAGMC metadata.

@helen-brooks
Copy link
Contributor Author

helen-brooks commented Oct 10, 2022

  • Create DAG surface user object
  • Create mapping between libmesh boundary id and dag surfaces
  • Skin and element faces and map from libmesh id
  • Test element faces
  • Create surface boundaries
  • Partition surface sets
  • Add DAGMC metadata for bcs
  • Create an exodus geometry with sides
  • Create a regression test
  • Create unit tests

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

No branches or pull requests

1 participant