A general framework for the finite- difference time-domain simulation of real metals