def orbital_to_shell_mapping(ncore,nopen,npair):
    """\
    Map the orbitals to shells. All the core orbitals are in
    the first shell. Then each orbital has its own shell.
    >>> orbital_to_shell_mapping(1,0,0)
    [0]
    >>> orbital_to_shell_mapping(2,0,0)
    [0, 0]
    >>> orbital_to_shell_mapping(2,1,0)
    [0, 0, 1]
    """
    shell = [0 for i in range(ncore)]
    ncoreshells = 1 if ncore else 0
    for i in range(nopen+2*npair):
        shell.append(i+ncoreshells)
    return shell