source: issm/trunk-jpl/externalpackages/petsc-dev/src/include/petscpf.h@ 11896

Last change on this file since 11896 was 11896, checked in by habbalf, 13 years ago

petsc-dev : Petsc development code in external packages. Mercurial updates

File size: 2.0 KB
RevLine 
[11896]1/*
2 mathematical function module.
3*/
4#if !defined(__PETSCPF_H)
5#define __PETSCPF_H
6#include "petscvec.h"
7PETSC_EXTERN_CXX_BEGIN
8
9/*
10 PFList contains the list of preconditioners currently registered
11 These are added with the PFRegisterDynamic() macro
12*/
13extern PetscFList PFList;
14
15/*J
16 PFType - Type of PETSc mathematical function, a string name
17
18 Level: beginner
19
20.seealso: PFSetType(), PF
21J*/
22#define PFType char*
23#define PFCONSTANT "constant"
24#define PFMAT "mat"
25#define PFSTRING "string"
26#define PFQUICK "quick"
27#define PFIDENTITY "identity"
28#define PFMATLAB "matlab"
29
30/*S
31 PF - Abstract PETSc mathematical function
32
33 Level: beginner
34
35 Concepts: functions
36
37.seealso: PFCreate(), PFDestroy(), PFSetType(), PFApply(), PFApplyVec(), PFSet(), PFType
38S*/
39typedef struct _p_PF* PF;
40
41extern PetscClassId PF_CLASSID;
42
43extern PetscErrorCode PFCreate(MPI_Comm,PetscInt,PetscInt,PF*);
44extern PetscErrorCode PFSetType(PF,const PFType,void*);
45extern PetscErrorCode PFSet(PF,PetscErrorCode(*)(void*,PetscInt,const PetscScalar*,PetscScalar*),PetscErrorCode(*)(void*,Vec,Vec),PetscErrorCode(*)(void*,PetscViewer),PetscErrorCode(*)(void*),void*);
46extern PetscErrorCode PFApply(PF,PetscInt,const PetscScalar*,PetscScalar*);
47extern PetscErrorCode PFApplyVec(PF,Vec,Vec);
48
49extern PetscErrorCode PFRegisterDestroy(void);
50extern PetscErrorCode PFRegisterAll(const char[]);
51extern PetscErrorCode PFInitializePackage(const char[]);
52extern PetscBool PFRegisterAllCalled;
53
54extern PetscErrorCode PFRegister(const char[],const char[],const char[],PetscErrorCode (*)(PF,void*));
55#if defined(PETSC_USE_DYNAMIC_LIBRARIES)
56#define PFRegisterDynamic(a,b,c,d) PFRegister(a,b,c,0)
57#else
58#define PFRegisterDynamic(a,b,c,d) PFRegister(a,b,c,d)
59#endif
60
61extern PetscErrorCode PFDestroy(PF*);
62extern PetscErrorCode PFSetFromOptions(PF);
63extern PetscErrorCode PFGetType(PF,const PFType*);
64
65extern PetscErrorCode PFView(PF,PetscViewer);
66
67#define PFSetOptionsPrefix(a,s) PetscObjectSetOptionsPrefix((PetscObject)(a),s)
68
69PETSC_EXTERN_CXX_END
70#endif
Note: See TracBrowser for help on using the repository browser.