Actual source code: slepcrg.h
slepc-3.10.1 2018-10-23
1: /*
2: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
3: SLEPc - Scalable Library for Eigenvalue Problem Computations
4: Copyright (c) 2002-2018, Universitat Politecnica de Valencia, Spain
6: This file is part of SLEPc.
7: SLEPc is distributed under a 2-clause BSD license (see LICENSE).
8: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
9: */
10: /*
11: User interface for the region object in SLEPc
12: */
16: #include <slepcsys.h>
17: #include <slepcrgtypes.h>
19: PETSC_EXTERN PetscErrorCode RGInitializePackage(void);
21: /*J
22: RGType - String with the name of the region.
24: Level: beginner
26: .seealso: RGSetType(), RG
27: J*/
28: typedef const char* RGType;
29: #define RGINTERVAL "interval"
30: #define RGPOLYGON "polygon"
31: #define RGELLIPSE "ellipse"
32: #define RGRING "ring"
34: /* Logging support */
35: PETSC_EXTERN PetscClassId RG_CLASSID;
37: PETSC_EXTERN PetscErrorCode RGCreate(MPI_Comm,RG*);
38: PETSC_EXTERN PetscErrorCode RGSetType(RG,RGType);
39: PETSC_EXTERN PetscErrorCode RGGetType(RG,RGType*);
40: PETSC_EXTERN PetscErrorCode RGSetOptionsPrefix(RG,const char *);
41: PETSC_EXTERN PetscErrorCode RGAppendOptionsPrefix(RG,const char *);
42: PETSC_EXTERN PetscErrorCode RGGetOptionsPrefix(RG,const char *[]);
43: PETSC_EXTERN PetscErrorCode RGSetFromOptions(RG);
44: PETSC_EXTERN PetscErrorCode RGView(RG,PetscViewer);
45: PETSC_STATIC_INLINE PetscErrorCode RGViewFromOptions(RG rg,PetscObject obj,const char name[]) {return PetscObjectViewFromOptions((PetscObject)rg,obj,name);}
46: PETSC_EXTERN PetscErrorCode RGDestroy(RG*);
48: PETSC_EXTERN PetscErrorCode RGIsTrivial(RG,PetscBool*);
49: PETSC_EXTERN PetscErrorCode RGSetComplement(RG,PetscBool);
50: PETSC_EXTERN PetscErrorCode RGGetComplement(RG,PetscBool*);
51: PETSC_EXTERN PetscErrorCode RGSetScale(RG,PetscReal);
52: PETSC_EXTERN PetscErrorCode RGGetScale(RG,PetscReal*);
53: PETSC_EXTERN PetscErrorCode RGPushScale(RG,PetscReal);
54: PETSC_EXTERN PetscErrorCode RGPopScale(RG);
55: PETSC_EXTERN PetscErrorCode RGCheckInside(RG,PetscInt,PetscScalar*,PetscScalar*,PetscInt*);
56: PETSC_EXTERN PetscErrorCode RGComputeContour(RG,PetscInt,PetscScalar*,PetscScalar*);
57: PETSC_EXTERN PetscErrorCode RGComputeBoundingBox(RG,PetscReal*,PetscReal*,PetscReal*,PetscReal*);
59: PETSC_EXTERN PetscFunctionList RGList;
60: PETSC_EXTERN PetscErrorCode RGRegister(const char[],PetscErrorCode(*)(RG));
62: /* --------- options specific to particular regions -------- */
64: PETSC_EXTERN PetscErrorCode RGEllipseSetParameters(RG,PetscScalar,PetscReal,PetscReal);
65: PETSC_EXTERN PetscErrorCode RGEllipseGetParameters(RG,PetscScalar*,PetscReal*,PetscReal*);
67: PETSC_EXTERN PetscErrorCode RGIntervalSetEndpoints(RG,PetscReal,PetscReal,PetscReal,PetscReal);
68: PETSC_EXTERN PetscErrorCode RGIntervalGetEndpoints(RG,PetscReal*,PetscReal*,PetscReal*,PetscReal*);
70: PETSC_EXTERN PetscErrorCode RGPolygonSetVertices(RG,PetscInt,PetscScalar*,PetscScalar*);
71: PETSC_EXTERN PetscErrorCode RGPolygonGetVertices(RG,PetscInt*,PetscScalar**,PetscScalar**);
73: PETSC_EXTERN PetscErrorCode RGRingSetParameters(RG,PetscScalar,PetscReal,PetscReal,PetscReal,PetscReal,PetscReal);
74: PETSC_EXTERN PetscErrorCode RGRingGetParameters(RG,PetscScalar*,PetscReal*,PetscReal*,PetscReal*,PetscReal*,PetscReal*);
76: #endif