The finite difference beam propagating method (BPM) is one of the most powerful techniques to investigate linear and nonlinear lightwave propagation phenomena in axially varying waveguides such as curvilinear directional couplers, branching and combining waveguides, S-shaped bent waveguides, and tapered waveguides. BPM is also quite important for the analysis of ultrashort light pulse propagation in optical fibers [9].

Like the Finite Difference Time Domain method, finite difference BPM solves Maxwell’s equations by using finite differences in place of partial derivatives. In this sense BPM is computationally intensive, and able to accurately model a very wide range of devices. It differs from a full and direct solution of the equations as found in the Finite Difference Time Domain Method in two ways. The first is that BPM is done entirely in the frequency domain, and as such only weak non-linearities can be modelled. The second is in the use of a slowly varying envelope approximation in the paraxial direction. In BPM, it is assumed the device has an optical axis, and that most of the light travels in this direction, or at least approximately in this direction (paraxial approximation). In OptiBPM, as with the majority of literature on the subject, this axis is taken to be , the third space co-ordinate. Many practical optical devices are naturally aligned close to a single direction, so once this is associated with the axis, the slowly varying approximation can be applied.