Actual source code: slepcrg.h
slepc-3.5.2 2014-10-10
1: /*
2: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
3: SLEPc - Scalable Library for Eigenvalue Problem Computations
4: Copyright (c) 2002-2014, 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"
41: /* Logging support */
42: PETSC_EXTERN PetscClassId RG_CLASSID;
44: PETSC_EXTERN PetscErrorCode RGCreate(MPI_Comm,RG*);
45: PETSC_EXTERN PetscErrorCode RGSetType(RG,RGType);
46: PETSC_EXTERN PetscErrorCode RGGetType(RG,RGType*);
47: PETSC_EXTERN PetscErrorCode RGSetOptionsPrefix(RG,const char *);
48: PETSC_EXTERN PetscErrorCode RGAppendOptionsPrefix(RG,const char *);
49: PETSC_EXTERN PetscErrorCode RGGetOptionsPrefix(RG,const char *[]);
50: PETSC_EXTERN PetscErrorCode RGSetFromOptions(RG);
51: PETSC_EXTERN PetscErrorCode RGView(RG,PetscViewer);
52: PETSC_EXTERN PetscErrorCode RGDestroy(RG*);
54: PETSC_EXTERN PetscErrorCode RGIsTrivial(RG,PetscBool*);
55: PETSC_EXTERN PetscErrorCode RGSetComplement(RG,PetscBool);
56: PETSC_EXTERN PetscErrorCode RGGetComplement(RG,PetscBool*);
57: PETSC_EXTERN PetscErrorCode RGCheckInside(RG,PetscInt,PetscScalar*,PetscScalar*,PetscInt*);
58: PETSC_EXTERN PetscErrorCode RGComputeContour(RG,PetscInt,PetscScalar*,PetscScalar*);
60: PETSC_EXTERN PetscFunctionList RGList;
61: PETSC_EXTERN PetscBool RGRegisterAllCalled;
62: PETSC_EXTERN PetscErrorCode RGRegisterAll(void);
63: PETSC_EXTERN PetscErrorCode RGRegister(const char[],PetscErrorCode(*)(RG));
65: /* --------- options specific to particular regions -------- */
67: PETSC_EXTERN PetscErrorCode RGEllipseSetParameters(RG,PetscScalar,PetscReal,PetscReal);
68: PETSC_EXTERN PetscErrorCode RGEllipseGetParameters(RG,PetscScalar*,PetscReal*,PetscReal*);
70: PETSC_EXTERN PetscErrorCode RGIntervalSetEndpoints(RG,PetscReal,PetscReal,PetscReal,PetscReal);
71: PETSC_EXTERN PetscErrorCode RGIntervalGetEndpoints(RG,PetscReal*,PetscReal*,PetscReal*,PetscReal*);
73: #endif