We apply both cellular automaton (CA) and kinematic wave (KW) models to simulating vehicle traffic. We investigate three different CA models and show how each choice affects the fundamental diagram, which is a plot of the traffic flux versus density. Based on these CA simulations as well as empirical observations in the literature, we propose that the fundamental diagram can be approximated by a piecewise linear function having a discontinuity at a single point. We then construct a KW model that consists of a hyperbolic conservation law for the traffic density with this this discontinuous, non-convex function as the traffic flux function. We then derive the exact solution of the corresponding Riemann problem analytically for general piecewise constant initial data, which requires use of a mollifier to smooth out the discontinuity in the flux function. Another necessary component of the analytical solution is the construction of a convex hull for the mollified problem, which is then considered in the limit as the support of the mollifier goes to zero. Finally, the Riemann solution is used to construct a high resolution finite volume scheme for the KW model, which we use to simulate various traffic scenarios and draw comparisons with not only the CA model but also the analytical solution of the KW problem.