 The BPM method can be used to model bi-directional propagation, but the reflections need to be implemented iteratively which can lead to convergence issues.There are several simulation tools that implement BPM algorithms.Popular commercial tools have been developed by RSoft Design and Optiwave Systems Inc..