# Adaptive mesh refinement algorithms and the difference between AMR and moving mesh

I'm working on my thesis and a part of it has to do with adaptive mesh refinement. As a computer science major, I'm not too familiar with this field. The best way I can put my knowledge of AMR is: I understand the purpose and programming part, but I don't understand what it is. Sorry, I'm having difficulty wording it correctly.

I've found numerous papers with titles similar to "_____ Through Adaptive Mesh Refinement" or "An Adaptive Mesh Refinement Method for _____" and it seems like AMR isn't a field with set algorithms. Instead, there are some templates that are extended based on the functions that describe whatever is being studied. As a followup conclusion, the functions that describe the behavior of the mesh are closely tied to the functions of whatever is being studied.

I also found this question which led me to moving mesh studies. Is it safe to assume the main difference between AMR and MM is that AMR adds and removes points to alter the fineness of the mesh, while MM moves the existing points?

So, basically, my questions are:

• Is AMR open-ended in terms of algorithms?
• Are the calculations on the mesh done with a separate set of functions than the numerical ones that are being studied?
• Are there any other difference between AMR and MM that I haven't listed?

## 2 Answers

1. Every major class of discretization is "open-ended" in the sense that there are decisions with no obviously/provably correct answer in the general case, so some decisions are made based on how they perform for the target problem. Additionally, each major class has active research on new extensions. AMR has more choices than static-grid discretizations, so if anything, there is more variation between implementations.

2. I'm not sure what this is asking. Usually error indicators (AMR) or "monitor functions" (moving mesh, aka. "$r$-adaptivity") are defined in order to drive refinement. In case of moving mesh methods, usually there is an auxiliary equation that is solved to find the position of the mesh.

3. AMR typically doesn't come with an a priori estimate of the maximum memory consumption. When implemented in parallel, it needs repartitioning to maintain load balance.

Since you are a computer science major, let me posit the following analogy: "adaptive mesh refinement" is a set of techniques for solving partial differential equations in mathematics; this is in the same spirit as "image processing" is a set of techniques to transform and improve images. Both fields have many different aspects, so there are no fixed algorithms and no memory estimates for the whole field, but there are of course for individual methods.

If you're still confused, I would suggest you find Graham Carey's book "Computational Grids" as a reference.