FlexPDE continually monitors the accuracy of the solution, and adapts the finite element mesh to resolve those areas of high error.
You don't need a dense mesh throughout the domain, because FlexPDE will find the areas that need it, and put it there!
The problem shown here is a two-phase flow calculation, modeling the extraction of oil by water injection. FlexPDE adapts the mesh to the front of the wave.