A three-dimensional adaptive finite element strategy is presented to be applied in general 3-D finite element codes oriented towards brick elements. Two main issues are explored: (1) the data structure needed to adaptively refine a 3-D mesh; and (2) an adaptivity algorithm which significantly reduces the number of refinement cycles. It is shown that, using adaptive meshes, a significant error reduction is obtained and that, when using gradually refined meshes, the Jacobi conjugate gradient method gains multigrid efficiency.