1 /* 2 Objects which encapsulate mesh adaptation operation 3 */ 4 #if !defined(__PETSCDMADAPTOR_H) 5 #define __PETSCDMADAPTOR_H 6 #include <petscdm.h> 7 #include <petscconvest.h> 8 9 /*S 10 DMAdaptor - The adaptor constructs a DMLabel or metric Vec that can be used to modify the DM. 11 12 Level: developer 13 14 .seealso: PetscConvEstCreate(), PetscConvEstDestroy() 15 S*/ 16 typedef struct _p_DMAdaptor *DMAdaptor; 17 18 PETSC_EXTERN PetscErrorCode DMAdaptorCreate(MPI_Comm, DMAdaptor *); 19 PETSC_EXTERN PetscErrorCode DMAdaptorDestroy(DMAdaptor *); 20 PETSC_EXTERN PetscErrorCode DMAdaptorView(DMAdaptor, PetscViewer); 21 PETSC_EXTERN PetscErrorCode DMAdaptorSetFromOptions(DMAdaptor); 22 PETSC_EXTERN PetscErrorCode DMAdaptorGetSolver(DMAdaptor, SNES *); 23 PETSC_EXTERN PetscErrorCode DMAdaptorSetSolver(DMAdaptor, SNES); 24 PETSC_EXTERN PetscErrorCode DMAdaptorGetSequenceLength(DMAdaptor, PetscInt *); 25 PETSC_EXTERN PetscErrorCode DMAdaptorSetSequenceLength(DMAdaptor, PetscInt); 26 PETSC_EXTERN PetscErrorCode DMAdaptorSetUp(DMAdaptor); 27 PETSC_EXTERN PetscErrorCode DMAdaptorGetTransferFunction(DMAdaptor, PetscErrorCode (**)(DMAdaptor, DM, Vec, DM, Vec, void *)); 28 PETSC_EXTERN PetscErrorCode DMAdaptorSetTransferFunction(DMAdaptor, PetscErrorCode (*)(DMAdaptor, DM, Vec, DM, Vec, void *)); 29 PETSC_EXTERN PetscErrorCode DMAdaptorAdapt(DMAdaptor, Vec, DMAdaptationStrategy, DM *, Vec *); 30 31 #endif 32