Actual source code: petsccharacteristic.h
petsc-3.12.4 2020-02-04
Report Typos and Errors

      1: /*
      2:    Defines the interface functions for the method of characteristics solvers
      3: */
      4: #ifndef PETSCCHARACTERISTICS_H
      5: #define 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: .seealso:  CharacteristicCreate(), CharacteristicSetType(), CharacteristicType, SNES, TS, PC, KSP
     18: S*/
     19: typedef struct _p_Characteristic *Characteristic;

     21: /*J
     22:     CharacteristicType - String with the name of a characteristics method.

     24:    Level: beginner

     26: .seealso: CharacteristicSetType(), Characteristic
     27: J*/
     28: #define CHARACTERISTICDA "da"
     29: typedef const char* CharacteristicType;

     31: PETSC_EXTERN PetscErrorCode CharacteristicCreate(MPI_Comm, Characteristic *);
     32: PETSC_EXTERN PetscErrorCode CharacteristicSetType(Characteristic, CharacteristicType);
     33: PETSC_EXTERN PetscErrorCode CharacteristicSetUp(Characteristic);
     34: PETSC_EXTERN PetscErrorCode CharacteristicSetVelocityInterpolation(Characteristic, DM, Vec, Vec, PetscInt, PetscInt[], PetscErrorCode (*)(Vec, PetscReal[], PetscInt, PetscInt[], PetscScalar[], void *), void *);
     35: PETSC_EXTERN PetscErrorCode CharacteristicSetVelocityInterpolationLocal(Characteristic, DM, Vec, Vec, PetscInt, PetscInt[], PetscErrorCode (*)(void *, PetscReal[], PetscInt, PetscInt[], PetscScalar[], void *), void *);
     36: PETSC_EXTERN PetscErrorCode CharacteristicSetFieldInterpolation(Characteristic, DM, Vec, PetscInt, PetscInt[], PetscErrorCode (*)(Vec, PetscReal[], PetscInt, PetscInt[], PetscScalar[], void *), void *);
     37: PETSC_EXTERN PetscErrorCode CharacteristicSetFieldInterpolationLocal(Characteristic, DM, Vec, PetscInt, PetscInt[], PetscErrorCode (*)(void *, PetscReal[], PetscInt, PetscInt[], PetscScalar[], void *), void *);
     38: PETSC_EXTERN PetscErrorCode CharacteristicSolve(Characteristic, PetscReal, Vec);
     39: PETSC_EXTERN PetscErrorCode CharacteristicDestroy(Characteristic*);

     41: PETSC_EXTERN PetscFunctionList CharacteristicList;

     43: PETSC_EXTERN PetscErrorCode CharacteristicRegister(const char[],PetscErrorCode (*)(Characteristic));

     45: #endif /* PETSCCHARACTERISTICS_H */