Theoretical and numerical aspects of multi-scale problems are investigated. On one hand, mathematical analysis is done on a new method for numerically solving problems with multi-scale behavior using multiple levels of not necessarily nested grids. A particularly flexible multiplicative Schwarz method is presented, requiring no conformity between the meshes at the different scales. The relaxed iterative method consists in calculating successive corrections to the solution in regions where the variations of a problem are too strong to be captured by a coarse initial mesh. In these sub-domains patches of finite elements are applied. A priori and a posteriori error estimates are given and an exact spectral analysis of the iteration operator describing the algorithm is presented. Computational issues are addressed and numerical methods to obtain optimal convergence are given. Crucial implementation matters are discussed with special regard to usage of memory and CPU-time. On the other hand, the efficiency of the introduced correction method is demonstrated on Laplace model problems, either with changing Dirichlet-Neumann boundary conditions or in a polygonal domain with entrant corner. The regularity of the solutions is studied as well as the improvement of the convergence order in the mesh size using various sizes of patches. The correction algorithm is also applied to improve the accuracy in the simulation of the stress field in glacier modeling. A simple model to obtain the effective stress field in the ice mass of a glacier is presented and concluding results are obtained using patches in the regions where changes in the basal boundary conditions are involved.