The numerical treatment of flow problems by the finite element method
is addressed. An algebraic approach to constructing high-resolution
schemes for scalar conservation laws as well as for the compressible
Euler equations is pursued. Starting from the standard Galerkin
approximation, a diffusive low-order discretization is constructed by
performing conservative matrix manipulations. Flux limiting is
employed to compute the admissible amount of compensating
antidiffusion which is applied in regions, where the solution is
sufficiently smooth, to recover the accuracy of the Galerkin finite
element scheme to the largest extent without generating non-physical
oscillations in the vicinity of steep gradients. A discrete Newton
algorithm is proposed for the solution of nonlinear systems of
equations and it is compared to the standard fixed-point defect
correction approach. The Jacobian operator is approximated by divided
differences and an edge-based procedure for matrix assembly is devised
exploiting the special structure of the underlying algebraic flux
correction (AFC) scheme. Furthermore, a hierarchical mesh adaptation
algorithm is designed for the simulation of steady-state and transient
flow problems alike. Recovery-based error indicators are used to
control local mesh refinement based on the red-green strategy for
element subdivision. A vertex locking algorithm is developed which
leads to an economical re-coarsening of patches of subdivided
cells. Efficient data structures and implementation details are
discussed. Numerical examples for scalar conservation laws and the
compressible Euler equations in two dimensions are presented to assess
the performance of the solution procedure.