Variational Methods for Partial Differential Equations