Domain decomposition methods for partial differential equations