15675c177SMatthew G. Knepley /* 25675c177SMatthew G. Knepley Objects which encapsulate mesh adaptation operation 35675c177SMatthew G. Knepley */ 426bd1501SBarry Smith #if !defined(PETSCDMADAPTOR_H) 526bd1501SBarry Smith #define PETSCDMADAPTOR_H 6*ac09b921SBarry Smith 75675c177SMatthew G. Knepley #include <petscdm.h> 85675c177SMatthew G. Knepley #include <petscconvest.h> 95675c177SMatthew G. Knepley 10*ac09b921SBarry Smith /* SUBMANSEC = DM */ 11*ac09b921SBarry Smith 125675c177SMatthew G. Knepley /*S 135675c177SMatthew G. Knepley DMAdaptor - The adaptor constructs a DMLabel or metric Vec that can be used to modify the DM. 145675c177SMatthew G. Knepley 155675c177SMatthew G. Knepley Level: developer 165675c177SMatthew G. Knepley 17db781477SPatrick Sanan .seealso: `PetscConvEstCreate()`, `PetscConvEstDestroy()` 185675c177SMatthew G. Knepley S*/ 195675c177SMatthew G. Knepley typedef struct _p_DMAdaptor *DMAdaptor; 205675c177SMatthew G. Knepley 215675c177SMatthew G. Knepley PETSC_EXTERN PetscErrorCode DMAdaptorCreate(MPI_Comm, DMAdaptor *); 225675c177SMatthew G. Knepley PETSC_EXTERN PetscErrorCode DMAdaptorDestroy(DMAdaptor *); 235675c177SMatthew G. Knepley PETSC_EXTERN PetscErrorCode DMAdaptorView(DMAdaptor, PetscViewer); 245675c177SMatthew G. Knepley PETSC_EXTERN PetscErrorCode DMAdaptorSetFromOptions(DMAdaptor); 255675c177SMatthew G. Knepley PETSC_EXTERN PetscErrorCode DMAdaptorGetSolver(DMAdaptor, SNES *); 265675c177SMatthew G. Knepley PETSC_EXTERN PetscErrorCode DMAdaptorSetSolver(DMAdaptor, SNES); 27ad7f8140SMatthew G. Knepley PETSC_EXTERN PetscErrorCode DMAdaptorGetSequenceLength(DMAdaptor, PetscInt *); 28ad7f8140SMatthew G. Knepley PETSC_EXTERN PetscErrorCode DMAdaptorSetSequenceLength(DMAdaptor, PetscInt); 295675c177SMatthew G. Knepley PETSC_EXTERN PetscErrorCode DMAdaptorSetUp(DMAdaptor); 308e21cdf6SMatthew G. Knepley PETSC_EXTERN PetscErrorCode DMAdaptorGetTransferFunction(DMAdaptor, PetscErrorCode (**)(DMAdaptor, DM, Vec, DM, Vec, void *)); 318e21cdf6SMatthew G. Knepley PETSC_EXTERN PetscErrorCode DMAdaptorSetTransferFunction(DMAdaptor, PetscErrorCode (*)(DMAdaptor, DM, Vec, DM, Vec, void *)); 32174e7490SMatthew G. Knepley PETSC_EXTERN PetscErrorCode DMAdaptorAdapt(DMAdaptor, Vec, DMAdaptationStrategy, DM *, Vec *); 335675c177SMatthew G. Knepley 345675c177SMatthew G. Knepley #endif 35