Implementation of 3D Finite-Difference Time-Domain method with PML boundary condition