Computational Methods for Nanoscale Applications