Code-specific steps for DAG-MCNP5/6 =================================== Note that all the information here applies to both DAG-MCNP5 and DAG-MCNP6, and the term "DAG-MCNP" refers to both. There are three varieties of code-specific steps for DAG-MCNP: 1. Defining attributes of the geometry using Cubit groups 2. Defining DAGMC runtime parameters using the DAGMC input file 3. Specifying additional parameters on the command line Geometry metadata ~~~~~~~~~~~~~~~~~ In DAG-MCNP, the geometry file can be used to define material and density assignments, and boundary conditions. Materials and densities ----------------------- The generic workflow description includes details on :ref:`grouping-basics`, but a specific naming convention is required for DAG-MCNP. To define materials, both the MCNP material ID and density must be provided in the group name. The format for the group name is as follows: ``mat:[matid]/rho:[density]``. ``[matid]`` should be replaced by the material ID that will be specified in the MCNP input file. ``[density]`` should replaced by either the atomic density or the mass density. As in the MCNP cell cards, positive values represent atomic densities in [atoms/barn-cm] and negative values represent mass densities in [g/cc]. For example, consider a problem where material 7 and an atomic density of 0.0223 should be assigned to volumes 4 through 18. The following command should be used to specify that information: :: CUBIT> group "mat:7/rho:0.0223" add vol 4 to 18 All volumes must belong to a group, if you want volumes to be filled with vacuum then add them to a group called, "mat:Vacuum": :: CUBIT> group "mat:Vacuum" add vol 4 to 18 If you would like to assign a material to the implicit complement, a special procedure is needed. Since the implicit complement doesn't exist before running DAGMC, and DAGMC can only recognize groups that contain an entity, the material for the implicit complement must be specified as if it were being specified for the graveyard volume. For example, if you would like the implicit complement to be modeled as material 9 with a density of 1 g/cc, and the graveyard volume is volume 102, the following command should be used: :: CUBIT> group "mat:9_comp/rho:-1_comp" add vol 102 DAGMC will recognize that volume 102 is the graveyard, and the ``_comp`` keyword will trigger it to assign the specified material and density to the implicit complement rather than the graveyard. Boundary conditions ------------------- There are two general classes of boundary condition supported by DAG-MCNP: vacuum boundaries and surface boundary conditions. **Vacuum boundaries: defining the "graveyard"** Typical MCNP models contain a zero-importance volume that bounds the volumes of interest and extends to infinity. Since solid models cannot include infinite volumes, it is necessary to define a finite zero-importance volume around your model to define the problem boundary. This is done by surrounding the entire geometry with a shell of finite thickness; this is known as the "graveyard." Any geometric shape can be used for this, but a cubic shell is preferred. The graveyard represents the outside world, and any particle that enters it will be terminated. To create a graveyard volume, create two volumes in Cubit with the same shape and same center with one slightly larger than the other, making sure that both bound the entire problem geometry. Then, subtract the smaller one from the larger one. The remaining volume is the graveyard. To indicate to MCNP that a given volume is the graveyard volume, you must assign it to a group with: :: CUBIT> group "mat:Graveyard" add volume X For example, consider a geometry containing 99 volumes, all of which fit inside a cube of side length 99 cm centered at the origin. The following commands would create a valid graveyard for this problem: :: CUBIT> create brick x 100 # This will be volume 100 CUBIT> create brick x 105 # This will be volume 101 CUBIT> subtract vol 100 from vol 101 # This will produce volume 102 CUBIT> group "mat:Graveyard" add vol 102 When DAG-MCNP is run, the importance of any graveyard volumes will be set to zero. It is still recommended that you create a graveyard volume even if your problem has reflecting boundary conditions on all sides, although it is not strictly necessary. **Surface boundary conditions** Surface boundary conditions can be specified for a given surface by adding the surface to a group. The group names for reflecting and white boundary conditions are ``boundary:Reflecting`` and ``boundary:White``, respectively. Note that periodic boundary conditions are not currently supported. For example, suppose you want to specify that surfaces 10 and 11 should be reflecting surfaces. This command would achieve that: :: CUBIT> group "boundary:Reflecting" add surf 10 11 .. include:: dag-mcnp_specific.txt .. toctree:: :hidden: dag-mcnp_deprecated