<div dir="ltr">I'm looking at the VTK viewer implementation  and I notice that PetscViewerVTKAddField() [1]<div><div>accepts a parameter which, despite being called "dm", is of type PetscObject. </div><div><br></div><div>I think that this is used, amongst other things, to ensure that vectors being queued up to be written all come from the same DM. <div><br></div><div>I'd like to relax this to only require that the vectors all come from *compatible* DMDAs, but this would require the DM API in vtkv.c. </div><div><br></div><div>My questions: is this argument of type PetscObject for any reason other than not wanting to bother including petscdm.h ? Might this be something other than a DM in some case (and in which case, why is the argument called "dm")? Am I missing a reason that I'll get into trouble eventually if I change this?</div><div><br></div><div>(Similar question for the "vec" argument).</div></div></div><div><br></div><div>[1] <a href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Viewer/PetscViewerVTKAddField.html" target="_blank">http://www.mcs.anl.gov/petsc/<wbr>petsc-current/docs/<wbr>manualpages/Viewer/<wbr>PetscViewerVTKAddField.html</a></div></div>