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*/