What are the best practices when setting boundary conditions on a DAGMC geometry? On this discussion group and other tutorials, the standard seems to be to fill a CSG cell with the DAGMCUniverse and put BCs on the CSG cell. However, there is also a (maybe legacy) method of assigning the boundary conditions in the metadata of the DAGMC .h5m file and OpenMC directly interprets the BCs from the .h5m. Which is the better method, if either?
Also, should a graveyard volume always be created in the DAGMC mesh? It seems it’s not necessary, but it is usually created in tutorials.
Hello @ssg-b and welcome to the OpenMC discussion forums! The approach where boundary condition metadata is assigned to the DAGMC geometry is inherited from the original implementation of DAGMC in Monte Carlo codes (e.g. DAG-MCNP), which didn’t support nesting DAGMC “universes” in CSG cells. From my understanding, its considered best-practice at present to use a CSG cell to apply boundaries to the DAGMC universe fill as its more flexible (don’t need to edit the DAGMC file to change BCs). If that isn’t possible with your geometry (complex boundary surfaces), it’s better to apply the BCs in DAGMC.
Also, regarding the graveyard. This is another legacy quirk of the DAGMC format which functions as a vacuum boundary condition. If you tag a surface with a BC in your DAGMC model, or apply a BC with CSG, the graveyard is not required. I normally don’t add a graveyard in my DAGMC multiphysics models I run with Cardinal and just use a CSG bounding box to apply BCs.