Applying functional principal components to structural topology optimization