Adaptive Solution of Free Surface Problems