A hydrodynamic free-surface solver