def METHOD_NAME():
    METHOD_NAME = openmc.METHOD_NAME.Model()
    # materials
    u235 = openmc.Material(name="fuel")
    u235.add_nuclide('U235', 1.0, 'ao')
    u235.set_density('g/cc', 11)
    zirc = openmc.Material(name='cladding')
    zirc.add_nuclide('Zr90', 1.0)
    zirc.set_density('g/cc', 6.44)
    water = openmc.Material(name="water")
    water.add_nuclide('H1', 2.0, 'ao')
    water.add_nuclide('O16', 1.0, 'ao')
    water.set_density('g/cc', 1.0)
    mats = openmc.Materials([u235, zirc, water])
    METHOD_NAME.materials = mats
    # geometry
    fuel_or = openmc.ZCylinder(r=1.5)
    cladding_or = openmc.ZCylinder(r=1.7)
    fuel = openmc.Cell(fill=u235, region=-fuel_or)
    cladding = openmc.Cell(fill=zirc, region=+fuel_or & -cladding_or)
    moderator = openmc.Cell(fill=water, region=+cladding_or)
    pincell_univ = openmc.Universe(cells=[fuel, cladding, moderator])
    # insert an additional cell to add another level to the geometry
    extra_cell = openmc.Cell(fill=pincell_univ)
    extra_univ = openmc.Universe(cells=[extra_cell])
    # lattice
    lattice = openmc.RectLattice()
    lattice.pitch = (4.0, 4.0)
    lattice.lower_left = (-4.0, -4.0)
    lattice.universes = [[extra_univ, extra_univ], [extra_univ, extra_univ]]
    lattice_region = openmc.METHOD_NAME.rectangular_prism(8.0,
                                                    8.0,
                                                    boundary_type='reflective')
    lattice_cell = openmc.Cell(fill=lattice, region=lattice_region)
    METHOD_NAME.geometry = openmc.Geometry([lattice_cell])
    METHOD_NAME.settings.particles = 100
    METHOD_NAME.settings.batches = 10
    METHOD_NAME.settings.inactive = 1
    return METHOD_NAME