15675c177SMatthew G. Knepley /* 25675c177SMatthew G. Knepley Objects which encapsulate mesh adaptation operation 35675c177SMatthew G. Knepley */ 4*a4963045SJacob Faibussowitsch #pragma once 5ac09b921SBarry Smith 65675c177SMatthew G. Knepley #include <petscdm.h> 75675c177SMatthew G. Knepley #include <petscconvest.h> 85675c177SMatthew G. Knepley 9ac09b921SBarry Smith /* SUBMANSEC = DM */ 10ac09b921SBarry Smith 115675c177SMatthew G. Knepley /*S 1287497f52SBarry Smith DMAdaptor - An object that constructs a `DMLabel` or metric `Vec` that can be used to modify the `DM` based on error estimators or other criteria 135675c177SMatthew G. Knepley 145675c177SMatthew G. Knepley Level: developer 155675c177SMatthew G. Knepley 1616a05f60SBarry Smith .seealso: `DM`, `DMAdaptorCreate()`, `DMAdaptorSetSolver()`, `DMAdaptorGetSolver()`, `DMAdaptorSetSequenceLength()`, `DMAdaptorGetSequenceLength()`, `DMAdaptorSetFromOptions()`, 1787497f52SBarry Smith `DMAdaptorSetUp()`, `DMAdaptorAdapt()`, `DMAdaptorDestroy()`, `DMAdaptorGetTransferFunction()`, `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 *); 33