Actual source code: petsccharacteristic.h
1: /*
2: Defines the interface functions for the method of characteristics solvers
3: */
4: #pragma once
6: #include <petscvec.h>
7: #include <petscdmtypes.h>
9: /* MANSEC = TS */
10: /* SUBMANSEC = Characteristic */
12: PETSC_EXTERN PetscErrorCode CharacteristicInitializePackage(void);
13: PETSC_EXTERN PetscErrorCode CharacteristicFinalizePackage(void);
15: /*S
16: Characteristic - Abstract PETSc object that manages method of characteristics solves
18: Level: beginner
20: .seealso: `CharacteristicCreate()`, `CharacteristicSetType()`, `CharacteristicType`, `SNES`, `TS`, `PC`, `KSP`
21: S*/
22: typedef struct _p_Characteristic *Characteristic;
24: /*J
25: CharacteristicType - String with the name of a characteristics method.
27: Level: beginner
29: .seealso: `CharacteristicSetType()`, `Characteristic`
30: J*/
31: typedef const char *CharacteristicType;
32: #define CHARACTERISTICDA "da"
34: PETSC_EXTERN PetscErrorCode CharacteristicCreate(MPI_Comm, Characteristic *);
35: PETSC_EXTERN PetscErrorCode CharacteristicSetType(Characteristic, CharacteristicType);
36: PETSC_EXTERN PetscErrorCode CharacteristicSetUp(Characteristic);
37: PETSC_EXTERN PetscErrorCode CharacteristicSetVelocityInterpolation(Characteristic, DM, Vec, Vec, PetscInt, PetscInt[], PetscErrorCode (*)(Vec, PetscReal[], PetscInt, PetscInt[], PetscScalar[], void *), void *);
38: PETSC_EXTERN PetscErrorCode CharacteristicSetVelocityInterpolationLocal(Characteristic, DM, Vec, Vec, PetscInt, PetscInt[], PetscErrorCode (*)(void *, PetscReal[], PetscInt, PetscInt[], PetscScalar[], void *), void *);
39: PETSC_EXTERN PetscErrorCode CharacteristicSetFieldInterpolation(Characteristic, DM, Vec, PetscInt, PetscInt[], PetscErrorCode (*)(Vec, PetscReal[], PetscInt, PetscInt[], PetscScalar[], void *), void *);
40: PETSC_EXTERN PetscErrorCode CharacteristicSetFieldInterpolationLocal(Characteristic, DM, Vec, PetscInt, PetscInt[], PetscErrorCode (*)(void *, PetscReal[], PetscInt, PetscInt[], PetscScalar[], void *), void *);
41: PETSC_EXTERN PetscErrorCode CharacteristicSolve(Characteristic, PetscReal, Vec);
42: PETSC_EXTERN PetscErrorCode CharacteristicDestroy(Characteristic *);
44: PETSC_EXTERN PetscFunctionList CharacteristicList;
46: PETSC_EXTERN PetscErrorCode CharacteristicRegister(const char[], PetscErrorCode (*)(Characteristic));