Actual source code: petscdmadaptor.h

  1: /*
  2:       Objects which encapsulate mesh adaptation operation
  3: */
  4: #ifndef PETSCDMADAPTOR_H
  5: #define PETSCDMADAPTOR_H

  7: #include <petscdm.h>
  8: #include <petscconvest.h>

 10: /* SUBMANSEC = DM */

 12: /*S
 13:   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

 15:   Level: developer

 17: .seealso: `DMAdaptorCreate()`, `DMAdaptorSetSolver()`, `DMAdaptorGetSolver()`, `DMAdaptorSetSequenceLength()`, `DMAdaptorGetSequenceLength()`, `DMAdaptorSetFromOptions()`,
 18:           `DMAdaptorSetUp()`, `DMAdaptorAdapt()`, `DMAdaptorDestroy()`, `DMAdaptorGetTransferFunction()`, `PetscConvEstCreate()`, `PetscConvEstDestroy()`
 19: S*/
 20: typedef struct _p_DMAdaptor *DMAdaptor;

 22: PETSC_EXTERN PetscErrorCode DMAdaptorCreate(MPI_Comm, DMAdaptor *);
 23: PETSC_EXTERN PetscErrorCode DMAdaptorDestroy(DMAdaptor *);
 24: PETSC_EXTERN PetscErrorCode DMAdaptorView(DMAdaptor, PetscViewer);
 25: PETSC_EXTERN PetscErrorCode DMAdaptorSetFromOptions(DMAdaptor);
 26: PETSC_EXTERN PetscErrorCode DMAdaptorGetSolver(DMAdaptor, SNES *);
 27: PETSC_EXTERN PetscErrorCode DMAdaptorSetSolver(DMAdaptor, SNES);
 28: PETSC_EXTERN PetscErrorCode DMAdaptorGetSequenceLength(DMAdaptor, PetscInt *);
 29: PETSC_EXTERN PetscErrorCode DMAdaptorSetSequenceLength(DMAdaptor, PetscInt);
 30: PETSC_EXTERN PetscErrorCode DMAdaptorSetUp(DMAdaptor);
 31: PETSC_EXTERN PetscErrorCode DMAdaptorGetTransferFunction(DMAdaptor, PetscErrorCode (**)(DMAdaptor, DM, Vec, DM, Vec, void *));
 32: PETSC_EXTERN PetscErrorCode DMAdaptorSetTransferFunction(DMAdaptor, PetscErrorCode (*)(DMAdaptor, DM, Vec, DM, Vec, void *));
 33: PETSC_EXTERN PetscErrorCode DMAdaptorAdapt(DMAdaptor, Vec, DMAdaptationStrategy, DM *, Vec *);

 35: #endif