Actual source code: petscdmadaptor.h

  1: /*
  2:       Objects which encapsulate mesh adaptation operation
  3: */
  4: #pragma once

  6: #include <petscdm.h>
  7: #include <petscsnestypes.h>
  8: #include <petscdmadaptortypes.h>

 10: /* SUBMANSEC = DM */

 12: PETSC_EXTERN PetscClassId DMADAPTOR_CLASSID;

 14: /*J
 15:    DMAdaptorType - String with the name of a PETSc DMAdaptor type

 17:    Level: beginner

 19:    Note:
 20:    [](dm_adaptor_table) for a table of available matrix types

 22: .seealso: [](dm_adaptor_table), [](ch_unstructured), `DMAdaptorCreate()`, `DMAdaptor`, `DMAdaptorRegister()`
 23: J*/
 24: typedef const char *DMAdaptorType;
 25: #define DMADAPTORGRADIENT "gradient"
 26: #define DMADAPTORFLUX     "flux"

 28: PETSC_EXTERN PetscFunctionList DMAdaptorList;
 29: PETSC_EXTERN PetscFunctionList DMAdaptorMonitorList;
 30: PETSC_EXTERN PetscFunctionList DMAdaptorMonitorCreateList;
 31: PETSC_EXTERN PetscFunctionList DMAdaptorMonitorDestroyList;

 33: PETSC_EXTERN PetscErrorCode DMAdaptorCreate(MPI_Comm, DMAdaptor *);
 34: PETSC_EXTERN PetscErrorCode DMAdaptorSetType(DMAdaptor, DMAdaptorType);
 35: PETSC_EXTERN PetscErrorCode DMAdaptorGetType(DMAdaptor, DMAdaptorType *);
 36: PETSC_EXTERN PetscErrorCode DMAdaptorRegister(const char[], PetscErrorCode (*)(DMAdaptor));
 37: PETSC_EXTERN PetscErrorCode DMAdaptorRegisterAll(void);
 38: PETSC_EXTERN PetscErrorCode DMAdaptorRegisterDestroy(void);
 39: PETSC_EXTERN PetscErrorCode DMAdaptorSetOptionsPrefix(DMAdaptor, const char[]);
 40: PETSC_EXTERN PetscErrorCode DMAdaptorSetFromOptions(DMAdaptor);
 41: PETSC_EXTERN PetscErrorCode DMAdaptorSetUp(DMAdaptor);
 42: PETSC_EXTERN PetscErrorCode DMAdaptorView(DMAdaptor, PetscViewer);
 43: PETSC_EXTERN PetscErrorCode DMAdaptorDestroy(DMAdaptor *);
 44: PETSC_EXTERN PetscErrorCode DMAdaptorGetSolver(DMAdaptor, SNES *);
 45: PETSC_EXTERN PetscErrorCode DMAdaptorSetSolver(DMAdaptor, SNES);
 46: PETSC_EXTERN PetscErrorCode DMAdaptorGetSequenceLength(DMAdaptor, PetscInt *);
 47: PETSC_EXTERN PetscErrorCode DMAdaptorSetSequenceLength(DMAdaptor, PetscInt);
 48: PETSC_EXTERN PetscErrorCode DMAdaptorGetTransferFunction(DMAdaptor, PetscErrorCode (**)(DMAdaptor, DM, Vec, DM, Vec, void *));
 49: PETSC_EXTERN PetscErrorCode DMAdaptorSetTransferFunction(DMAdaptor, PetscErrorCode (*)(DMAdaptor, DM, Vec, DM, Vec, void *));
 50: PETSC_EXTERN PetscErrorCode DMAdaptorGetMixedSetupFunction(DMAdaptor, PetscErrorCode (**)(DMAdaptor, DM));
 51: PETSC_EXTERN PetscErrorCode DMAdaptorSetMixedSetupFunction(DMAdaptor, PetscErrorCode (*)(DMAdaptor, DM));
 52: PETSC_EXTERN PetscErrorCode DMAdaptorAdapt(DMAdaptor, Vec, DMAdaptationStrategy, DM *, Vec *);
 53: PETSC_EXTERN PetscErrorCode DMAdaptorGetCriterion(DMAdaptor, DMAdaptationCriterion *);
 54: PETSC_EXTERN PetscErrorCode DMAdaptorSetCriterion(DMAdaptor, DMAdaptationCriterion);

 56: PETSC_EXTERN PetscErrorCode DMAdaptorMonitorRegister(const char[], PetscViewerType, PetscViewerFormat, PetscErrorCode (*)(DMAdaptor, PetscInt, DM, DM, PetscInt, PetscReal[], Vec, PetscViewerAndFormat *), PetscErrorCode (*)(PetscViewer, PetscViewerFormat, void *, PetscViewerAndFormat **), PetscErrorCode (*)(PetscViewerAndFormat **));
 57: PETSC_EXTERN PetscErrorCode DMAdaptorMonitorRegisterAll(void);
 58: PETSC_EXTERN PetscErrorCode DMAdaptorMonitorRegisterDestroy(void);
 59: PETSC_EXTERN PetscErrorCode DMAdaptorMonitor(DMAdaptor, PetscInt, DM, DM, PetscInt, PetscReal[], Vec);
 60: PETSC_EXTERN PetscErrorCode DMAdaptorMonitorSet(DMAdaptor, PetscErrorCode (*)(DMAdaptor, PetscInt, DM, DM, PetscInt, PetscReal[], Vec, void *), void *, PetscCtxDestroyFn *);
 61: PETSC_EXTERN PetscErrorCode DMAdaptorMonitorSetFromOptions(DMAdaptor, const char[], const char[], void *);
 62: PETSC_EXTERN PetscErrorCode DMAdaptorMonitorCancel(DMAdaptor);
 63: PETSC_EXTERN PetscErrorCode DMAdaptorMonitorSize(DMAdaptor, PetscInt, DM, DM, PetscInt, PetscReal[], Vec, PetscViewerAndFormat *);
 64: PETSC_EXTERN PetscErrorCode DMAdaptorMonitorError(DMAdaptor, PetscInt, DM, DM, PetscInt, PetscReal[], Vec, PetscViewerAndFormat *);
 65: PETSC_EXTERN PetscErrorCode DMAdaptorMonitorErrorDraw(DMAdaptor, PetscInt, DM, DM, PetscInt, PetscReal[], Vec, PetscViewerAndFormat *);
 66: PETSC_EXTERN PetscErrorCode DMAdaptorMonitorErrorDrawLGCreate(PetscViewer, PetscViewerFormat, void *, PetscViewerAndFormat **);
 67: PETSC_EXTERN PetscErrorCode DMAdaptorMonitorErrorDrawLG(DMAdaptor, PetscInt, DM, DM, PetscInt, PetscReal[], Vec, PetscViewerAndFormat *);