Nonlinear Bloch waves