Actual source code: petscdmadaptor.h
1: /*
2: Objects which encapsulate mesh adaptation operation
3: */
4: #pragma once
6: #include <petscdm.h>
7: #include <petscconvest.h>
9: /* SUBMANSEC = DM */
11: /*S
12: DMAdaptor - An object that constructs a `DMLabel` or metric `Vec` that can be used to modify a `DM` based on error estimators or other criteria
14: Level: developer
16: .seealso: [](ch_dmbase), `DM`, `DMAdaptorCreate()`, `DMAdaptorSetSolver()`, `DMAdaptorGetSolver()`, `DMAdaptorSetSequenceLength()`, `DMAdaptorGetSequenceLength()`, `DMAdaptorSetFromOptions()`,
17: `DMAdaptorSetUp()`, `DMAdaptorAdapt()`, `DMAdaptorDestroy()`, `DMAdaptorGetTransferFunction()`, `PetscConvEstCreate()`, `PetscConvEstDestroy()`
18: S*/
19: typedef struct _p_DMAdaptor *DMAdaptor;
21: PETSC_EXTERN PetscErrorCode DMAdaptorCreate(MPI_Comm, DMAdaptor *);
22: PETSC_EXTERN PetscErrorCode DMAdaptorDestroy(DMAdaptor *);
23: PETSC_EXTERN PetscErrorCode DMAdaptorView(DMAdaptor, PetscViewer);
24: PETSC_EXTERN PetscErrorCode DMAdaptorSetFromOptions(DMAdaptor);
25: PETSC_EXTERN PetscErrorCode DMAdaptorGetSolver(DMAdaptor, SNES *);
26: PETSC_EXTERN PetscErrorCode DMAdaptorSetSolver(DMAdaptor, SNES);
27: PETSC_EXTERN PetscErrorCode DMAdaptorGetSequenceLength(DMAdaptor, PetscInt *);
28: PETSC_EXTERN PetscErrorCode DMAdaptorSetSequenceLength(DMAdaptor, PetscInt);
29: PETSC_EXTERN PetscErrorCode DMAdaptorSetUp(DMAdaptor);
30: PETSC_EXTERN PetscErrorCode DMAdaptorGetTransferFunction(DMAdaptor, PetscErrorCode (**)(DMAdaptor, DM, Vec, DM, Vec, void *));
31: PETSC_EXTERN PetscErrorCode DMAdaptorSetTransferFunction(DMAdaptor, PetscErrorCode (*)(DMAdaptor, DM, Vec, DM, Vec, void *));
32: PETSC_EXTERN PetscErrorCode DMAdaptorAdapt(DMAdaptor, Vec, DMAdaptationStrategy, DM *, Vec *);