dm - the
numFields - The number of fields (or NULL if not requested)
fieldNames - The number of each field (or NULL if not requested)
fields - The global indices for each field (or NULL if not requested)
The user is responsible for freeing all requested arrays. In particular, every entry of names should be freed with
PetscFree(), every entry of fields should be destroyed with
ISDestroy(), and both arrays should be freed with
Not available in Fortran.
It is not clear why both this function and
DMCreateFieldDecomposition() exist. Having two seems redundant and confusing. This function should
likely be removed.