Finite element methods for unsaturated porous solids and their application to dam engineering problems