15675c177SMatthew G. Knepley /* 25675c177SMatthew G. Knepley Objects which encapsulate mesh adaptation operation 35675c177SMatthew G. Knepley */ 45675c177SMatthew G. Knepley #if !defined(__PETSCDMADAPTOR_H) 55675c177SMatthew G. Knepley #define __PETSCDMADAPTOR_H 65675c177SMatthew G. Knepley #include <petscdm.h> 75675c177SMatthew G. Knepley #include <petscconvest.h> 85675c177SMatthew G. Knepley 95675c177SMatthew G. Knepley /*S 105675c177SMatthew G. Knepley DMAdaptor - The adaptor constructs a DMLabel or metric Vec that can be used to modify the DM. 115675c177SMatthew G. Knepley 125675c177SMatthew G. Knepley Level: developer 135675c177SMatthew G. Knepley 145675c177SMatthew G. Knepley .seealso: PetscConvEstCreate(), PetscConvEstDestroy() 155675c177SMatthew G. Knepley S*/ 165675c177SMatthew G. Knepley typedef struct _p_DMAdaptor *DMAdaptor; 175675c177SMatthew G. Knepley 185675c177SMatthew G. Knepley PETSC_EXTERN PetscErrorCode DMAdaptorCreate(MPI_Comm, DMAdaptor *); 195675c177SMatthew G. Knepley PETSC_EXTERN PetscErrorCode DMAdaptorDestroy(DMAdaptor *); 205675c177SMatthew G. Knepley PETSC_EXTERN PetscErrorCode DMAdaptorView(DMAdaptor, PetscViewer); 215675c177SMatthew G. Knepley PETSC_EXTERN PetscErrorCode DMAdaptorSetFromOptions(DMAdaptor); 225675c177SMatthew G. Knepley PETSC_EXTERN PetscErrorCode DMAdaptorGetSolver(DMAdaptor, SNES *); 235675c177SMatthew G. Knepley PETSC_EXTERN PetscErrorCode DMAdaptorSetSolver(DMAdaptor, SNES); 245675c177SMatthew G. Knepley PETSC_EXTERN PetscErrorCode DMAdaptorSetUp(DMAdaptor); 258e21cdf6SMatthew G. Knepley PETSC_EXTERN PetscErrorCode DMAdaptorGetTransferFunction(DMAdaptor, PetscErrorCode (**)(DMAdaptor, DM, Vec, DM, Vec, void *)); 268e21cdf6SMatthew G. Knepley PETSC_EXTERN PetscErrorCode DMAdaptorSetTransferFunction(DMAdaptor, PetscErrorCode (*)(DMAdaptor, DM, Vec, DM, Vec, void *)); 27*174e7490SMatthew G. Knepley PETSC_EXTERN PetscErrorCode DMAdaptorAdapt(DMAdaptor, Vec, DMAdaptationStrategy, DM *, Vec *); 285675c177SMatthew G. Knepley 295675c177SMatthew G. Knepley #endif 30