Adaptive mesh methods and software for time-dependent partial differential equations

Adaptive mesh methods can improve the accuracy and efficiency of the numerical approximations to evolutionary and steady state systems of PDEs involving large gradients or discontinuities. In an evolutionary PDE, as the solution changes, the mesh must also change to adaptively refine regions where the solution is developing sharp gradients, and to remove points from regions where the solution is becoming smoother. In this dissertation, we study and test several adaptive mesh methods for finite difference methods on structured grids. In particular we study and compare two different strategies: moving mesh method and adaptive mesh refinement (AMR) method. For the moving mesh method, we give stability and error analysis to show how the moving mesh works for time-dependent PDEs. We propose an approach to combine the moving mesh with smooth high-order upwinding schemes, an h-r method to improve the efficiency and robustness of the moving mesh method, and a minimum spacing control strategy to allow explicit time integration for moving mesh method. The also describe some difficulties in extending 1-D moving-mesh methods to higher dimensions. For AMR methods, we propose a data structure to efficiently manage the hierarchical data of AMR, an integration and boundary collection algorithm to allow higher order method of lines approach and implicit time integration, a strategy to give user full control of the adaptation, and an improved clustering algorithm for AMR in 2-D or higher dimensions. We also propose a method to combine AMR with moving mesh for 1-D problems. For both the moving mesh and AMR method, we design software to solve general problems via a "plug-and-play" approach, which allows existing codes to use the adaptive grid more easily. The software has been tested on several challenging problems. Finally, we compare several adaptive mesh methods and give some suggestions for future work.