Actual source code: slepcrg.h
slepc-3.7.0 2016-05-16
1: /*
2: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
3: SLEPc - Scalable Library for Eigenvalue Problem Computations
4: Copyright (c) 2002-2016, Universitat Politecnica de Valencia, Spain
6: This file is part of SLEPc.
8: SLEPc is free software: you can redistribute it and/or modify it under the
9: terms of version 3 of the GNU Lesser General Public License as published by
10: the Free Software Foundation.
12: SLEPc is distributed in the hope that it will be useful, but WITHOUT ANY
13: WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14: FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
15: more details.
17: You should have received a copy of the GNU Lesser General Public License
18: along with SLEPc. If not, see <http://www.gnu.org/licenses/>.
19: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
20: */
24: #include <slepcsys.h>
25: #include <slepcrgtypes.h>
27: PETSC_EXTERN PetscErrorCode RGInitializePackage(void);
29: /*J
30: RGType - String with the name of the region.
32: Level: beginner
34: .seealso: RGSetType(), RG
35: J*/
36: typedef const char* RGType;
37: #define RGINTERVAL "interval"
38: #define RGPOLYGON "polygon"
39: #define RGELLIPSE "ellipse"
40: #define RGRING "ring"
42: /* Logging support */
43: PETSC_EXTERN PetscClassId RG_CLASSID;
45: PETSC_EXTERN PetscErrorCode RGCreate(MPI_Comm,RG*);
46: PETSC_EXTERN PetscErrorCode RGSetType(RG,RGType);
47: PETSC_EXTERN PetscErrorCode RGGetType(RG,RGType*);
48: PETSC_EXTERN PetscErrorCode RGSetOptionsPrefix(RG,const char *);
49: PETSC_EXTERN PetscErrorCode RGAppendOptionsPrefix(RG,const char *);
50: PETSC_EXTERN PetscErrorCode RGGetOptionsPrefix(RG,const char *[]);
51: PETSC_EXTERN PetscErrorCode RGSetFromOptions(RG);
52: PETSC_EXTERN PetscErrorCode RGView(RG,PetscViewer);
53: PETSC_EXTERN PetscErrorCode RGDestroy(RG*);
55: PETSC_EXTERN PetscErrorCode RGIsTrivial(RG,PetscBool*);
56: PETSC_EXTERN PetscErrorCode RGSetComplement(RG,PetscBool);
57: PETSC_EXTERN PetscErrorCode RGGetComplement(RG,PetscBool*);
58: PETSC_EXTERN PetscErrorCode RGSetScale(RG,PetscReal);
59: PETSC_EXTERN PetscErrorCode RGGetScale(RG,PetscReal*);
60: PETSC_EXTERN PetscErrorCode RGPushScale(RG,PetscReal);
61: PETSC_EXTERN PetscErrorCode RGPopScale(RG);
62: PETSC_EXTERN PetscErrorCode RGCheckInside(RG,PetscInt,PetscScalar*,PetscScalar*,PetscInt*);
63: PETSC_EXTERN PetscErrorCode RGComputeContour(RG,PetscInt,PetscScalar*,PetscScalar*);
65: PETSC_EXTERN PetscFunctionList RGList;
66: PETSC_EXTERN PetscErrorCode RGRegister(const char[],PetscErrorCode(*)(RG));
68: /* --------- options specific to particular regions -------- */
70: PETSC_EXTERN PetscErrorCode RGEllipseSetParameters(RG,PetscScalar,PetscReal,PetscReal);
71: PETSC_EXTERN PetscErrorCode RGEllipseGetParameters(RG,PetscScalar*,PetscReal*,PetscReal*);
73: PETSC_EXTERN PetscErrorCode RGIntervalSetEndpoints(RG,PetscReal,PetscReal,PetscReal,PetscReal);
74: PETSC_EXTERN PetscErrorCode RGIntervalGetEndpoints(RG,PetscReal*,PetscReal*,PetscReal*,PetscReal*);
76: PETSC_EXTERN PetscErrorCode RGPolygonSetVertices(RG,PetscInt,PetscScalar*,PetscScalar*);
77: PETSC_EXTERN PetscErrorCode RGPolygonGetVertices(RG,PetscInt*,PetscScalar**,PetscScalar**);
79: PETSC_EXTERN PetscErrorCode RGRingSetParameters(RG,PetscScalar,PetscReal,PetscReal,PetscReal,PetscReal,PetscReal);
80: PETSC_EXTERN PetscErrorCode RGRingGetParameters(RG,PetscScalar*,PetscReal*,PetscReal*,PetscReal*,PetscReal*,PetscReal*);
82: #endif