def sdof_modal_peak(w, wn, zn, an, phi):
    """Return a modal peak generated from the given parameters.

    Parameters
    ----------
    w : ndarray
        An array of omega (angular frequency) values.
    wn : float
        The resonant angular frequency.
    zn : float
        The damping factor.
    an : float
        The complex modal constant.

    Returns
    -------
    ndarray
        The modal peak.

    Notes
    -----
    The modal peak is generated by:

    .. math:: \frac{a_n}{\omega_n^2 - \omega^2 + 2i\zeta_n\omega_n\omega}

    """
#    return an*np.exp(phi) / (wn**2 - w**2 + 2j*zn*wn**2)
#    return an*np.exp(phi) / (wn**2 - w**2 + 2j*zn*wn*w)
    return an / (wn**2 - w**2 + 2j*zn*wn*w)