Actual source code: petsccharacteristic.h
petsc-3.4.0 2013-05-13
1: /*
2: Defines the interface functions for the method of characteristics solvers
3: */
4: #ifndef __PETSCCHARACTERISTICS_H
7: #include <petscvec.h>
8: #include <petscdmdatypes.h>
10: PETSC_EXTERN PetscErrorCode CharacteristicInitializePackage(void);
12: /*S
13: Characteristic - Abstract PETSc object that manages method of characteristics solves
15: Level: beginner
17: Concepts: Method of characteristics
19: .seealso: CharacteristicCreate(), CharacteristicSetType(), CharacteristicType, SNES, TS, PC, KSP
20: S*/
21: typedef struct _p_Characteristic *Characteristic;
23: /*J
24: CharacteristicType - String with the name of a characteristics method or the creation function
25: with an optional dynamic library name, for example
26: http://www.mcs.anl.gov/petsc/lib.a:mymoccreate()
28: Level: beginner
30: .seealso: CharacteristicSetType(), Characteristic
31: J*/
32: #define CHARACTERISTICDA "da"
33: typedef const char* CharacteristicType;
35: PETSC_EXTERN PetscErrorCode CharacteristicCreate(MPI_Comm, Characteristic *);
36: PETSC_EXTERN PetscErrorCode CharacteristicSetType(Characteristic, CharacteristicType);
37: PETSC_EXTERN PetscErrorCode CharacteristicSetUp(Characteristic);
38: PETSC_EXTERN PetscErrorCode CharacteristicSetVelocityInterpolation(Characteristic, DM, Vec, Vec, PetscInt, PetscInt[], PetscErrorCode (*)(Vec, PetscReal[], PetscInt, PetscInt[], PetscScalar[], void *), void *);
39: PETSC_EXTERN PetscErrorCode CharacteristicSetVelocityInterpolationLocal(Characteristic, DM, Vec, Vec, PetscInt, PetscInt[], PetscErrorCode (*)(void *, PetscReal[], PetscInt, PetscInt[], PetscScalar[], void *), void *);
40: PETSC_EXTERN PetscErrorCode CharacteristicSetFieldInterpolation(Characteristic, DM, Vec, PetscInt, PetscInt[], PetscErrorCode (*)(Vec, PetscReal[], PetscInt, PetscInt[], PetscScalar[], void *), void *);
41: PETSC_EXTERN PetscErrorCode CharacteristicSetFieldInterpolationLocal(Characteristic, DM, Vec, PetscInt, PetscInt[], PetscErrorCode (*)(void *, PetscReal[], PetscInt, PetscInt[], PetscScalar[], void *), void *);
42: PETSC_EXTERN PetscErrorCode CharacteristicSolve(Characteristic, PetscReal, Vec);
43: PETSC_EXTERN PetscErrorCode CharacteristicDestroy(Characteristic*);
45: PETSC_EXTERN PetscBool CharacteristicRegisterAllCalled;
46: PETSC_EXTERN PetscFunctionList CharacteristicList;
47: PETSC_EXTERN PetscErrorCode CharacteristicRegisterAll(void);
49: PETSC_EXTERN PetscErrorCode CharacteristicRegister(const char[],PetscErrorCode (*)(Characteristic));
51: #endif /*__PETSCCHARACTERISTICS_H*/