Computational Nanotechnology Using Finite Difference Time Domain