In PETSc the implementation names are always XXX_classname so you can use whatever tools your development environment has for finding all the implementations. For example, git grep or Emacs etags, etc
Barry > On Jun 18, 2020, at 1:20 PM, Satish Balay via petsc-users > <petsc-users@mcs.anl.gov> wrote: > > On Thu, 18 Jun 2020, MUKKUND SUNJII wrote: > >> >>>>>> I am trying to find relevant information about interpolation that takes >>>>>> place through the routine DMForestTransferVec. Perhaps it could be my >>>>>> inability to find it, but I am unable to locate the implementation of >>>>>> the routine >>>>>> >>>>>> (forest->transfervec)(dmIn,vecIn,dmOut,vecOut,useBCs,time). >> >> Unfortunately, my first question still remains a mystery. Hopefully, someone >> could take a few moments to point me in the right direction. > > $ git grep transfervec > include/petsc/private/dmforestimpl.h: PetscErrorCode > (*transfervec)(DM,Vec,DM,Vec,PetscBool,PetscReal); > include/petsc/private/dmforestimpl.h: PetscErrorCode > (*transfervecfrombase)(DM,Vec,Vec); > src/dm/impls/forest/forest.c: if (!forest->transfervec) > SETERRQ(PetscObjectComm((PetscObject)dmIn),PETSC_ERR_SUP,"DMForestTransferVec() > not implemented"); > src/dm/impls/forest/forest.c: ierr = > (forest->transfervec)(dmIn,vecIn,dmOut,vecOut,useBCs,time);CHKERRQ(ierr); > src/dm/impls/forest/forest.c: if (!forest->transfervecfrombase) > SETERRQ(PetscObjectComm((PetscObject)dm),PETSC_ERR_SUP,"DMForestTransferVecFromBase() > not implemented"); > src/dm/impls/forest/forest.c: ierr = > (forest->transfervecfrombase)(dm,vecIn,vecOut);CHKERRQ(ierr); > src/dm/impls/forest/p4est/pforest.c: forest->transfervec = > DMForestTransferVec_pforest; > src/dm/impls/forest/p4est/pforest.c: forest->transfervecfrombase = > DMForestTransferVecFromBase_pforest; > > Likely DMForestTransferVec_pforest > > Its best to run in debugger - and verify which routine is getting called > here... > > Satish