Many algorithms require weights to be obtained for faces or edges. We should implement a utility Grid.get_weights that can streamline the process for obtaining weights, including functionality to for indexing and selecting weights for arbitrary indices.