  This work is a user guide to the FEMPAR scientific software library. FEMPAR
is an open-source object-oriented framework for the simulation of partial
differential equations (PDEs) using finite element methods on
distributed-memory platforms. It provides a rich set of tools for numerical
discretization and built-in scalable solvers for the resulting linear systems
of equations. An application expert that wants to simulate a PDE-governed
problem has to extend the framework with a description of the weak form of the
PDE at hand (and additional perturbation terms for non-conforming
approximations). We show how to use the library by going through three
different tutorials. The first tutorial simulates a linear PDE (Poisson
equation) in a serial environment for a structured mesh using both continuous
and discontinuous Galerkin finite element methods. The second tutorial extends
it with adaptive mesh refinement on octree meshes. The third tutorial is a
distributed-memory version of the previous one that combines a scalable octree
handler and a scalable domain decomposition solver. The exposition is
restricted to linear PDEs and simple geometries to keep it concise. The
interested user can dive into more tutorials available in the FEMPAR public
repository to learn about further capabilities of the library, e.g., nonlinear
PDEs and nonlinear solvers, time integration, multi-field PDEs, block
preconditioning, or unstructured mesh handling.
