diff --git a/examples/python/basic/build-xml.py b/examples/python/basic/build-xml.py
new file mode 100644
index 0000000000..18a16aab6b
--- /dev/null
+++ b/examples/python/basic/build-xml.py
@@ -0,0 +1,141 @@
+import openmc
+
+
+###############################################################################
+# Simulation Input File Parameters
+###############################################################################
+
+# OpenMC simulation parameters
+batches = 15
+inactive = 5
+particles = 10000
+
+
+###############################################################################
+# Exporting to OpenMC materials.xml File
+###############################################################################
+
+# Instantiate some Nuclides
+h1 = openmc.Nuclide('H-1')
+o16 = openmc.Nuclide('O-16')
+u235 = openmc.Nuclide('U-235')
+
+# Instantiate some Materials and register the appropriate Nuclides
+moderator = openmc.Material(material_id=41, name='moderator')
+moderator.setDensity('g/cc', 1.0)
+moderator.addNuclide(h1, 2.)
+moderator.addNuclide(o16, 1.)
+moderator.addSAlphaBeta('HH2O', '71t')
+
+fuel = openmc.Material(material_id=40, name='fuel')
+fuel.setDensity('g/cc', 4.5)
+fuel.addNuclide(u235, 1.)
+
+# Instantiate a MaterialsFile, register all Materials, and export to XML
+materials_file = openmc.MaterialsFile()
+materials_file.setDefaultXS('71c')
+materials_file.addMaterials([moderator, fuel])
+materials_file.exportToXML()
+
+
+###############################################################################
+# Exporting to OpenMC geometry.xml File
+###############################################################################
+
+# Instantiate ZCylinder surfaces
+surf1 = openmc.ZCylinder(surface_id=1, x0=0, y0=0, R=7, name='surf 1')
+surf2 = openmc.ZCylinder(surface_id=2, x0=0, y0=0, R=9, name='surf 2')
+surf3 = openmc.ZCylinder(surface_id=3, x0=0, y0=0, R=11, name='surf 3')
+surf3.setBoundaryType('vacuum')
+
+# Instantiate Cells
+cell1 = openmc.Cell(cell_id=1, name='cell 1')
+cell2 = openmc.Cell(cell_id=100, name='cell 2')
+cell3 = openmc.Cell(cell_id=101, name='cell 3')
+cell4 = openmc.Cell(cell_id=2, name='cell 4')
+
+# Register Surfaces with Cells
+cell1.addSurface(surface=surf2, halfspace=-1)
+cell2.addSurface(surface=surf1, halfspace=-1)
+cell3.addSurface(surface=surf1, halfspace=+1)
+cell4.addSurface(surface=surf2, halfspace=+1)
+cell4.addSurface(surface=surf3, halfspace=-1)
+
+# Register Materials with Cells
+cell2.setFill(fuel)
+cell3.setFill(moderator)
+cell4.setFill(moderator)
+
+# Instantiate Universes
+universe1 = openmc.Universe(universe_id=37)
+root = openmc.Universe(universe_id=0, name='root universe')
+cell1.setFill(universe1)
+
+# Register Cells with Universes
+universe1.addCells([cell2, cell3])
+root.addCells([cell1, cell4])
+
+# Instantiate a Geometry and register the root Universe
+geometry = openmc.Geometry()
+geometry.setRootUniverse(root)
+
+# Instantiate a GeometryFile, register Geometry, and export to XML
+geometry_file = openmc.GeometryFile()
+geometry_file.setGeometry(geometry)
+geometry_file.exportToXML()
+
+
+###############################################################################
+# Exporting to OpenMC settings.xml File
+###############################################################################
+
+# Instantiate a SettingsFile, set all runtime parameters, and export to XML
+settings_file = openmc.SettingsFile()
+settings_file.setBatches(batches)
+settings_file.setInactive(inactive)
+settings_file.setParticles(particles)
+settings_file.setSourceSpace('box', [-4, -4, -4, 4, 4, 4])
+settings_file.exportToXML()
+
+
+###############################################################################
+# Exporting to OpenMC tallies.xml File
+###############################################################################
+
+# Instantiate some tally Filters
+cell_filter = openmc.Filter(type='cell', bins=100)
+energy_filter = openmc.Filter(type='energy', bins=[0., 20.])
+energyout_filter = openmc.Filter(type='energyout', bins=[0., 20.])
+
+# Instantiate the first Tally
+first_tally = openmc.Tally(tally_id=1, label='first tally')
+first_tally.addFilter(cell_filter)
+scores = ['total', 'scatter', 'nu-scatter', \
+ 'absorption', 'fission', 'nu-fission']
+for score in scores:
+ first_tally.addScore(score)
+
+# Instantiate the second Tally
+second_tally = openmc.Tally(tally_id=2, label='second tally')
+second_tally.addFilter(cell_filter)
+second_tally.addFilter(energy_filter)
+scores = ['total', 'scatter', 'nu-scatter', \
+ 'absorption', 'fission', 'nu-fission']
+for score in scores:
+ second_tally.addScore(score)
+
+# Instantiate the third Tally
+third_tally = openmc.Tally(tally_id=3, label='third tally')
+third_tally.addFilter(cell_filter)
+third_tally.addFilter(energy_filter)
+third_tally.addFilter(energyout_filter)
+scores = ['scatter', 'nu-scatter', 'nu-fission']
+for score in scores:
+ third_tally.addScore(score)
+
+# Instantiate a TalliesFile, register all Tallies, and export to XML
+tallies_file = openmc.TalliesFile()
+tallies_file.addTally(first_tally)
+tallies_file.addTally(second_tally)
+tallies_file.addTally(third_tally)
+tallies_file.exportToXML()
diff --git a/examples/lattice/nested/geometry.xml b/examples/python/lattice/nested/geometry.xml
similarity index 100%
rename from examples/lattice/nested/geometry.xml
rename to examples/python/lattice/nested/geometry.xml
diff --git a/examples/lattice/nested/materials.xml b/examples/python/lattice/nested/materials.xml
similarity index 100%
rename from examples/lattice/nested/materials.xml
rename to examples/python/lattice/nested/materials.xml
diff --git a/examples/lattice/nested/plots.xml b/examples/python/lattice/nested/plots.xml
similarity index 100%
rename from examples/lattice/nested/plots.xml
rename to examples/python/lattice/nested/plots.xml
diff --git a/examples/lattice/nested/settings.xml b/examples/python/lattice/nested/settings.xml
similarity index 100%
rename from examples/lattice/nested/settings.xml
rename to examples/python/lattice/nested/settings.xml
diff --git a/examples/lattice/nested/tallies.xml b/examples/python/lattice/nested/tallies.xml
similarity index 100%
rename from examples/lattice/nested/tallies.xml
rename to examples/python/lattice/nested/tallies.xml
diff --git a/examples/lattice/simple/geometry.xml b/examples/python/lattice/simple/geometry.xml
similarity index 100%
rename from examples/lattice/simple/geometry.xml
rename to examples/python/lattice/simple/geometry.xml
diff --git a/examples/lattice/simple/materials.xml b/examples/python/lattice/simple/materials.xml
similarity index 100%
rename from examples/lattice/simple/materials.xml
rename to examples/python/lattice/simple/materials.xml
diff --git a/examples/lattice/simple/plots.xml b/examples/python/lattice/simple/plots.xml
similarity index 100%
rename from examples/lattice/simple/plots.xml
rename to examples/python/lattice/simple/plots.xml
diff --git a/examples/lattice/simple/settings.xml b/examples/python/lattice/simple/settings.xml
similarity index 100%
rename from examples/lattice/simple/settings.xml
rename to examples/python/lattice/simple/settings.xml
diff --git a/examples/lattice/simple/tallies.xml b/examples/python/lattice/simple/tallies.xml
similarity index 100%
rename from examples/lattice/simple/tallies.xml
rename to examples/python/lattice/simple/tallies.xml
diff --git a/examples/pincell/geometry.xml b/examples/python/pincell/geometry.xml
similarity index 100%
rename from examples/pincell/geometry.xml
rename to examples/python/pincell/geometry.xml
diff --git a/examples/pincell/materials.xml b/examples/python/pincell/materials.xml
similarity index 100%
rename from examples/pincell/materials.xml
rename to examples/python/pincell/materials.xml
diff --git a/examples/pincell/settings.xml b/examples/python/pincell/settings.xml
similarity index 100%
rename from examples/pincell/settings.xml
rename to examples/python/pincell/settings.xml
diff --git a/examples/pincell/tallies.xml b/examples/python/pincell/tallies.xml
similarity index 100%
rename from examples/pincell/tallies.xml
rename to examples/python/pincell/tallies.xml
diff --git a/examples/reflective/geometry.xml b/examples/python/reflective/geometry.xml
similarity index 100%
rename from examples/reflective/geometry.xml
rename to examples/python/reflective/geometry.xml
diff --git a/examples/reflective/materials.xml b/examples/python/reflective/materials.xml
similarity index 100%
rename from examples/reflective/materials.xml
rename to examples/python/reflective/materials.xml
diff --git a/examples/reflective/settings.xml b/examples/python/reflective/settings.xml
similarity index 100%
rename from examples/reflective/settings.xml
rename to examples/python/reflective/settings.xml
diff --git a/examples/basic/geometry.xml b/examples/xml/basic/geometry.xml
similarity index 100%
rename from examples/basic/geometry.xml
rename to examples/xml/basic/geometry.xml
diff --git a/examples/basic/materials.xml b/examples/xml/basic/materials.xml
similarity index 100%
rename from examples/basic/materials.xml
rename to examples/xml/basic/materials.xml
index 75ab74dbba..d858d8ae71 100644
--- a/examples/basic/materials.xml
+++ b/examples/xml/basic/materials.xml
@@ -10,8 +10,8 @@
-
+
diff --git a/examples/basic/settings.xml b/examples/xml/basic/settings.xml
similarity index 100%
rename from examples/basic/settings.xml
rename to examples/xml/basic/settings.xml
diff --git a/examples/basic/tallies.xml b/examples/xml/basic/tallies.xml
similarity index 100%
rename from examples/basic/tallies.xml
rename to examples/xml/basic/tallies.xml
diff --git a/examples/xml/lattice/nested/geometry.xml b/examples/xml/lattice/nested/geometry.xml
new file mode 100644
index 0000000000..f223cf3bb4
--- /dev/null
+++ b/examples/xml/lattice/nested/geometry.xml
@@ -0,0 +1,45 @@
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+ rectangular
+ 2 2
+ -1.0 -1.0
+ 1.0 1.0
+
+ 1 2
+ 2 3
+
+
+
+
+
+ rectangular
+ 2 2
+ -2.0 -2.0
+ 2.0 2.0
+
+ 5 5
+ 5 5
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/examples/xml/lattice/nested/materials.xml b/examples/xml/lattice/nested/materials.xml
new file mode 100644
index 0000000000..b649221366
--- /dev/null
+++ b/examples/xml/lattice/nested/materials.xml
@@ -0,0 +1,19 @@
+
+
+
+ 71c
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/examples/xml/lattice/nested/plots.xml b/examples/xml/lattice/nested/plots.xml
new file mode 100644
index 0000000000..a8c6fbb7c5
--- /dev/null
+++ b/examples/xml/lattice/nested/plots.xml
@@ -0,0 +1,10 @@
+
+
+
+
+ 0. 0. 0.
+ 4.0 4.0
+ 400 400
+
+
+
diff --git a/examples/xml/lattice/nested/settings.xml b/examples/xml/lattice/nested/settings.xml
new file mode 100644
index 0000000000..2a6aaaf426
--- /dev/null
+++ b/examples/xml/lattice/nested/settings.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ 20
+ 10
+ 10000
+
+
+
+
+
+ -1 -1 -1 1 1 1
+
+
+
+
diff --git a/examples/xml/lattice/nested/tallies.xml b/examples/xml/lattice/nested/tallies.xml
new file mode 100644
index 0000000000..5730e6b12c
--- /dev/null
+++ b/examples/xml/lattice/nested/tallies.xml
@@ -0,0 +1,16 @@
+
+
+
+
+ rectangular
+ 4 4
+ -2.0 -2.0
+ 1.0 1.0
+
+
+
+
+ total
+
+
+
diff --git a/examples/xml/lattice/simple/geometry.xml b/examples/xml/lattice/simple/geometry.xml
new file mode 100644
index 0000000000..b5bad90b9c
--- /dev/null
+++ b/examples/xml/lattice/simple/geometry.xml
@@ -0,0 +1,33 @@
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ rectangular
+ 4 4
+ -2.0 -2.0
+ 1.0 1.0
+
+ 1 2 1 2
+ 2 3 2 3
+ 1 2 1 2
+ 2 3 2 3
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/examples/xml/lattice/simple/materials.xml b/examples/xml/lattice/simple/materials.xml
new file mode 100644
index 0000000000..b649221366
--- /dev/null
+++ b/examples/xml/lattice/simple/materials.xml
@@ -0,0 +1,19 @@
+
+
+
+ 71c
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/examples/xml/lattice/simple/plots.xml b/examples/xml/lattice/simple/plots.xml
new file mode 100644
index 0000000000..a25a5a8280
--- /dev/null
+++ b/examples/xml/lattice/simple/plots.xml
@@ -0,0 +1,11 @@
+
+
+
+
+ 0. 0. 0.
+ 4.0 4.0
+ 400 400
+
+
+
+
diff --git a/examples/xml/lattice/simple/settings.xml b/examples/xml/lattice/simple/settings.xml
new file mode 100644
index 0000000000..2a6aaaf426
--- /dev/null
+++ b/examples/xml/lattice/simple/settings.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ 20
+ 10
+ 10000
+
+
+
+
+
+ -1 -1 -1 1 1 1
+
+
+
+
diff --git a/examples/xml/lattice/simple/tallies.xml b/examples/xml/lattice/simple/tallies.xml
new file mode 100644
index 0000000000..5730e6b12c
--- /dev/null
+++ b/examples/xml/lattice/simple/tallies.xml
@@ -0,0 +1,16 @@
+
+
+
+
+ rectangular
+ 4 4
+ -2.0 -2.0
+ 1.0 1.0
+
+
+
+
+ total
+
+
+
diff --git a/examples/xml/pincell/geometry.xml b/examples/xml/pincell/geometry.xml
new file mode 100644
index 0000000000..53cb2f15dc
--- /dev/null
+++ b/examples/xml/pincell/geometry.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+ |
+ |
+ |
+
+
diff --git a/examples/xml/pincell/materials.xml b/examples/xml/pincell/materials.xml
new file mode 100644
index 0000000000..427fc175d4
--- /dev/null
+++ b/examples/xml/pincell/materials.xml
@@ -0,0 +1,70 @@
+
+
+
+
+ 71c
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/examples/xml/pincell/settings.xml b/examples/xml/pincell/settings.xml
new file mode 100644
index 0000000000..443af9cde2
--- /dev/null
+++ b/examples/xml/pincell/settings.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+ 100
+ 10
+ 1000
+
+
+
+
+
+
+ -0.62992 -0.62992 -1.
+ 0.62992 0.62992 1.
+
+
+
+
+
+
+ -0.39218 -0.39218 -1.e50
+ 0.39218 0.39218 1.e50
+ 10 10 1
+
+
+
\ No newline at end of file
diff --git a/examples/xml/pincell/tallies.xml b/examples/xml/pincell/tallies.xml
new file mode 100644
index 0000000000..bbfd588360
--- /dev/null
+++ b/examples/xml/pincell/tallies.xml
@@ -0,0 +1,16 @@
+
+
+
+
+ 100 100 1
+ -0.62992 -0.62992 -1.e50
+ 0.62992 0.62992 1.e50
+
+
+
+
+
+ flux fission nu-fission
+
+
+
\ No newline at end of file
diff --git a/examples/xml/reflective/geometry.xml b/examples/xml/reflective/geometry.xml
new file mode 100644
index 0000000000..664ef0705f
--- /dev/null
+++ b/examples/xml/reflective/geometry.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+ 0
+ 1
+ 1 -2 3 -4 5 -6
+ |
+
+
+
+
+
+
+
+
+
+
diff --git a/examples/xml/reflective/materials.xml b/examples/xml/reflective/materials.xml
new file mode 100644
index 0000000000..6da53a9b60
--- /dev/null
+++ b/examples/xml/reflective/materials.xml
@@ -0,0 +1,11 @@
+
+
+
+ 71c
+
+
+
+
+
+
+
diff --git a/examples/xml/reflective/settings.xml b/examples/xml/reflective/settings.xml
new file mode 100644
index 0000000000..9f8cf8e959
--- /dev/null
+++ b/examples/xml/reflective/settings.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ 500
+ 10
+ 10000
+
+
+
+
+
+ -1 -1 -1 1 1 1
+
+
+
+
diff --git a/src/utils/openmc/material.py b/src/utils/openmc/material.py
index c6e9276afc..3d6b2db44b 100644
--- a/src/utils/openmc/material.py
+++ b/src/utils/openmc/material.py
@@ -22,7 +22,7 @@ def reset_auto_material_id():
# Units for density supported by OpenMC
-DENSITY_UNITS = ['g/cm3', 'kg/cm3', 'at/b-cm', 'at/cm3', 'sum']
+DENSITY_UNITS = ['g/cm3', 'g/cc', 'kg/cm3', 'at/b-cm', 'at/cm3', 'sum']
# ENDF temperatures
ENDF_TEMPS = np.array([300, 600, 700, 900, 1200, 1500])