def _write_eleme(labels, materials, volumes, nodes, material_name=None):
    """Return a generator that iterates over the records of block ELEME."""
    fmt = (
        '{:>5.5}{:>5}{:>5}{:>5}{:10.4e}{:>10}{:>10}{:10.3e}{:10.3e}{:10.3e}\n')
    iterables = zip(labels, materials, volumes, nodes)
    for label, material, volume, node in iterables:
        mat = material_name[material
            ] if material_name and material in material_name.keys(
            ) else material
        record = fmt.format(label, '', '', mat, volume, '', '', node[0],
            node[1], node[2])
        yield record
