There are a number of codes that can calculate the performance of a free-electron laser (FEL) in 3D with nonideal electron beams, wigglers, and optics. Unfortunately, these codes can be very computationally intensive. So, given the large number of parameters associated with an FEL, it is often impractical to utilize such a large-scale code to develop a preliminary design. To overcome this problem we developed a reduced FEL model that is sufficiently accurate to provide a realistic performance estimate, while, at the same time, the algorithm is sufficiently efficient to investigate a large number of parameter variations. The low-level algorithms design the wiggler, determine the effective energy distribution of the electron beam inside the wiggler, determine the small-signal gain, determine the saturation gain and efficiency, and design the optics.