use MPI to decompose domain and add DistGrid class