Provided by: python-petsc4py-doc_3.22.4-1ubuntu1_all 

NAME
petsc4py - PETSc for Python Author Lisandro Dalcin Contact dalcinl@gmail.com Web Site https://gitlab.com/petsc/petsc Date Mar 12, 2025 Abstract This document describes petsc4py, a Python wrapper to the PETSc libraries. PETSc (the Portable, Extensible Toolkit for Scientific Computation) is a suite of data structures and routines for the scalable (parallel) solution of scientific applications modeled by partial differential equations. It employs the MPI standard for all message-passing communication. This package provides an important subset of PETSc functionalities and uses NumPy to efficiently manage input and output of array data. A good friend of petsc4py is: • mpi4py: Python bindings for MPI, the Message Passing Interface. Other projects depend on petsc4py: • slepc4py: Python bindings for SLEPc, the Scalable Library for Eigenvalue Problem Computations.
PETSC OVERVIEW
PETSc is a suite of data structures and routines for the scalable (parallel) solution of scientific applications modeled by partial differential equations. It employs the MPI standard for all message-passing communication. PETSc is intended for use in large-scale application projects [petsc-efficient], and several ongoing computational science projects are built around the PETSc libraries. With strict attention to component interoperability, PETSc facilitates the integration of independently developed application modules, which often most naturally employ different coding styles and data structures. PETSc is easy to use for beginners [petsc-user-ref]. Moreover, its careful design allows advanced users to have detailed control over the solution process. PETSc includes an expanding suite of parallel linear and nonlinear equation solvers that are easily used in application codes written in C, C++, and Fortran. PETSc provides many of the mechanisms needed within parallel application codes, such as simple parallel matrix and vector assembly routines that allow the overlap of communication and computation. [petsc-user-ref] S. Balay, S. Abhyankar, M. Adams, S. Benson, J. Brown, P. Brune, K. Buschelman, E. Constantinescu, L. Dalcin, A. Dener, V. Eijkhout, J. Faibussowitsch, W. Gropp, V. Hapla, T. Isaac, P. Jolivet, D. Karpeyev, D. Kaushik, M. Knepley, F. Kong, S. Kruger, D. May, L. Curfman McInnes, R. Mills, L. Mitchell, T. Munson, J. Roman, K. Rupp, P. Sanan, J Sarich, B. Smith, H. Suh, S. Zampini, H. Zhang, and H. Zhang, J. Zhang, PETSc/TAO Users Manual, ANL-21/39 - Revision 3.22, 2024. ‐ http://dx.doi.org/10.2172/2205494, https://petsc.org/release/docs/manual/manual.pdf [petsc-efficient] Satish Balay, Victor Eijkhout, William D. Gropp, Lois Curfman McInnes and Barry F. Smith. Efficient Management of Parallelism in Object Oriented Numerical Software Libraries. Modern Software Tools in Scientific Computing. E. Arge, A. M. Bruaset and H. P. Langtangen, editors. 163--202. Birkhauser Press. 1997. Components PETSc is designed with an object-oriented style. Almost all user-visible types are abstract interfaces with implementations that may be chosen at runtime. Those objects are managed through handles to opaque data structures which are created, accessed and destroyed by calling appropriate library routines. PETSc consists of a variety of components. Each component manipulates a particular family of objects and the operations one would like to perform on these objects. These components provide the functionality required for many parallel solutions of PDEs. Vec Provides the vector operations required for setting up and solving large-scale linear and nonlinear problems. Includes easy-to-use parallel scatter and gather operations, as well as special-purpose code for handling ghost points for regular data structures. Mat A large suite of data structures and code for the manipulation of parallel sparse matrices. Includes several different parallel matrix data structures, each appropriate for a different class of problems. PC A collection of sequential and parallel preconditioners, including (sequential) ILU(k), LU, and (both sequential and parallel) block Jacobi, overlapping additive Schwarz methods. KSP Parallel implementations of many popular Krylov subspace iterative methods, including GMRES, CG, CGS, Bi-CG-Stab, two variants of TFQMR, CR, and LSQR. All are coded so that they are immediately usable with any preconditioners and any matrix data structures, including matrix-free methods. SNES Data-structure-neutral implementations of Newton-like methods for nonlinear systems. Includes both line search and trust region techniques with a single interface. Employs by default the above data structures and linear solvers. Users can set custom monitoring routines, convergence criteria, etc. TS Code for the time evolution of solutions of PDEs. In addition, provides pseudo-transient continuation techniques for computing steady-state solutions.
INSTALLATION
Install from PyPI using pip You can use pip to install petsc4py and its dependencies (mpi4py is optional but highly recommended): $ python -m pip install mpi4py petsc petsc4py Install from the PETSc source tree First build PETSc. Next cd to the top of the PETSc source tree and set the PETSC_DIR and PETSC_ARCH environment variables. Run: $ python -m pip install src/binding/petsc4py The installation of petsc4py supports multiple PETSC_ARCH in the form of colon separated list: $ PETSC_ARCH='arch-0:...:arch-N' python -m pip install src/binding/petsc4py If you are cross-compiling, and the numpy module cannot be loaded on your build host, then before invoking pip, set the NUMPY_INCLUDE environment variable to the path that would be returned by import numpy; numpy.get_include(): $ export NUMPY_INCLUDE=/usr/lib/pythonX/site-packages/numpy/core/include Running the testing suite When installing from source, the petsc4py complete testsuite can be run as: $ cd src/binding/petsc4py $ python test/runtests.py or via the makefile rule test: $ make test -C src/binding/petsc4py Specific tests can be run using the command-line option -k, e.g.: $ python test/runtests.py -k test_optdb to run all the tests provided in tests/test_optdb.py. For other command-line options, run: $ python test/runtests.py --help If not otherwise specified, all tests will be run in sequential mode. To run all the tests with the same number of MPI processes, for example 4, run: $ mpiexec -n 4 python test/runtests.py or: $ make test-4 -C src/binding/petsc4py Building the documentation Install the documentation dependencies: $ python -m pip install -r ${PETSC_DIR/doc/requirements.txt Then: $ cd src/binding/petsc4py/docs/source $ make html The resulting HTML files will be in _build/html. NOTE: Building the documentation requires Python 3.11 or later.
CONTRIBUTING
Contributions from the user community are welcome. See the PETSc developers documentation for general information on contributions. New contributions to petsc4py must adhere with the coding standards. We use cython-lint for Cython and ‐ ruff for Python source codes. These can be installed using: $ python -m pip install -r src/binding/petsc4py/conf/requirements-lint.txt If you are contributing Cython code, you can check compliance with: $ make cython-lint -C src/binding/petsc4py For Python code, run: $ make ruff-lint -C src/binding/petsc4py Python code can be auto-formatted using: $ make ruff-lint RUFF_OPTS='format' -C src/binding/petsc4py New contributions to petsc4py must be tested. Tests are located in the src/binding/petsc4py/test folder. To add a new test, either add a new test_xxx.py or modify a pre-existing file according to the unittest specifications. If you add a new test_xxx.py, you can run the tests using: $ cd src/binding/petsc4py $ python test/runtests.py -k test_xxx If instead you are modifying an existing test_xxx.py, you can test your additions by using the fully qualified name of the Python class or method you are modifying, e.g.: $ python test/runtests.py -k test_xxx.class_name.method_name All new code must include documentation in accordance with the documentation standard. To check for compliance, run: $ make html SPHINXOPTS='-W' -C src/binding/petsc4py/docs/source WARNING: The docstrings must not cause Sphinx warnings.
CITATIONS
If PETSc for Python has been significant to a project that leads to an academic publication, please acknowledge that fact by citing the project. • L. Dalcin, P. Kler, R. Paz, and A. Cosimo, Parallel Distributed Computing using Python, Advances in Water Resources, 34(9):1124-1139, 2011. https://doi.org/10.1016/j.advwatres.2011.04.013 • S. Balay, S. Abhyankar, M. Adams, S. Benson, J. Brown, P. Brune, K. Buschelman, E. Constantinescu, L. Dalcin, A. Dener, V. Eijkhout, J. Faibussowitsch, W. Gropp, V. Hapla, T. Isaac, P. Jolivet, D. Karpeyev, D. Kaushik, M. Knepley, F. Kong, S. Kruger, D. May, L. Curfman McInnes, R. Mills, L. Mitchell, T. Munson, J. Roman, K. Rupp, P. Sanan, J Sarich, B. Smith, H. Suh, S. Zampini, H. Zhang, and H. Zhang, J. Zhang, PETSc/TAO Users Manual, ANL-21/39 - Revision 3.22, 2024. ‐ https://doi.org/10.2172/2205494, https://petsc.org/release/docs/manual/manual.pdf
REFERENCE
┌─────────────────┬───────────────────────────────────────┐ │ petsc4py │ The PETSc for Python package. │ ├─────────────────┼───────────────────────────────────────┤ │ petsc4py.typing │ Typing support. │ ├─────────────────┼───────────────────────────────────────┤ │ petsc4py.PETSc │ Portable, Extensible Toolkit for │ │ │ Scientific Computation. │ └─────────────────┴───────────────────────────────────────┘ petsc4py The PETSc for Python package. This package is an interface to PETSc libraries. PETSc (the Portable, Extensible Toolkit for Scientific Computation) is a suite of data structures and routines for the scalable (parallel) solution of scientific applications modeled by partial differential equations. It employs the MPI standard for all message-passing communications. Functions ┌──────────────────────────┬───────────────────────────────────────┐ │ get_config() │ Return a dictionary with information │ │ │ about PETSc. │ ├──────────────────────────┼───────────────────────────────────────┤ │ get_include() │ Return the directory in the package │ │ │ that contains header files. │ ├──────────────────────────┼───────────────────────────────────────┤ │ init([args, arch, comm]) │ Initialize PETSc. │ └──────────────────────────┴───────────────────────────────────────┘ petsc4py.get_config petsc4py.get_config() Return a dictionary with information about PETSc. Return type dict[str, str] petsc4py.get_include petsc4py.get_include() Return the directory in the package that contains header files. Extension modules that need to compile against petsc4py should use this function to locate the appropriate include directory. Example Using Python distutils or NumPy distutils: import petsc4py Extension('extension_name', ... include_dirs=[..., petsc4py.get_include()]) Return type str petsc4py.init petsc4py.init(args=None, arch=None, comm=None) Initialize PETSc. Parameters • args (str | list[str] | None) -- Command-line arguments, usually the sys.argv list • arch (str | None) -- Specific configuration to use • comm (Intracomm | None) -- MPI commmunicator Return type None Notes This function should be called only once, typically at the very beginning of the bootstrap script of an application. petsc4py.typing Typing support. Attributes ┌────────────────────────────────┬───────────────────────────────────────┐ │ Scalar │ Scalar type. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ ArrayBool │ Array of bool. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ ArrayInt │ Array of int. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ ArrayReal │ Array of float. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ ArrayComplex │ Array of complex. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ ArrayScalar │ Array of Scalar numbers. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ DimsSpec │ Dimensions specification. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ AccessModeSpec │ Access mode specification. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ InsertModeSpec │ Insertion mode specification. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ ScatterModeSpec │ Scatter mode specification. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ LayoutSizeSpec │ int or 2-tuple of int describing the │ │ │ layout sizes. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ NormTypeSpec │ Norm type specification. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ PetscOptionsHandlerFunction │ Callback for processing extra │ │ │ options. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ MatAssemblySpec │ Matrix assembly specification. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ MatSizeSpec │ int or (nested) tuple of int │ │ │ describing the matrix sizes. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ MatBlockSizeSpec │ The row and column block sizes. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ CSRIndicesSpec │ CSR indices format specification. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ CSRSpec │ CSR format specification. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ NNZSpec │ Nonzero pattern specification. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ MatNullFunction │ PETSc.NullSpace callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ DMCoarsenHookFunction │ PETSc.DM coarsening hook callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ DMRestrictHookFunction │ PETSc.DM restriction hook callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ KSPRHSFunction │ PETSc.KSP right-hand side function │ │ │ callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ KSPOperatorsFunction │ PETSc.KSP operators function │ │ │ callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ KSPConvergenceTestFunction │ PETSc.KSP convergence test callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ KSPMonitorFunction │ PETSc.KSP monitor callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ KSPPreSolveFunction │ PETSc.KSP pre solve callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ KSPPostSolveFunction │ PETSc.KSP post solve callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ SNESMonitorFunction │ SNES monitor callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ SNESObjFunction │ SNES objective function callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ SNESFunction │ SNES residual function callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ SNESJacobianFunction │ SNES Jacobian callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ SNESGuessFunction │ SNES initial guess callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ SNESUpdateFunction │ SNES step update callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ SNESLSPreFunction │ SNES linesearch pre-check update │ │ │ callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ SNESNGSFunction │ SNES nonlinear Gauss-Seidel callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ SNESConvergedFunction │ SNES convergence test callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TSRHSFunction │ TS right-hand side function callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TSRHSJacobian │ TS right-hand side Jacobian callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TSRHSJacobianP │ TS right-hand side parameter Jacobian │ │ │ callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TSIFunction │ TS implicit function callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TSIJacobian │ TS implicit Jacobian callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TSIJacobianP │ TS implicit parameter Jacobian │ │ │ callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TSI2Function │ TS implicit 2nd order function │ │ │ callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TSI2Jacobian │ TS implicit 2nd order Jacobian │ │ │ callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TSI2JacobianP │ TS implicit 2nd order parameter │ │ │ Jacobian callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TSMonitorFunction │ TS monitor callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TSPreStepFunction │ TS pre-step callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TSPostStepFunction │ TS post-step callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TSIndicatorFunction │ TS event indicator callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TSPostEventFunction │ TS post-event callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TAOObjectiveFunction │ TAO objective function callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TAOGradientFunction │ TAO objective gradient callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TAOObjectiveGradientFunction │ TAO objective function and gradient │ │ │ callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TAOHessianFunction │ TAO objective Hessian callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TAOUpdateFunction │ TAO update callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TAOMonitorFunction │ TAO monitor callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TAOConvergedFunction │ TAO convergence test callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TAOJacobianFunction │ TAO Jacobian callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TAOResidualFunction │ TAO residual callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TAOJacobianResidualFunction │ TAO Jacobian residual callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TAOVariableBoundsFunction │ TAO variable bounds callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TAOConstraintsFunction │ TAO constraints callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TAOLSObjectiveFunction │ TAOLineSearch objective function │ │ │ callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TAOLSGradientFunction │ TAOLineSearch objective gradient │ │ │ callback. │ ├────────────────────────────────┼───────────────────────────────────────┤ │ TAOLSObjectiveGradientFunction │ TAOLineSearch objective function and │ │ │ gradient callback. │ └────────────────────────────────┴───────────────────────────────────────┘ petsc4py.typing.Scalar petsc4py.typing.Scalar = float | complex Scalar type. Scalars can be either float or complex (but not both) depending on how PETSc was configured (./configure --with-scalar-type=real|complex). petsc4py.typing.ArrayBool petsc4py.typing.ArrayBool Array of bool. alias of ndarray[tuple[int, ...], dtype[bool]] petsc4py.typing.ArrayInt petsc4py.typing.ArrayInt Array of int. alias of ndarray[tuple[int, ...], dtype[int]] petsc4py.typing.ArrayReal petsc4py.typing.ArrayReal Array of float. alias of ndarray[tuple[int, ...], dtype[float]] petsc4py.typing.ArrayComplex petsc4py.typing.ArrayComplex Array of complex. alias of ndarray[tuple[int, ...], dtype[complex]] petsc4py.typing.ArrayScalar petsc4py.typing.ArrayScalar Array of Scalar numbers. alias of ndarray[tuple[int, ...], dtype[float | complex]] petsc4py.typing.DimsSpec petsc4py.typing.DimsSpec Dimensions specification. N-tuples indicates N-dimensional grid sizes. alias of tuple[int, ...] petsc4py.typing.AccessModeSpec petsc4py.typing.AccessModeSpec Access mode specification. Possible values are: • 'rw' Read-Write mode. • 'r' Read-only mode. • 'w' Write-only mode. • None as 'rw'. alias of Literal['rw', 'r', 'w'] | None petsc4py.typing.InsertModeSpec petsc4py.typing.InsertModeSpec = petsc4py.PETSc.InsertMode | bool | None Insertion mode specification. Possible values are: • InsertMode.ADD_VALUES Add new value to existing one. • InsertMode.INSERT_VALUES Replace existing entry with new value. • None as InsertMode.INSERT_VALUES. • False as InsertMode.INSERT_VALUES. • True as InsertMode.ADD_VALUES. SEE ALSO: InsertMode petsc4py.typing.ScatterModeSpec petsc4py.typing.ScatterModeSpec = petsc4py.PETSc.ScatterMode | bool | str | None Scatter mode specification. Possible values are: • ScatterMode.FORWARD Forward mode. • ScatterMode.REVERSE Reverse mode. • None as ScatterMode.FORWARD. • False as ScatterMode.FORWARD. • True as ScatterMode.REVERSE. • 'forward' as ScatterMode.FORWARD. • 'reverse' as ScatterMode.REVERSE. SEE ALSO: ScatterMode petsc4py.typing.LayoutSizeSpec petsc4py.typing.LayoutSizeSpec = int | tuple[int, int] int or 2-tuple of int describing the layout sizes. A single int indicates global size. A tuple of int indicates (local_size, global_size). SEE ALSO: Sys.splitOwnership petsc4py.typing.NormTypeSpec petsc4py.typing.NormTypeSpec = petsc4py.PETSc.NormType | None Norm type specification. Possible values include: • NormType.NORM_1 The 1-norm: Σₙ abs(xₙ) for vectors, maxₙ (Σᵢ abs(xₙᵢ)) for matrices. • NormType.NORM_2 The 2-norm: √(Σₙ xₙ²) for vectors, largest singular values for matrices. • NormType.NORM_INFINITY The ∞-norm: maxₙ abs(xₙ) for vectors, maxᵢ (Σₙ abs(xₙᵢ)) for matrices. • NormType.NORM_FROBENIUS The Frobenius norm: same as 2-norm for vectors, √(Σₙᵢ xₙᵢ²) for matrices. • NormType.NORM_1_AND_2 Compute both NormType.NORM_1 and NormType.NORM_2. • None as NormType.NORM_2 for vectors, NormType.NORM_FROBENIUS for matrices. SEE ALSO: PETSc.NormType, NormType petsc4py.typing.PetscOptionsHandlerFunction petsc4py.typing.PetscOptionsHandlerFunction Callback for processing extra options. alias of Callable[[Object], None] petsc4py.typing.MatAssemblySpec petsc4py.typing.MatAssemblySpec = petsc4py.PETSc.Mat.AssemblyType | bool | None Matrix assembly specification. Possible values are: • Mat.AssemblyType.FINAL • Mat.AssemblyType.FLUSH • None as Mat.AssemblyType.FINAL • False as Mat.AssemblyType.FINAL • True as Mat.AssemblyType.FLUSH SEE ALSO: MatAssemblyType petsc4py.typing.MatSizeSpec petsc4py.typing.MatSizeSpec = int | tuple[int, int] | tuple[tuple[int, int], tuple[int, int]] int or (nested) tuple of int describing the matrix sizes. If int then rows = columns. A single tuple of int indicates (rows, columns). A nested tuple of ‐ int indicates ((local_rows, rows), (local_columns, columns)). SEE ALSO: Sys.splitOwnership petsc4py.typing.MatBlockSizeSpec petsc4py.typing.MatBlockSizeSpec = int | tuple[int, int] The row and column block sizes. If a single int is provided then rows and columns share the same block size. petsc4py.typing.CSRIndicesSpec petsc4py.typing.CSRIndicesSpec CSR indices format specification. A 2-tuple carrying the (row_start, col_indices) information. alias of tuple[Sequence[int], Sequence[int]] petsc4py.typing.CSRSpec petsc4py.typing.CSRSpec CSR format specification. A 3-tuple carrying the (row_start, col_indices, values) information. alias of tuple[Sequence[int], Sequence[int], Sequence[float | complex]] petsc4py.typing.NNZSpec petsc4py.typing.NNZSpec Nonzero pattern specification. A single int corresponds to fixed number of non-zeros per row. A Sequence of int indicates different non-zeros per row. If a 2-tuple is used, the elements of the tuple corresponds to the on-process and off-process parts of the matrix. SEE ALSO: MatSeqAIJSetPreallocation, MatMPIAIJSetPreallocation alias of int | Sequence[int] | tuple[Sequence[int], Sequence[int]] petsc4py.typing.MatNullFunction petsc4py.typing.MatNullFunction PETSc.NullSpace callback. alias of Callable[[NullSpace, Vec], None] petsc4py.typing.DMCoarsenHookFunction petsc4py.typing.DMCoarsenHookFunction PETSc.DM coarsening hook callback. alias of Callable[[DM, DM], None] petsc4py.typing.DMRestrictHookFunction petsc4py.typing.DMRestrictHookFunction PETSc.DM restriction hook callback. alias of Callable[[DM, Mat, Vec, Mat, DM], None] petsc4py.typing.KSPRHSFunction petsc4py.typing.KSPRHSFunction PETSc.KSP right-hand side function callback. alias of Callable[[KSP, Vec], None] petsc4py.typing.KSPOperatorsFunction petsc4py.typing.KSPOperatorsFunction PETSc.KSP operators function callback. alias of Callable[[KSP, Mat, Mat], None] petsc4py.typing.KSPConvergenceTestFunction petsc4py.typing.KSPConvergenceTestFunction PETSc.KSP convergence test callback. alias of Callable[[KSP, int, float], ConvergedReason] petsc4py.typing.KSPMonitorFunction petsc4py.typing.KSPMonitorFunction PETSc.KSP monitor callback. alias of Callable[[KSP, int, float], None] petsc4py.typing.KSPPreSolveFunction petsc4py.typing.KSPPreSolveFunction PETSc.KSP pre solve callback. alias of Callable[[KSP, Vec, Vec], None] petsc4py.typing.KSPPostSolveFunction petsc4py.typing.KSPPostSolveFunction PETSc.KSP post solve callback. alias of Callable[[KSP, Vec, Vec], None] petsc4py.typing.SNESMonitorFunction petsc4py.typing.SNESMonitorFunction SNES monitor callback. alias of Callable[[SNES, int, float], None] petsc4py.typing.SNESObjFunction petsc4py.typing.SNESObjFunction SNES objective function callback. alias of Callable[[SNES, Vec], None] petsc4py.typing.SNESFunction petsc4py.typing.SNESFunction SNES residual function callback. alias of Callable[[SNES, Vec, Vec], None] petsc4py.typing.SNESJacobianFunction petsc4py.typing.SNESJacobianFunction SNES Jacobian callback. alias of Callable[[SNES, Vec, Mat, Mat], None] petsc4py.typing.SNESGuessFunction petsc4py.typing.SNESGuessFunction SNES initial guess callback. alias of Callable[[SNES, Vec], None] petsc4py.typing.SNESUpdateFunction petsc4py.typing.SNESUpdateFunction SNES step update callback. alias of Callable[[SNES, int], None] petsc4py.typing.SNESLSPreFunction petsc4py.typing.SNESLSPreFunction SNES linesearch pre-check update callback. alias of Callable[[Vec, Vec], None] petsc4py.typing.SNESNGSFunction petsc4py.typing.SNESNGSFunction SNES nonlinear Gauss-Seidel callback. alias of Callable[[SNES, Vec, Vec], None] petsc4py.typing.SNESConvergedFunction petsc4py.typing.SNESConvergedFunction SNES convergence test callback. alias of Callable[[SNES, int, tuple[float, float, float]], ConvergedReason] petsc4py.typing.TSRHSFunction petsc4py.typing.TSRHSFunction TS right-hand side function callback. alias of Callable[[TS, float, Vec, Vec], None] petsc4py.typing.TSRHSJacobian petsc4py.typing.TSRHSJacobian TS right-hand side Jacobian callback. alias of Callable[[TS, float, Vec, Mat, Mat], None] petsc4py.typing.TSRHSJacobianP petsc4py.typing.TSRHSJacobianP TS right-hand side parameter Jacobian callback. alias of Callable[[TS, float, Vec, Mat], None] petsc4py.typing.TSIFunction petsc4py.typing.TSIFunction TS implicit function callback. alias of Callable[[TS, float, Vec, Vec, Vec], None] petsc4py.typing.TSIJacobian petsc4py.typing.TSIJacobian TS implicit Jacobian callback. alias of Callable[[TS, float, Vec, Vec, float, Mat, Mat], None] petsc4py.typing.TSIJacobianP petsc4py.typing.TSIJacobianP TS implicit parameter Jacobian callback. alias of Callable[[TS, float, Vec, Vec, float, Mat], None] petsc4py.typing.TSI2Function petsc4py.typing.TSI2Function TS implicit 2nd order function callback. alias of Callable[[TS, float, Vec, Vec, Vec, Vec], None] petsc4py.typing.TSI2Jacobian petsc4py.typing.TSI2Jacobian TS implicit 2nd order Jacobian callback. alias of Callable[[TS, float, Vec, Vec, Vec, float, float, Mat, Mat], None] petsc4py.typing.TSI2JacobianP petsc4py.typing.TSI2JacobianP TS implicit 2nd order parameter Jacobian callback. alias of Callable[[TS, float, Vec, Vec, Vec, float, float, Mat], None] petsc4py.typing.TSMonitorFunction petsc4py.typing.TSMonitorFunction TS monitor callback. alias of Callable[[TS, int, float, Vec], None] petsc4py.typing.TSPreStepFunction petsc4py.typing.TSPreStepFunction TS pre-step callback. alias of Callable[[TS], None] petsc4py.typing.TSPostStepFunction petsc4py.typing.TSPostStepFunction TS post-step callback. alias of Callable[[TS], None] petsc4py.typing.TSIndicatorFunction petsc4py.typing.TSIndicatorFunction TS event indicator callback. alias of Callable[[TS, float, Vec, ndarray[tuple[int, ...], dtype[float]]], None] petsc4py.typing.TSPostEventFunction petsc4py.typing.TSPostEventFunction TS post-event callback. alias of Callable[[TS, ndarray[tuple[int, ...], dtype[int]], float, Vec, bool], None] petsc4py.typing.TAOObjectiveFunction petsc4py.typing.TAOObjectiveFunction TAO objective function callback. alias of Callable[[TAO, Vec], float] petsc4py.typing.TAOGradientFunction petsc4py.typing.TAOGradientFunction TAO objective gradient callback. alias of Callable[[TAO, Vec, Vec], None] petsc4py.typing.TAOObjectiveGradientFunction petsc4py.typing.TAOObjectiveGradientFunction TAO objective function and gradient callback. alias of Callable[[TAO, Vec, Vec], float] petsc4py.typing.TAOHessianFunction petsc4py.typing.TAOHessianFunction TAO objective Hessian callback. alias of Callable[[TAO, Vec, Mat, Mat], None] petsc4py.typing.TAOUpdateFunction petsc4py.typing.TAOUpdateFunction TAO update callback. alias of Callable[[TAO, int], None] petsc4py.typing.TAOMonitorFunction petsc4py.typing.TAOMonitorFunction TAO monitor callback. alias of Callable[[TAO], None] petsc4py.typing.TAOConvergedFunction petsc4py.typing.TAOConvergedFunction TAO convergence test callback. alias of Callable[[TAO], None] petsc4py.typing.TAOJacobianFunction petsc4py.typing.TAOJacobianFunction TAO Jacobian callback. alias of Callable[[TAO, Vec, Mat, Mat], None] petsc4py.typing.TAOResidualFunction petsc4py.typing.TAOResidualFunction TAO residual callback. alias of Callable[[TAO, Vec, Vec], None] petsc4py.typing.TAOJacobianResidualFunction petsc4py.typing.TAOJacobianResidualFunction TAO Jacobian residual callback. alias of Callable[[TAO, Vec, Mat, Mat], None] petsc4py.typing.TAOVariableBoundsFunction petsc4py.typing.TAOVariableBoundsFunction TAO variable bounds callback. alias of Callable[[TAO, Vec, Vec], None] petsc4py.typing.TAOConstraintsFunction petsc4py.typing.TAOConstraintsFunction TAO constraints callback. alias of Callable[[TAO, Vec, Vec], None] petsc4py.typing.TAOLSObjectiveFunction petsc4py.typing.TAOLSObjectiveFunction TAOLineSearch objective function callback. alias of Callable[[TAOLineSearch, Vec], float] petsc4py.typing.TAOLSGradientFunction petsc4py.typing.TAOLSGradientFunction TAOLineSearch objective gradient callback. alias of Callable[[TAOLineSearch, Vec, Vec], None] petsc4py.typing.TAOLSObjectiveGradientFunction petsc4py.typing.TAOLSObjectiveGradientFunction TAOLineSearch objective function and gradient callback. alias of Callable[[TAOLineSearch, Vec, Vec], float] petsc4py.PETSc Portable, Extensible Toolkit for Scientific Computation. Basic constants: DECIDE Use a default value for an int or float parameter. DEFAULT Use a default value chosen by PETSc. DETERMINE Compute a default value for an int or float parameter. For tolerances this uses the default value from when the object's type was set. CURRENT Do not change the current value that is set. UNLIMITED For a parameter that is a bound, such as the maximum number of iterations, do not bound the value. More constants: INFINITY Very large real value. NINFINITY Very large negative real value. PINFINITY Very large positive real value, same as INFINITY. Classes ┌─────────────────────┬───────────────────────────────────────┐ │ AO │ Application ordering object. │ ├─────────────────────┼───────────────────────────────────────┤ │ Comm │ Communicator object. │ ├─────────────────────┼───────────────────────────────────────┤ │ DM │ An object describing a computational │ │ │ grid or mesh. │ ├─────────────────────┼───────────────────────────────────────┤ │ DMComposite │ A DM object that is used to manage │ │ │ data for a collection of DMs. │ ├─────────────────────┼───────────────────────────────────────┤ │ DMDA │ A DM object that is used to manage │ │ │ data for a structured grid. │ ├─────────────────────┼───────────────────────────────────────┤ │ DMInterpolation │ Interpolation on a mesh. │ ├─────────────────────┼───────────────────────────────────────┤ │ DMLabel │ An object representing a subset of │ │ │ mesh entities from a DM. │ ├─────────────────────┼───────────────────────────────────────┤ │ DMPlex │ Encapsulate an unstructured mesh. │ ├─────────────────────┼───────────────────────────────────────┤ │ DMPlexTransform │ Mesh transformations. │ ├─────────────────────┼───────────────────────────────────────┤ │ DMPlexTransformType │ Transformation types. │ ├─────────────────────┼───────────────────────────────────────┤ │ DMShell │ A shell DM object, used to manage │ │ │ user-defined problem data. │ ├─────────────────────┼───────────────────────────────────────┤ │ DMStag │ A DM object representing a "staggered │ │ │ grid" or a structured cell complex. │ ├─────────────────────┼───────────────────────────────────────┤ │ DMSwarm │ A DM object used to represent arrays │ │ │ of data (fields) of arbitrary type. │ ├─────────────────────┼───────────────────────────────────────┤ │ DS │ Discrete System object. │ ├─────────────────────┼───────────────────────────────────────┤ │ Device │ The device object. │ ├─────────────────────┼───────────────────────────────────────┤ │ DeviceContext │ DeviceContext object. │ ├─────────────────────┼───────────────────────────────────────┤ │ DualSpace │ Dual space to a linear space. │ ├─────────────────────┼───────────────────────────────────────┤ │ FE │ A PETSc object that manages a finite │ │ │ element space. │ ├─────────────────────┼───────────────────────────────────────┤ │ IS │ A collection of indices. │ ├─────────────────────┼───────────────────────────────────────┤ │ InsertMode │ Insertion mode. │ ├─────────────────────┼───────────────────────────────────────┤ │ KSP │ Abstract PETSc object that manages │ │ │ all Krylov methods. │ ├─────────────────────┼───────────────────────────────────────┤ │ LGMap │ Mapping from a local to a global │ │ │ ordering. │ ├─────────────────────┼───────────────────────────────────────┤ │ Log │ Logging support. │ ├─────────────────────┼───────────────────────────────────────┤ │ LogClass │ Logging support. │ ├─────────────────────┼───────────────────────────────────────┤ │ LogEvent │ Logging support. │ ├─────────────────────┼───────────────────────────────────────┤ │ LogStage │ Logging support for different stages. │ ├─────────────────────┼───────────────────────────────────────┤ │ Mat │ Matrix object. │ ├─────────────────────┼───────────────────────────────────────┤ │ MatPartitioning │ Object for managing the partitioning │ │ │ of a matrix or graph. │ ├─────────────────────┼───────────────────────────────────────┤ │ NormType │ Norm type. │ ├─────────────────────┼───────────────────────────────────────┤ │ NullSpace │ Nullspace object. │ ├─────────────────────┼───────────────────────────────────────┤ │ Object │ Base class wrapping a PETSc object. │ ├─────────────────────┼───────────────────────────────────────┤ │ Options │ The options database object. │ ├─────────────────────┼───────────────────────────────────────┤ │ PC │ Preconditioners. │ ├─────────────────────┼───────────────────────────────────────┤ │ Partitioner │ A graph partitioner. │ ├─────────────────────┼───────────────────────────────────────┤ │ Quad │ Quadrature rule for integration. │ ├─────────────────────┼───────────────────────────────────────┤ │ Random │ The random number generator object. │ ├─────────────────────┼───────────────────────────────────────┤ │ SF │ Star Forest object for communication. │ ├─────────────────────┼───────────────────────────────────────┤ │ SNES │ Nonlinear equations solver. │ ├─────────────────────┼───────────────────────────────────────┤ │ Scatter │ Scatter object. │ ├─────────────────────┼───────────────────────────────────────┤ │ ScatterMode │ Scatter mode. │ ├─────────────────────┼───────────────────────────────────────┤ │ Section │ Mapping from integers in a range to │ │ │ unstructured set of integers. │ ├─────────────────────┼───────────────────────────────────────┤ │ Space │ Function space object. │ ├─────────────────────┼───────────────────────────────────────┤ │ Sys │ System utilities. │ ├─────────────────────┼───────────────────────────────────────┤ │ TAO │ Optimization solver. │ ├─────────────────────┼───────────────────────────────────────┤ │ TAOLineSearch │ TAO Line Search. │ ├─────────────────────┼───────────────────────────────────────┤ │ TS │ ODE integrator. │ ├─────────────────────┼───────────────────────────────────────┤ │ Vec │ A vector object. │ ├─────────────────────┼───────────────────────────────────────┤ │ Viewer │ Viewer object. │ ├─────────────────────┼───────────────────────────────────────┤ │ ViewerHDF5 │ Viewer object for HDF5 file formats. │ └─────────────────────┴───────────────────────────────────────┘ petsc4py.PETSc.AO class petsc4py.PETSc.AO Bases: Object Application ordering object. Enumerations ┌──────┬─────────────────────────────────┐ │ Type │ The application ordering types. │ └──────┴─────────────────────────────────┘ petsc4py.PETSc.AO.Type class petsc4py.PETSc.AO.Type Bases: object The application ordering types. Attributes Summary ┌────────────────┬───────────────────────────────────┐ │ ADVANCED │ Object ADVANCED of type str │ ├────────────────┼───────────────────────────────────┤ │ BASIC │ Object BASIC of type str │ ├────────────────┼───────────────────────────────────┤ │ MAPPING │ Object MAPPING of type str │ ├────────────────┼───────────────────────────────────┤ │ MEMORYSCALABLE │ Object MEMORYSCALABLE of type str │ └────────────────┴───────────────────────────────────┘ Attributes Documentation ADVANCED: str = ADVANCED Object ADVANCED of type str BASIC: str = BASIC Object BASIC of type str MAPPING: str = MAPPING Object MAPPING of type str MEMORYSCALABLE: str = MEMORYSCALABLE Object MEMORYSCALABLE of type str Methods Summary ┌───────────────────────────────────────┬───────────────────────────────────────┐ │ app2petsc(indices) │ Map an application-defined ordering │ │ │ to the PETSc ordering. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createBasic(app[, petsc, comm]) │ Return a basic application ordering │ │ │ using two orderings. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createMapping(app[, petsc, comm]) │ Return an application mapping using │ │ │ two orderings. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createMemoryScalable(app[, petsc, │ Return a memory scalable application │ │ comm]) │ ordering using two orderings. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy the application ordering. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getType() │ Return the application ordering type. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ petsc2app(indices) │ Map a PETSc ordering to the │ │ │ application-defined ordering. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ Display the application ordering. │ └───────────────────────────────────────┴───────────────────────────────────────┘ Methods Documentation app2petsc(indices) Map an application-defined ordering to the PETSc ordering. Collective. Any integers in indices that are negative are left unchanged. This allows one to convert, for example, neighbor lists that use negative entries to indicate nonexistent neighbors due to boundary conditions, etc. Integers that are out of range are mapped to -1. If IS is used, it cannot be of type stride or block. Parameters indices (Sequence[int] | IS) -- The indices; to be replaced with their mapped values. Return type Sequence[int] | IS SEE ALSO: petsc2app, AOApplicationToPetscIS, AOApplicationToPetsc Source code at petsc4py/PETSc/AO.pyx:214 createBasic(app, petsc=None, comm=None) Return a basic application ordering using two orderings. Collective. The arrays/indices app and petsc must contain all the integers 0 to len(app)-1 with no duplicates; that is there cannot be any "holes" in the indices. Use createMapping if you wish to have "holes" in the indices. Parameters • app (Sequence[int] | IS) -- The application ordering. • petsc (Sequence[int] | IS | None) -- Another ordering (may be None to indicate the natural ordering, that is 0, 1, 2, 3, ...). • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: createMemoryScalable, createMapping, AOCreateBasicIS, AOCreateBasic Source code at petsc4py/PETSc/AO.pyx:53 createMapping(app, petsc=None, comm=None) Return an application mapping using two orderings. Collective. The arrays app and petsc need NOT contain all the integers 0 to len(app)-1, that is there CAN be "holes" in the indices. Use createBasic if they do not have holes for better performance. Parameters • app (Sequence[int] | IS) -- The application ordering. • petsc (Sequence[int] | IS | None) -- Another ordering. May be None to indicate the identity ordering. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: createBasic, AOCreateMappingIS, AOCreateMapping Source code at petsc4py/PETSc/AO.pyx:154 createMemoryScalable(app, petsc=None, comm=None) Return a memory scalable application ordering using two orderings. Collective. The arrays/indices app and petsc must contain all the integers 0 to len(app)-1 with no duplicates; that is there cannot be any "holes" in the indices. Use createMapping if you wish to have "holes" in the indices. Comparing with createBasic, this routine trades memory with message communication. Parameters • app (Sequence[int] | IS) -- The application ordering. • petsc (Sequence[int] | IS | None) -- Another ordering (may be None to indicate the natural ordering, that is 0, 1, 2, 3, ...). • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: createBasic, createMapping, AOCreateMemoryScalableIS, AOCreateMemoryScalable Source code at petsc4py/PETSc/AO.pyx:102 destroy() Destroy the application ordering. Collective. SEE ALSO: AODestroy Source code at petsc4py/PETSc/AO.pyx:40 Return type Self getType() Return the application ordering type. Not collective. SEE ALSO: AOGetType Source code at petsc4py/PETSc/AO.pyx:200 Return type str petsc2app(indices) Map a PETSc ordering to the application-defined ordering. Collective. Any integers in indices that are negative are left unchanged. This allows one to convert, for example, neighbor lists that use negative entries to indicate nonexistent neighbors due to boundary conditions, etc. Integers that are out of range are mapped to -1. If IS is used, it cannot be of type stride or block. Parameters indices (Sequence[int] | IS) -- The indices; to be replaced with their mapped values. Return type Sequence[int] | IS SEE ALSO: app2petsc, AOPetscToApplicationIS, AOPetscToApplication Source code at petsc4py/PETSc/AO.pyx:248 view(viewer=None) Display the application ordering. Collective. Parameters viewer (Viewer | None) -- A Viewer to display the ordering. Return type None SEE ALSO: AOView Source code at petsc4py/PETSc/AO.pyx:21 petsc4py.PETSc.Comm class petsc4py.PETSc.Comm Bases: object Communicator object. Predefined instances: COMM_NULL The null (or invalid) communicator. COMM_SELF The self communicator. COMM_WORLD The world communicator. SEE ALSO: Sys.setDefaultComm, Sys.getDefaultComm Methods Summary ┌─────────────┬───────────────────────────────────────┐ │ barrier() │ Barrier synchronization. │ ├─────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy the communicator. │ ├─────────────┼───────────────────────────────────────┤ │ duplicate() │ Duplicate the communicator. │ ├─────────────┼───────────────────────────────────────┤ │ getRank() │ Return the rank of the calling │ │ │ processes in the communicator. │ ├─────────────┼───────────────────────────────────────┤ │ getSize() │ Return the number of processes in the │ │ │ communicator. │ ├─────────────┼───────────────────────────────────────┤ │ tompi4py() │ Convert communicator to mpi4py. │ └─────────────┴───────────────────────────────────────┘ Attributes Summary ┌─────────┬────────────────────┐ │ fortran │ Fortran handle. │ ├─────────┼────────────────────┤ │ rank │ Communicator rank. │ ├─────────┼────────────────────┤ │ size │ Communicator size. │ └─────────┴────────────────────┘ Methods Documentation barrier() Barrier synchronization. Collective. Source code at petsc4py/PETSc/Comm.pyx:123 Return type None destroy() Destroy the communicator. Collective. SEE ALSO: PetscCommDestroy Source code at petsc4py/PETSc/Comm.pyx:61 Return type None duplicate() Duplicate the communicator. Collective. SEE ALSO: PetscCommDuplicate Source code at petsc4py/PETSc/Comm.pyx:79 Return type Self getRank() Return the rank of the calling processes in the communicator. Not collective. Source code at petsc4py/PETSc/Comm.pyx:111 Return type int getSize() Return the number of processes in the communicator. Not collective. Source code at petsc4py/PETSc/Comm.pyx:99 Return type int tompi4py() Convert communicator to mpi4py. Not collective. SEE ALSO: mpi4py.MPI.Comm, mpi4py.MPI.Intracomm Source code at petsc4py/PETSc/Comm.pyx:155 Return type Intracomm Attributes Documentation fortran Fortran handle. Source code at petsc4py/PETSc/Comm.pyx:147 rank Communicator rank. Source code at petsc4py/PETSc/Comm.pyx:140 size Communicator size. Source code at petsc4py/PETSc/Comm.pyx:135 petsc4py.PETSc.DM class petsc4py.PETSc.DM Bases: Object An object describing a computational grid or mesh. Enumerations ┌────────────────────┬──────────────────────────────────┐ │ BoundaryType │ DM Boundary types. │ ├────────────────────┼──────────────────────────────────┤ │ PolytopeType │ The DM cell types. │ ├────────────────────┼──────────────────────────────────┤ │ ReorderDefaultFlag │ The DM reordering default flags. │ ├────────────────────┼──────────────────────────────────┤ │ Type │ DM types. │ └────────────────────┴──────────────────────────────────┘ petsc4py.PETSc.DM.BoundaryType class petsc4py.PETSc.DM.BoundaryType Bases: object DM Boundary types. Attributes Summary ┌──────────┬───────────────────────────────┐ │ GHOSTED │ Constant GHOSTED of type int │ ├──────────┼───────────────────────────────┤ │ MIRROR │ Constant MIRROR of type int │ ├──────────┼───────────────────────────────┤ │ NONE │ Constant NONE of type int │ ├──────────┼───────────────────────────────┤ │ PERIODIC │ Constant PERIODIC of type int │ ├──────────┼───────────────────────────────┤ │ TWIST │ Constant TWIST of type int │ └──────────┴───────────────────────────────┘ Attributes Documentation GHOSTED: int = GHOSTED Constant GHOSTED of type int MIRROR: int = MIRROR Constant MIRROR of type int NONE: int = NONE Constant NONE of type int PERIODIC: int = PERIODIC Constant PERIODIC of type int TWIST: int = TWIST Constant TWIST of type int petsc4py.PETSc.DM.PolytopeType class petsc4py.PETSc.DM.PolytopeType Bases: object The DM cell types. Attributes Summary ┌────────────────────┬───────────────────────────────────────┐ │ FV_GHOST │ Constant FV_GHOST of type int │ ├────────────────────┼───────────────────────────────────────┤ │ HEXAHEDRON │ Constant HEXAHEDRON of type int │ ├────────────────────┼───────────────────────────────────────┤ │ INTERIOR_GHOST │ Constant INTERIOR_GHOST of type int │ ├────────────────────┼───────────────────────────────────────┤ │ POINT │ Constant POINT of type int │ ├────────────────────┼───────────────────────────────────────┤ │ POINT_PRISM_TENSOR │ Constant POINT_PRISM_TENSOR of type ‐ │ │ │ int │ ├────────────────────┼───────────────────────────────────────┤ │ PYRAMID │ Constant PYRAMID of type int │ ├────────────────────┼───────────────────────────────────────┤ │ QUADRILATERAL │ Constant QUADRILATERAL of type int │ ├────────────────────┼───────────────────────────────────────┤ │ QUAD_PRISM_TENSOR │ Constant QUAD_PRISM_TENSOR of type ‐ │ │ │ int │ ├────────────────────┼───────────────────────────────────────┤ │ SEGMENT │ Constant SEGMENT of type int │ ├────────────────────┼───────────────────────────────────────┤ │ SEG_PRISM_TENSOR │ Constant SEG_PRISM_TENSOR of type int │ ├────────────────────┼───────────────────────────────────────┤ │ TETRAHEDRON │ Constant TETRAHEDRON of type int │ ├────────────────────┼───────────────────────────────────────┤ │ TRIANGLE │ Constant TRIANGLE of type int │ ├────────────────────┼───────────────────────────────────────┤ │ TRI_PRISM │ Constant TRI_PRISM of type int │ ├────────────────────┼───────────────────────────────────────┤ │ TRI_PRISM_TENSOR │ Constant TRI_PRISM_TENSOR of type int │ ├────────────────────┼───────────────────────────────────────┤ │ UNKNOWN │ Constant UNKNOWN of type int │ ├────────────────────┼───────────────────────────────────────┤ │ UNKNOWN_CELL │ Constant UNKNOWN_CELL of type int │ ├────────────────────┼───────────────────────────────────────┤ │ UNKNOWN_FACE │ Constant UNKNOWN_FACE of type int │ └────────────────────┴───────────────────────────────────────┘ Attributes Documentation FV_GHOST: int = FV_GHOST Constant FV_GHOST of type int HEXAHEDRON: int = HEXAHEDRON Constant HEXAHEDRON of type int INTERIOR_GHOST: int = INTERIOR_GHOST Constant INTERIOR_GHOST of type int POINT: int = POINT Constant POINT of type int POINT_PRISM_TENSOR: int = POINT_PRISM_TENSOR Constant POINT_PRISM_TENSOR of type int PYRAMID: int = PYRAMID Constant PYRAMID of type int QUADRILATERAL: int = QUADRILATERAL Constant QUADRILATERAL of type int QUAD_PRISM_TENSOR: int = QUAD_PRISM_TENSOR Constant QUAD_PRISM_TENSOR of type int SEGMENT: int = SEGMENT Constant SEGMENT of type int SEG_PRISM_TENSOR: int = SEG_PRISM_TENSOR Constant SEG_PRISM_TENSOR of type int TETRAHEDRON: int = TETRAHEDRON Constant TETRAHEDRON of type int TRIANGLE: int = TRIANGLE Constant TRIANGLE of type int TRI_PRISM: int = TRI_PRISM Constant TRI_PRISM of type int TRI_PRISM_TENSOR: int = TRI_PRISM_TENSOR Constant TRI_PRISM_TENSOR of type int UNKNOWN: int = UNKNOWN Constant UNKNOWN of type int UNKNOWN_CELL: int = UNKNOWN_CELL Constant UNKNOWN_CELL of type int UNKNOWN_FACE: int = UNKNOWN_FACE Constant UNKNOWN_FACE of type int petsc4py.PETSc.DM.ReorderDefaultFlag class petsc4py.PETSc.DM.ReorderDefaultFlag Bases: object The DM reordering default flags. Attributes Summary ┌────────┬─────────────────────────────┐ │ FALSE │ Constant FALSE of type int │ ├────────┼─────────────────────────────┤ │ NOTSET │ Constant NOTSET of type int │ ├────────┼─────────────────────────────┤ │ TRUE │ Constant TRUE of type int │ └────────┴─────────────────────────────┘ Attributes Documentation FALSE: int = FALSE Constant FALSE of type int NOTSET: int = NOTSET Constant NOTSET of type int TRUE: int = TRUE Constant TRUE of type int petsc4py.PETSc.DM.Type class petsc4py.PETSc.DM.Type Bases: object DM types. Attributes Summary ┌───────────┬──────────────────────────────┐ │ COMPOSITE │ Object COMPOSITE of type str │ ├───────────┼──────────────────────────────┤ │ DA │ Object DA of type str │ ├───────────┼──────────────────────────────┤ │ FOREST │ Object FOREST of type str │ ├───────────┼──────────────────────────────┤ │ MOAB │ Object MOAB of type str │ ├───────────┼──────────────────────────────┤ │ NETWORK │ Object NETWORK of type str │ ├───────────┼──────────────────────────────┤ │ P4EST │ Object P4EST of type str │ ├───────────┼──────────────────────────────┤ │ P8EST │ Object P8EST of type str │ ├───────────┼──────────────────────────────┤ │ PATCH │ Object PATCH of type str │ ├───────────┼──────────────────────────────┤ │ PLEX │ Object PLEX of type str │ ├───────────┼──────────────────────────────┤ │ PRODUCT │ Object PRODUCT of type str │ ├───────────┼──────────────────────────────┤ │ REDUNDANT │ Object REDUNDANT of type str │ ├───────────┼──────────────────────────────┤ │ SHELL │ Object SHELL of type str │ ├───────────┼──────────────────────────────┤ │ SLICED │ Object SLICED of type str │ ├───────────┼──────────────────────────────┤ │ STAG │ Object STAG of type str │ ├───────────┼──────────────────────────────┤ │ SWARM │ Object SWARM of type str │ └───────────┴──────────────────────────────┘ Attributes Documentation COMPOSITE: str = COMPOSITE Object COMPOSITE of type str DA: str = DA Object DA of type str FOREST: str = FOREST Object FOREST of type str MOAB: str = MOAB Object MOAB of type str NETWORK: str = NETWORK Object NETWORK of type str P4EST: str = P4EST Object P4EST of type str P8EST: str = P8EST Object P8EST of type str PATCH: str = PATCH Object PATCH of type str PLEX: str = PLEX Object PLEX of type str PRODUCT: str = PRODUCT Object PRODUCT of type str REDUNDANT: str = REDUNDANT Object REDUNDANT of type str SHELL: str = SHELL Object SHELL of type str SLICED: str = SLICED Object SLICED of type str STAG: str = STAG Object STAG of type str SWARM: str = SWARM Object SWARM of type str Methods Summary ┌───────────────────────────────────────┬───────────────────────────────────────┐ │ adaptLabel(label) │ Adapt a DM based on a DMLabel. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ adaptMetric(metric[, bdLabel, │ Return a mesh adapted to the │ │ rgLabel]) │ specified metric field. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ addCoarsenHook(coarsenhook, │ Add a callback to be executed when │ │ restricthook[, ...]) │ restricting to a coarser grid. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ addField(field[, label]) │ Add a field to a DM object. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ appendOptionsPrefix(prefix) │ Append to the prefix used for │ │ │ searching for options in the │ │ │ database. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ clearDS() │ Remove all discrete systems from the │ │ │ DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ clearFields() │ Remove all fields from the DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ clearLabelStratum(name, value) │ Remove all points from a stratum. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ clearLabelValue(name, point, value) │ Remove a point from a DMLabel with │ │ │ given value. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ clone() │ Return the cloned DM . │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ coarsen([comm]) │ Return a coarsened DM object. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ coarsenHierarchy(nlevels) │ Coarsen this DM and return the │ │ │ coarsened DM hierarchy. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ convert(dm_type) │ Return a DM converted to another DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ copyDS(dm[, minDegree, maxDegree]) │ Copy the discrete systems for this DM │ │ │ into another DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ copyDisc(dm) │ Copy fields and discrete systems of a │ │ │ DM into another DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ copyFields(dm[, minDegree, │ Copy the discretizations of this DM │ │ maxDegree]) │ into another DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ create([comm]) │ Return an empty DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createDS() │ Create discrete systems. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createFieldDecomposition() │ Return a list of IS objects. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createGlobalVec() │ Return a global vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createInjection(dm) │ Return the injection matrix into a │ │ │ finer DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createInterpolation(dm) │ Return the interpolation matrix to a │ │ │ finer DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createLabel(name) │ Create a label of the given name if │ │ │ it does not already exist. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createLocalVec() │ Return a local vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createMassMatrix(dmf) │ Return the mass matrix between this │ │ │ DM and the given DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createMat() │ Return an empty matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createRestriction(dm) │ Return the restriction matrix between │ │ │ this DM and the given DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createSectionSF(localsec, globalsec) │ Create the SF encoding the parallel │ │ │ DOF overlap for the DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createSubDM(fields) │ Return IS and DM encapsulating a │ │ │ subproblem. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy the object. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getAppCtx() │ Return the application context. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getAuxiliaryVec([label, value, part]) │ Return an auxiliary vector for │ │ │ region. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getBasicAdjacency() │ Return the flags for determining │ │ │ variable influence. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getBlockSize() │ Return the inherent block size │ │ │ associated with a DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getBoundingBox() │ Return the dimension of embedding │ │ │ space for coordinates values. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getCellCoordinateDM() │ Return the cell coordinate DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getCellCoordinateSection() │ Return the cell coordinate layout │ │ │ over the DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getCellCoordinates() │ Return a global vector with the │ │ │ cellwise coordinates. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getCellCoordinatesLocal() │ Return a local vector with the │ │ │ cellwise coordinates. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getCoarseDM() │ Return the coarse DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getCoarsenLevel() │ Return the number of coarsenings. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getCoordinateDM() │ Return the coordinate DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getCoordinateDim() │ Return the dimension of embedding │ │ │ space for coordinates values. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getCoordinateSection() │ Return coordinate values layout over │ │ │ the mesh. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getCoordinates() │ Return a global vector with the │ │ │ coordinates associated. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getCoordinatesLocal() │ Return a local vector with the │ │ │ coordinates associated. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getCoordinatesLocalized() │ Check if the coordinates have been │ │ │ localized for cells. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getDS() │ Return default DS. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getDimension() │ Return the topological dimension of │ │ │ the DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getField(index) │ Return the discretization object for │ │ │ a given DM field. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getFieldAdjacency(field) │ Return the flags for determining │ │ │ variable influence. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getGlobalSection() │ Return the Section encoding the │ │ │ global data layout for the DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getGlobalVec([name]) │ Return a global vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getLGMap() │ Return local mapping to global │ │ │ mapping. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getLabel(name) │ Return the label of a given name. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getLabelIdIS(name) │ Return an IS of all values that the │ │ │ DMLabel takes. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getLabelName(index) │ Return the name of nth label. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getLabelOutput(name) │ Return the output flag for a given │ │ │ label. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getLabelSize(name) │ Return the number of values that the │ │ │ DMLabel takes. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getLabelValue(name, point) │ Return the value in DMLabel for the │ │ │ given point. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getLocalBoundingBox() │ Return the bounding box for the piece │ │ │ of the DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getLocalSection() │ Return the Section encoding the local │ │ │ data layout for the DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getLocalVec([name]) │ Return a local vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getNumFields() │ Return the number of fields in the │ │ │ DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getNumLabels() │ Return the number of labels defined │ │ │ by on the DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getOptionsPrefix() │ Return the prefix used for searching │ │ │ for options in the database. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getPointSF() │ Return the SF encoding the parallel │ │ │ DOF overlap for the DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getRefineLevel() │ Return the refinement level. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getSectionSF() │ Return the Section encoding the │ │ │ parallel DOF overlap. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getStratumIS(name, value) │ Return the points in a label stratum. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getStratumSize(name, value) │ Return the number of points in a │ │ │ label stratum. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getType() │ Return the DM type name. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ globalToLocal(vg, vl[, addv]) │ Update local vectors from global │ │ │ vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ hasLabel(name) │ Determine whether the DM has a label. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ load(viewer) │ Return a DM stored in binary. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ localToGlobal(vl, vg[, addv]) │ Update global vectors from local │ │ │ vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ localToLocal(vl, vlg[, addv]) │ Map the values from a local vector to │ │ │ another local vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ localizeCoordinates() │ Create local coordinates for cells │ │ │ having periodic faces. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ refine([comm]) │ Return a refined DM object. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ refineHierarchy(nlevels) │ Refine this DM and return the refined │ │ │ DM hierarchy. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ removeLabel(name) │ Remove and destroy the label by name. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ restoreGlobalVec(vg[, name]) │ Restore a global vector obtained with │ │ │ getGlobalVec. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ restoreLocalVec(vl[, name]) │ Restore a local vector obtained with │ │ │ getLocalVec. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setAppCtx(appctx) │ Set the application context. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setAuxiliaryVec(aux, label[, value, │ Set an auxiliary vector for a │ │ part]) │ specific region. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setBasicAdjacency(useCone, │ Set the flags for determining │ │ useClosure) │ variable influence. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setCellCoordinateDM(dm) │ Set the cell coordinate DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setCellCoordinateSection(dim, sec) │ Set the cell coordinate layout over │ │ │ the DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setCellCoordinates(c) │ Set a global vector with the cellwise │ │ │ coordinates. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setCellCoordinatesLocal(c) │ Set a local vector with the cellwise │ │ │ coordinates. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setCoarseDM(dm) │ Set the coarse DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setCoordinateDim(dim) │ Set the dimension of embedding space │ │ │ for coordinates values. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setCoordinateDisc(disc, project) │ Project coordinates to a different │ │ │ space. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setCoordinates(c) │ Set a global vector that holds the │ │ │ coordinates. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setCoordinatesLocal(c) │ Set a local vector with the ghost │ │ │ point holding the coordinates. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setDimension(dim) │ Set the topological dimension of the │ │ │ DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setField(index, field[, label]) │ Set the discretization object for a │ │ │ given DM field. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFieldAdjacency(field, useCone, │ Set the flags for determining │ │ useClosure) │ variable influence. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFromOptions() │ Configure the object from the options │ │ │ database. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setGlobalSection(sec) │ Set the Section encoding the global │ │ │ data layout for the DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setKSPComputeOperators(operators[, │ Matrix associated with the linear │ │ args, kargs]) │ system. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setLabelOutput(name, output) │ Set if a given label should be saved │ │ │ to a view. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setLabelValue(name, point, value) │ Set a point to a DMLabel with a given │ │ │ value. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setLocalSection(sec) │ Set the Section encoding the local │ │ │ data layout for the DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setMatType(mat_type) │ Set matrix type to be used by │ │ │ DM.createMat. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setNumFields(numFields) │ Set the number of fields in the DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setOptionsPrefix(prefix) │ Set the prefix used for searching for │ │ │ options in the database. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setPointSF(sf) │ Set the SF encoding the parallel DOF │ │ │ overlap for the DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setRefineLevel(level) │ Set the number of refinements. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setSNESFunction(function[, args, │ Set SNES residual evaluation │ │ kargs]) │ function. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setSNESJacobian(jacobian[, args, │ Set the SNES Jacobian evaluation │ │ kargs]) │ function. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setSectionSF(sf) │ Set the Section encoding the parallel │ │ │ DOF overlap for the DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setType(dm_type) │ Build a DM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setUp() │ Return the data structure. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setVecType(vec_type) │ Set the type of vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ View the DM. │ └───────────────────────────────────────┴───────────────────────────────────────┘ Attributes Summary ┌────────┬──────────────────────┐ │ appctx │ Application context. │ ├────────┼──────────────────────┤ │ ds │ Discrete space. │ └────────┴──────────────────────┘ Methods Documentation adaptLabel(label) Adapt a DM based on a DMLabel. Collective. Parameters label (str) -- The name of the DMLabel. Return type DM SEE ALSO: DMAdaptLabel Source code at petsc4py/PETSc/DM.pyx:1645 adaptMetric(metric, bdLabel=None, rgLabel=None) Return a mesh adapted to the specified metric field. Collective. Parameters • metric (Vec) -- The metric to which the mesh is adapted, defined vertex-wise. • bdLabel (str | None) -- Label for boundary tags. • rgLabel (str | None) -- Label for cell tag. Return type DM SEE ALSO: DMAdaptMetric Source code at petsc4py/PETSc/DM.pyx:1668 addCoarsenHook(coarsenhook, restricthook, args=None, kargs=None) Add a callback to be executed when restricting to a coarser grid. Logically collective. Parameters • coarsenhook (DMCoarsenHookFunction) -- The coarsen hook function. • restricthook (DMRestrictHookFunction) -- The restrict hook function. • args (tuple[Any, ...] | None) -- Positional arguments for the hooks. • kargs (dict[str, Any] | None) -- Keyword arguments for the hooks. Return type None SEE ALSO: DMCoarsenHookAdd Source code at petsc4py/PETSc/DM.pyx:2333 addField(field, label=None) Add a field to a DM object. Logically collective. Parameters • field (Object) -- The discretization object. • label (str | None) -- The name of the label indicating the support of the field, or None for the entire mesh. Return type None SEE ALSO: DMAddField Source code at petsc4py/PETSc/DM.pyx:611 appendOptionsPrefix(prefix) Append to the prefix used for searching for options in the database. Logically collective. SEE ALSO: Working with PETSc options, setOptionsPrefix, DMAppendOptionsPrefix Source code at petsc4py/PETSc/DM.pyx:298 Parameters prefix (str | None) Return type None clearDS() Remove all discrete systems from the DM. Logically collective. SEE ALSO: DMClearDS Source code at petsc4py/PETSc/DM.pyx:691 Return type None clearFields() Remove all fields from the DM. Logically collective. SEE ALSO: DMClearFields Source code at petsc4py/PETSc/DM.pyx:634 Return type None clearLabelStratum(name, value) Remove all points from a stratum. Not collective. Parameters • name (str) -- The label name. • value (int) -- The stratum value. Return type None SEE ALSO: DMClearLabelStratum Source code at petsc4py/PETSc/DM.pyx:2124 clearLabelValue(name, point, value) Remove a point from a DMLabel with given value. Not collective. Parameters • name (str) -- The label name. • point (int) -- The mesh point. • value (int) -- The label value for the point. Return type None SEE ALSO: DMClearLabelValue Source code at petsc4py/PETSc/DM.pyx:2010 clone() Return the cloned DM . Collective. SEE ALSO: DMClone Source code at petsc4py/PETSc/DM.pyx:155 Return type DM coarsen(comm=None) Return a coarsened DM object. Collective. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type DM SEE ALSO: DMCoarsen Source code at petsc4py/PETSc/DM.pyx:1519 coarsenHierarchy(nlevels) Coarsen this DM and return the coarsened DM hierarchy. Collective. Parameters nlevels (int) -- The number of levels of coarsening. Return type list SEE ALSO: DMCoarsenHierarchy Source code at petsc4py/PETSc/DM.pyx:1570 convert(dm_type) Return a DM converted to another DM. Collective. Parameters dm_type (Type | str) -- The new DM.Type, use “same” for the same type. Return type DM SEE ALSO: DM.Type, DMConvert Source code at petsc4py/PETSc/DM.pyx:1472 copyDS(dm, minDegree=None, maxDegree=None) Copy the discrete systems for this DM into another DM. Collective. Parameters • dm (DM) -- The DM that the discrete fields are copied into. • minDegree -- The minimum polynommial degree for the discretization, or None for no limit • maxDegree -- The maximum polynommial degree for the discretization, or None for no limit Return type None SEE ALSO: DMCopyDS Source code at petsc4py/PETSc/DM.pyx:718 copyDisc(dm) Copy fields and discrete systems of a DM into another DM. Collective. Parameters dm (DM) -- The DM that the fields and discrete systems are copied into. Return type None SEE ALSO: DMCopyDisc Source code at petsc4py/PETSc/DM.pyx:751 copyFields(dm, minDegree=None, maxDegree=None) Copy the discretizations of this DM into another DM. Collective. Parameters • dm (DM) -- The DM that the fields are copied into. • minDegree -- The minimum polynommial degree for the discretization, or None for no limit • maxDegree -- The maximum polynommial degree for the discretization, or None for no limit Return type None SEE ALSO: DMCopyFields Source code at petsc4py/PETSc/DM.pyx:646 create(comm=None) Return an empty DM. Collective. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: DMCreate Source code at petsc4py/PETSc/DM.pyx:134 createDS() Create discrete systems. Collective. SEE ALSO: DMCreateDS Source code at petsc4py/PETSc/DM.pyx:679 Return type None createFieldDecomposition() Return a list of IS objects. Not collective. Notes The user is responsible for freeing all requested arrays. SEE ALSO: DMCreateFieldDecomposition Source code at petsc4py/PETSc/DM.pyx:2222 Return type tuple[list, list, list] createGlobalVec() Return a global vector. Collective. SEE ALSO: DMCreateGlobalVector Source code at petsc4py/PETSc/DM.pyx:798 Return type Vec createInjection(dm) Return the injection matrix into a finer DM. Collective. Parameters dm (DM) -- The second, finer DM object. Return type Mat SEE ALSO: DMCreateInjection Source code at petsc4py/PETSc/DM.pyx:1434 createInterpolation(dm) Return the interpolation matrix to a finer DM. Collective. Parameters dm (DM) -- The second, finer DM. Return type tuple[Mat, Vec] SEE ALSO: DMCreateInterpolation Source code at petsc4py/PETSc/DM.pyx:1413 createLabel(name) Create a label of the given name if it does not already exist. Not collective. Parameters name (str) -- The label name. Return type None SEE ALSO: DMCreateLabel Source code at petsc4py/PETSc/DM.pyx:1922 createLocalVec() Return a local vector. Not collective. SEE ALSO: DMCreateLocalVector Source code at petsc4py/PETSc/DM.pyx:812 Return type Vec createMassMatrix(dmf) Return the mass matrix between this DM and the given DM. Collective. Parameters dmf (DM) -- The second DM. Return type Mat SEE ALSO: DMCreateMassMatrix Source code at petsc4py/PETSc/DM.pyx:1394 createMat() Return an empty matrix. Collective. SEE ALSO: DMCreateMatrix Source code at petsc4py/PETSc/DM.pyx:1380 Return type Mat createRestriction(dm) Return the restriction matrix between this DM and the given DM. Collective. Parameters dm (DM) -- The second, finer DM object. Return type Mat SEE ALSO: DMCreateRestriction Source code at petsc4py/PETSc/DM.pyx:1453 createSectionSF(localsec, globalsec) Create the SF encoding the parallel DOF overlap for the DM. Collective. Parameters • localsec (Section) -- Describe the local data layout. • globalsec (Section) -- Describe the global data layout. Return type None Notes Encoding based on the Section describing the data layout. SEE ALSO: DM.getSectionSF, DMCreateSectionSF Source code at petsc4py/PETSc/DM.pyx:1786 createSubDM(fields) Return IS and DM encapsulating a subproblem. Not collective. Returns • iset (IS) -- The global indices for all the degrees of freedom. • subdm (DM) -- The DM for the subproblem. Parameters fields (Sequence[int]) Return type tuple[IS, DM] SEE ALSO: DMCreateSubDM Source code at petsc4py/PETSc/DM.pyx:446 destroy() Destroy the object. Collective. SEE ALSO: DMDestroy Source code at petsc4py/PETSc/DM.pyx:121 Return type Self getAppCtx() Return the application context. Source code at petsc4py/PETSc/DM.pyx:343 Return type Any getAuxiliaryVec(label=None, value=0, part=0) Return an auxiliary vector for region. Not collective. Parameters • label (str | None) -- The name of the DMLabel. • value (int | None) -- Indicate the region. • part (int | None) -- The equation part, or 0 is unused. Return type Vec SEE ALSO: DM.getLabel, DMGetAuxiliaryVec Source code at petsc4py/PETSc/DM.pyx:503 getBasicAdjacency() Return the flags for determining variable influence. Not collective. Returns • useCone (bool) -- Whether adjacency uses cone information. • useClosure (bool) -- Whether adjacency is computed using full closure information. Return type tuple[bool, bool] SEE ALSO: DMGetBasicAdjacency Source code at petsc4py/PETSc/DM.pyx:370 getBlockSize() Return the inherent block size associated with a DM. Not collective. SEE ALSO: DMGetBlockSize Source code at petsc4py/PETSc/DM.pyx:770 Return type int getBoundingBox() Return the dimension of embedding space for coordinates values. Not collective. SEE ALSO: DMGetBoundingBox Source code at petsc4py/PETSc/DM.pyx:1306 Return type tuple[tuple[float, float], ...] getCellCoordinateDM() Return the cell coordinate DM. Collective. SEE ALSO: DMGetCellCoordinateDM Source code at petsc4py/PETSc/DM.pyx:1159 Return type DM getCellCoordinateSection() Return the cell coordinate layout over the DM. Collective. SEE ALSO: DMGetCellCoordinateSection Source code at petsc4py/PETSc/DM.pyx:1194 Return type Section getCellCoordinates() Return a global vector with the cellwise coordinates. Collective. SEE ALSO: DMGetCellCoordinates Source code at petsc4py/PETSc/DM.pyx:1226 Return type Vec getCellCoordinatesLocal() Return a local vector with the cellwise coordinates. Collective. SEE ALSO: DMGetCellCoordinatesLocal Source code at petsc4py/PETSc/DM.pyx:1258 Return type Vec getCoarseDM() Return the coarse DM. Collective. SEE ALSO: DMGetCoarseDM Source code at petsc4py/PETSc/DM.pyx:1020 Return type DM getCoarsenLevel() Return the number of coarsenings. Not collective. SEE ALSO: DMGetCoarsenLevel Source code at petsc4py/PETSc/DM.pyx:1629 Return type int getCoordinateDM() Return the coordinate DM. Collective. SEE ALSO: DMGetCoordinateDM Source code at petsc4py/PETSc/DM.pyx:1048 Return type DM getCoordinateDim() Return the dimension of embedding space for coordinates values. Not collective. SEE ALSO: DMGetCoordinateDim Source code at petsc4py/PETSc/DM.pyx:238 Return type int getCoordinateSection() Return coordinate values layout over the mesh. Collective. SEE ALSO: DMGetCoordinateSection Source code at petsc4py/PETSc/DM.pyx:1063 Return type Section getCoordinates() Return a global vector with the coordinates associated. Collective. SEE ALSO: DMGetCoordinates Source code at petsc4py/PETSc/DM.pyx:1095 Return type Vec getCoordinatesLocal() Return a local vector with the coordinates associated. Collective the first time it is called. SEE ALSO: DMGetCoordinatesLocal Source code at petsc4py/PETSc/DM.pyx:1127 Return type Vec getCoordinatesLocalized() Check if the coordinates have been localized for cells. Not collective. SEE ALSO: DMGetCoordinatesLocalized Source code at petsc4py/PETSc/DM.pyx:1292 Return type bool getDS() Return default DS. Not collective. SEE ALSO: DMGetDS Source code at petsc4py/PETSc/DM.pyx:703 Return type DS getDimension() Return the topological dimension of the DM. Not collective. SEE ALSO: DMGetDimension Source code at petsc4py/PETSc/DM.pyx:206 Return type int getField(index) Return the discretization object for a given DM field. Not collective. Parameters index (int) -- The field number. Return type tuple[Object, None] SEE ALSO: DMGetField Source code at petsc4py/PETSc/DM.pyx:586 getFieldAdjacency(field) Return the flags for determining variable influence. Not collective. Parameters field (int) -- The field number. Returns • useCone (bool) -- Whether adjacency uses cone information. • useClosure (bool) -- Whether adjacency is computed using full closure information. Return type tuple[bool, bool] SEE ALSO: DMGetAdjacency Source code at petsc4py/PETSc/DM.pyx:416 getGlobalSection() Return the Section encoding the global data layout for the DM. Collective the first time it is called. SEE ALSO: DMGetGlobalSection Source code at petsc4py/PETSc/DM.pyx:1762 Return type Section getGlobalVec(name=None) Return a global vector. Collective. Parameters name (str | None) -- The optional name to retrieve a persistent vector. Return type Vec Notes When done with the vector, it must be restored using restoreGlobalVec. SEE ALSO: restoreGlobalVec, DMGetGlobalVector, DMGetNamedGlobalVector Source code at petsc4py/PETSc/DM.pyx:826 getLGMap() Return local mapping to global mapping. Collective. SEE ALSO: DMGetLocalToGlobalMapping Source code at petsc4py/PETSc/DM.pyx:1003 Return type LGMap getLabel(name) Return the label of a given name. Not collective. SEE ALSO: DMGetLabel Source code at petsc4py/PETSc/DM.pyx:1704 Parameters name (str) Return type DMLabel getLabelIdIS(name) Return an IS of all values that the DMLabel takes. Not collective. Parameters name (str) -- The label name. Return type IS SEE ALSO: DMLabelGetValueIS, DMGetLabelIdIS Source code at petsc4py/PETSc/DM.pyx:2055 getLabelName(index) Return the name of nth label. Not collective. Parameters index (int) -- The label number. Return type str SEE ALSO: DMGetLabelName Source code at petsc4py/PETSc/DM.pyx:1881 getLabelOutput(name) Return the output flag for a given label. Not collective. Parameters name (str) -- The label name. Return type bool SEE ALSO: DMGetLabelOutput Source code at petsc4py/PETSc/DM.pyx:2168 getLabelSize(name) Return the number of values that the DMLabel takes. Not collective. Parameters name (str) -- The label name. Return type int SEE ALSO: DMLabelGetNumValues, DMGetLabelSize Source code at petsc4py/PETSc/DM.pyx:2034 getLabelValue(name, point) Return the value in DMLabel for the given point. Not collective. Parameters • name (str) -- The label name. • point (int) -- The mesh point Return type int SEE ALSO: DMGetLabelValue Source code at petsc4py/PETSc/DM.pyx:1963 getLocalBoundingBox() Return the bounding box for the piece of the DM. Not collective. SEE ALSO: DMGetLocalBoundingBox Source code at petsc4py/PETSc/DM.pyx:1323 Return type tuple[tuple[float, float], ...] getLocalSection() Return the Section encoding the local data layout for the DM. Not collective. SEE ALSO: DMGetGlobalSection Source code at petsc4py/PETSc/DM.pyx:1735 Return type Section getLocalVec(name=None) Return a local vector. Not collective. Parameters name (str | None) -- The optional name to retrieve a persistent vector. Return type Vec Notes When done with the vector, it must be restored using restoreLocalVec. SEE ALSO: restoreLocalVec, DMGetLocalVector, DMGetNamedLocalVector Source code at petsc4py/PETSc/DM.pyx:880 getNumFields() Return the number of fields in the DM. Not collective. SEE ALSO: DMGetNumFields Source code at petsc4py/PETSc/DM.pyx:546 Return type int getNumLabels() Return the number of labels defined by on the DM. Not collective. SEE ALSO: DMGetNumLabels Source code at petsc4py/PETSc/DM.pyx:1867 Return type int getOptionsPrefix() Return the prefix used for searching for options in the database. Not collective. SEE ALSO: Working with PETSc options, setOptionsPrefix, DMGetOptionsPrefix Source code at petsc4py/PETSc/DM.pyx:284 Return type str getPointSF() Return the SF encoding the parallel DOF overlap for the DM. Not collective. SEE ALSO: DMGetPointSF Source code at petsc4py/PETSc/DM.pyx:1840 Return type SF getRefineLevel() Return the refinement level. Not collective. SEE ALSO: DMGetRefineLevel Source code at petsc4py/PETSc/DM.pyx:1597 Return type int getSectionSF() Return the Section encoding the parallel DOF overlap. Collective the first time it is called. SEE ALSO: DMGetSectionSF Source code at petsc4py/PETSc/DM.pyx:1809 Return type SF getStratumIS(name, value) Return the points in a label stratum. Not collective. Parameters • name (str) -- The label name. • value (int) -- The stratum value. Return type IS SEE ALSO: DMGetStratumIS Source code at petsc4py/PETSc/DM.pyx:2100 getStratumSize(name, value) Return the number of points in a label stratum. Not collective. Parameters • name (str) -- The label name. • value (int) -- The stratum value. Return type int SEE ALSO: DMGetStratumSize Source code at petsc4py/PETSc/DM.pyx:2076 getType() Return the DM type name. Not collective. SEE ALSO: DMGetType Source code at petsc4py/PETSc/DM.pyx:192 Return type str globalToLocal(vg, vl, addv=None) Update local vectors from global vector. Neighborwise collective. Parameters • vg (Vec) -- The global vector. • vl (Vec) -- The local vector. • addv (InsertModeSpec | None) -- Insertion mode. Return type None SEE ALSO: DMGlobalToLocalBegin, DMGlobalToLocalEnd Source code at petsc4py/PETSc/DM.pyx:934 hasLabel(name) Determine whether the DM has a label. Not collective. Parameters name (str) -- The label name. Return type bool SEE ALSO: DMHasLabel Source code at petsc4py/PETSc/DM.pyx:1901 load(viewer) Return a DM stored in binary. Collective. Parameters viewer (Viewer) -- Viewer used to store the DM, like Viewer.Type.BINARY or Viewer.Type.HDF5. Return type Self Notes When using Viewer.Type.HDF5 format, one can save multiple DMPlex meshes in a single HDF5 files. This in turn requires one to name the DMPlex object with Object.setName before saving it with DM.view and before loading it with DM.load for identification of the mesh object. SEE ALSO: DM.view, DM.load, Object.setName, DMLoad Source code at petsc4py/PETSc/DM.pyx:95 localToGlobal(vl, vg, addv=None) Update global vectors from local vector. Neighborwise collective. Parameters • vl (Vec) -- The local vector. • vg (Vec) -- The global vector. • addv (InsertModeSpec | None) -- Insertion mode. Return type None SEE ALSO: DMLocalToGlobalBegin, DMLocalToGlobalEnd Source code at petsc4py/PETSc/DM.pyx:957 localToLocal(vl, vlg, addv=None) Map the values from a local vector to another local vector. Neighborwise collective. Parameters • vl (Vec) -- The local vector. • vlg (Vec) -- The global vector. • addv (InsertModeSpec | None) -- Insertion mode. Return type None SEE ALSO: DMLocalToLocalBegin, DMLocalToLocalEnd Source code at petsc4py/PETSc/DM.pyx:980 localizeCoordinates() Create local coordinates for cells having periodic faces. Collective. Notes Used if the mesh is periodic. SEE ALSO: DMLocalizeCoordinates Source code at petsc4py/PETSc/DM.pyx:1340 Return type None refine(comm=None) Return a refined DM object. Collective. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type DM SEE ALSO: DMRefine Source code at petsc4py/PETSc/DM.pyx:1495 refineHierarchy(nlevels) Refine this DM and return the refined DM hierarchy. Collective. Parameters nlevels (int) -- The number of levels of refinement. Return type list SEE ALSO: DMRefineHierarchy Source code at petsc4py/PETSc/DM.pyx:1543 removeLabel(name) Remove and destroy the label by name. Not collective. Parameters name (str) -- The label name. Return type None SEE ALSO: DMRemoveLabel Source code at petsc4py/PETSc/DM.pyx:1941 restoreGlobalVec(vg, name=None) Restore a global vector obtained with getGlobalVec. Logically collective. Parameters • vg (Vec) -- The global vector. • name (str | None) -- The name used to retrieve the persistent vector, if any. Return type None SEE ALSO: getGlobalVec, DMRestoreGlobalVector, DMRestoreNamedGlobalVector Source code at petsc4py/PETSc/DM.pyx:855 restoreLocalVec(vl, name=None) Restore a local vector obtained with getLocalVec. Not collective. Parameters • vl (Vec) -- The local vector. • name (str | None) -- The name used to retrieve the persistent vector, if any. Return type None SEE ALSO: getLocalVec, DMRestoreLocalVector, DMRestoreNamedLocalVector Source code at petsc4py/PETSc/DM.pyx:909 setAppCtx(appctx) Set the application context. Source code at petsc4py/PETSc/DM.pyx:339 Parameters appctx (Any) Return type None setAuxiliaryVec(aux, label, value=0, part=0) Set an auxiliary vector for a specific region. Not collective. Parameters • aux (Vec) -- The auxiliary vector. • label (DMLabel | None) -- The name of the DMLabel. • value -- Indicate the region. • part -- The equation part, or 0 is unused. Return type None SEE ALSO: DMGetLabel, DMSetAuxiliaryVec Source code at petsc4py/PETSc/DM.pyx:473 setBasicAdjacency(useCone, useClosure) Set the flags for determining variable influence. Not collective. Parameters • useCone (bool) -- Whether adjacency uses cone information. • useClosure (bool) -- Whether adjacency is computed using full closure information. Return type None SEE ALSO: DMSetBasicAdjacency Source code at petsc4py/PETSc/DM.pyx:349 setCellCoordinateDM(dm) Set the cell coordinate DM. Collective. Parameters dm (DM) -- The cell coordinate DM. Return type None SEE ALSO: DMSetCellCoordinateDM Source code at petsc4py/PETSc/DM.pyx:1142 setCellCoordinateSection(dim, sec) Set the cell coordinate layout over the DM. Collective. Parameters • dim (int) -- The embedding dimension, or DETERMINE. • sec (Section) -- The cell coordinate Section. Return type None SEE ALSO: DMSetCellCoordinateSection Source code at petsc4py/PETSc/DM.pyx:1174 setCellCoordinates(c) Set a global vector with the cellwise coordinates. Collective. Parameters c (Vec) -- The global cell coordinate vector. Return type None SEE ALSO: DMSetCellCoordinates Source code at petsc4py/PETSc/DM.pyx:1209 setCellCoordinatesLocal(c) Set a local vector with the cellwise coordinates. Not collective. Parameters c (Vec) -- The local cell coordinate vector. Return type None SEE ALSO: DMSetCellCoordinatesLocal Source code at petsc4py/PETSc/DM.pyx:1241 setCoarseDM(dm) Set the coarse DM. Collective. SEE ALSO: DMSetCoarseDM Source code at petsc4py/PETSc/DM.pyx:1035 Parameters dm (DM) Return type None setCoordinateDim(dim) Set the dimension of embedding space for coordinates values. Not collective. Parameters dim (int) -- The embedding dimension. Return type None SEE ALSO: DMSetCoordinateDim Source code at petsc4py/PETSc/DM.pyx:252 setCoordinateDisc(disc, project) Project coordinates to a different space. Collective. Parameters • disc (FE) -- The new coordinates discretization. • project (bool) Return type Self SEE ALSO: DMSetCoordinateDisc Source code at petsc4py/PETSc/DM.pyx:1273 setCoordinates(c) Set a global vector that holds the coordinates. Collective. Parameters c (Vec) -- Coordinate Vector. Return type None SEE ALSO: DMSetCoordinates Source code at petsc4py/PETSc/DM.pyx:1078 setCoordinatesLocal(c) Set a local vector with the ghost point holding the coordinates. Not collective. Parameters c (Vec) -- Coordinate Vector. Return type None SEE ALSO: DMSetCoordinatesLocal Source code at petsc4py/PETSc/DM.pyx:1110 setDimension(dim) Set the topological dimension of the DM. Collective. Parameters dim (int) -- Topological dimension. Return type None SEE ALSO: DMSetDimension Source code at petsc4py/PETSc/DM.pyx:220 setField(index, field, label=None) Set the discretization object for a given DM field. Logically collective. Parameters • index (int) -- The field number. • field (Object) -- The discretization object. • label (str | None) -- The name of the label indicating the support of the field, or None for the entire mesh. Return type None SEE ALSO: DMSetField Source code at petsc4py/PETSc/DM.pyx:560 setFieldAdjacency(field, useCone, useClosure) Set the flags for determining variable influence. Not collective. Parameters • field (int) -- The field number. • useCone (bool) -- Whether adjacency uses cone information. • useClosure (bool) -- Whether adjacency is computed using full closure information. Return type None SEE ALSO: DMSetAdjacency Source code at petsc4py/PETSc/DM.pyx:392 setFromOptions() Configure the object from the options database. Collective. SEE ALSO: Working with PETSc options, DMSetFromOptions Source code at petsc4py/PETSc/DM.pyx:312 Return type None setGlobalSection(sec) Set the Section encoding the global data layout for the DM. Collective. SEE ALSO: DMSetGlobalSection Source code at petsc4py/PETSc/DM.pyx:1750 Parameters sec (Section) Return type None setKSPComputeOperators(operators, args=None, kargs=None) Matrix associated with the linear system. Collective. Parameters • operator -- Callback function to compute the operators. • args (tuple[Any, ...] | None) -- Positional arguments for the callback. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback. Return type None SEE ALSO: DMKSPSetComputeOperators Source code at petsc4py/PETSc/DM.pyx:2194 setLabelOutput(name, output) Set if a given label should be saved to a view. Not collective. Parameters • name (str) -- The label name. • output (bool) -- If True, the label is saved to the viewer. Return type None SEE ALSO: DMSetLabelOutput Source code at petsc4py/PETSc/DM.pyx:2146 setLabelValue(name, point, value) Set a point to a DMLabel with a given value. Not collective. Parameters • name (str) -- The label name. • point (int) -- The mesh point. • value (int) -- The label value for the point. Return type None SEE ALSO: DMSetLabelValue Source code at petsc4py/PETSc/DM.pyx:1986 setLocalSection(sec) Set the Section encoding the local data layout for the DM. Collective. SEE ALSO: DMSetLocalSection Source code at petsc4py/PETSc/DM.pyx:1723 Parameters sec (Section) Return type None setMatType(mat_type) Set matrix type to be used by DM.createMat. Logically collective. Parameters mat_type (Type | str) -- The matrix type. Return type None Notes The option -dm_mat_type is used to set the matrix type. SEE ALSO: Working with PETSc options, DMSetMatType Source code at petsc4py/PETSc/DM.pyx:1357 setNumFields(numFields) Set the number of fields in the DM. Logically collective. SEE ALSO: DMSetNumFields Source code at petsc4py/PETSc/DM.pyx:533 Parameters numFields (int) Return type None setOptionsPrefix(prefix) Set the prefix used for searching for options in the database. Logically collective. SEE ALSO: Working with PETSc options, getOptionsPrefix, DMSetOptionsPrefix Source code at petsc4py/PETSc/DM.pyx:270 Parameters prefix (str | None) Return type None setPointSF(sf) Set the SF encoding the parallel DOF overlap for the DM. Logically collective. SEE ALSO: DMSetPointSF Source code at petsc4py/PETSc/DM.pyx:1855 Parameters sf (SF) Return type None setRefineLevel(level) Set the number of refinements. Not collective. Parameters • nlevels -- The number of refinement. • level (int) Return type None SEE ALSO: DMSetRefineLevel Source code at petsc4py/PETSc/DM.pyx:1611 setSNESFunction(function, args=None, kargs=None) Set SNES residual evaluation function. Not collective. Parameters • function (SNESFunction) -- The callback. • args (tuple[Any, ...] | None) -- Positional arguments for the callback. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback. Return type None SEE ALSO: SNES.setFunction, DMSNESSetFunction Source code at petsc4py/PETSc/DM.pyx:2270 setSNESJacobian(jacobian, args=None, kargs=None) Set the SNES Jacobian evaluation function. Not collective. Parameters • jacobian (SNESJacobianFunction) -- The Jacobian callback. • args (tuple[Any, ...] | None) -- Positional arguments for the callback. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback. Return type None SEE ALSO: SNES.setJacobian, DMSNESSetJacobian Source code at petsc4py/PETSc/DM.pyx:2302 setSectionSF(sf) Set the Section encoding the parallel DOF overlap for the DM. Logically collective. SEE ALSO: DMSetSectionSF Source code at petsc4py/PETSc/DM.pyx:1824 Parameters sf (SF) Return type None setType(dm_type) Build a DM. Collective. Parameters dm_type (Type | str) -- The type of DM. Return type None Notes DM types are available in DM.Type class. SEE ALSO: DM.Type, DMSetType Source code at petsc4py/PETSc/DM.pyx:169 setUp() Return the data structure. Collective. SEE ALSO: DMSetUp Source code at petsc4py/PETSc/DM.pyx:324 Return type Self setVecType(vec_type) Set the type of vector. Logically collective. SEE ALSO: Vec.Type, DMSetVecType Source code at petsc4py/PETSc/DM.pyx:784 Parameters vec_type (Type | str) Return type None view(viewer=None) View the DM. Collective. Parameters viewer (Viewer | None) -- The DM viewer. Return type None SEE ALSO: DMView Source code at petsc4py/PETSc/DM.pyx:76 Attributes Documentation appctx Application context. Source code at petsc4py/PETSc/DM.pyx:2386 ds Discrete space. Source code at petsc4py/PETSc/DM.pyx:2396 petsc4py.PETSc.DMComposite class petsc4py.PETSc.DMComposite Bases: DM A DM object that is used to manage data for a collection of DMs. Methods Summary ┌────────────────────────────┬───────────────────────────────────────┐ │ addDM(dm, *args) │ Add a DM vector to the composite. │ ├────────────────────────────┼───────────────────────────────────────┤ │ create([comm]) │ Create a composite object. │ ├────────────────────────────┼───────────────────────────────────────┤ │ gather(gvec, imode, lvecs) │ Gather split local vectors into a │ │ │ coupled global vector. │ ├────────────────────────────┼───────────────────────────────────────┤ │ getAccess(gvec[, locs]) │ Get access to the individual vectors │ │ │ from the global vector. │ ├────────────────────────────┼───────────────────────────────────────┤ │ getEntries() │ Return sub-DMs contained in the │ │ │ composite. │ ├────────────────────────────┼───────────────────────────────────────┤ │ getGlobalISs() │ Return the index sets for each │ │ │ composed object in the composite. │ ├────────────────────────────┼───────────────────────────────────────┤ │ getLGMaps() │ Return a local-to-global mapping for │ │ │ each DM in the composite. │ ├────────────────────────────┼───────────────────────────────────────┤ │ getLocalISs() │ Return index sets for each component │ │ │ of a composite local vector. │ ├────────────────────────────┼───────────────────────────────────────┤ │ getNumber() │ Get number of sub-DMs contained in │ │ │ the composite. │ ├────────────────────────────┼───────────────────────────────────────┤ │ scatter(gvec, lvecs) │ Scatter coupled global vector into │ │ │ split local vectors. │ └────────────────────────────┴───────────────────────────────────────┘ Methods Documentation addDM(dm, *args) Add a DM vector to the composite. Collective. Parameters • dm (DM) -- The DM object. • *args (DM) -- Additional DM objects. Return type None SEE ALSO: DMCompositeAddDM Source code at petsc4py/PETSc/DMComposite.pyx:28 create(comm=None) Create a composite object. Collective. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: DMCompositeCreate Source code at petsc4py/PETSc/DMComposite.pyx:6 gather(gvec, imode, lvecs) Gather split local vectors into a coupled global vector. Collective. Parameters • gvec (Vec) -- The global vector. • imode (InsertModeSpec) -- The insertion mode. • lvecs (Sequence[Vec]) -- The individual sequential vectors. Return type None SEE ALSO: scatter, DMCompositeGatherArray Source code at petsc4py/PETSc/DMComposite.pyx:115 getAccess(gvec, locs=None) Get access to the individual vectors from the global vector. Not collective. Use via The with statement context manager (PEP 343). Parameters • gvec (Vec) -- The global vector. • locs (Sequence[int] | None) -- Indices of vectors wanted, or None to get all vectors. Return type Any Source code at petsc4py/PETSc/DMComposite.pyx:219 getEntries() Return sub-DMs contained in the composite. Not collective. SEE ALSO: DMCompositeGetEntriesArray Source code at petsc4py/PETSc/DMComposite.pyx:66 Return type list[DM] getGlobalISs() Return the index sets for each composed object in the composite. Collective. These could be used to extract a subset of vector entries for a "multi-physics" preconditioner. Use getLocalISs for index sets in the packed local numbering, and getLGMaps for to map local sub-DM (including ghost) indices to packed global indices. SEE ALSO: DMCompositeGetGlobalISs Source code at petsc4py/PETSc/DMComposite.pyx:143 Return type list[IS] getLGMaps() Return a local-to-global mapping for each DM in the composite. Collective. Note that this includes all the ghost points that individual ghosted DMDA may have. SEE ALSO: DMCompositeGetISLocalToGlobalMappings Source code at petsc4py/PETSc/DMComposite.pyx:196 Return type list[LGMap] getLocalISs() Return index sets for each component of a composite local vector. Not collective. To get the composite global indices at all local points (including ghosts), use getLGMaps. To get index sets for pieces of the composite global vector, use getGlobalISs. SEE ALSO: DMCompositeGetLocalISs Source code at petsc4py/PETSc/DMComposite.pyx:170 Return type list[IS] getNumber() Get number of sub-DMs contained in the composite. Not collective. SEE ALSO: DMCompositeGetNumberDM Source code at petsc4py/PETSc/DMComposite.pyx:51 Return type int scatter(gvec, lvecs) Scatter coupled global vector into split local vectors. Collective. Parameters • gvec (Vec) -- The global vector. • lvecs (Sequence[Vec]) -- Array of local vectors. Return type None SEE ALSO: gather, DMCompositeScatterArray Source code at petsc4py/PETSc/DMComposite.pyx:90 petsc4py.PETSc.DMDA class petsc4py.PETSc.DMDA Bases: DM A DM object that is used to manage data for a structured grid. Enumerations ┌───────────────────┬──────────────────────┐ │ ElementType │ Element types. │ ├───────────────────┼──────────────────────┤ │ InterpolationType │ Interpolation types. │ ├───────────────────┼──────────────────────┤ │ StencilType │ Stencil types. │ └───────────────────┴──────────────────────┘ petsc4py.PETSc.DMDA.ElementType class petsc4py.PETSc.DMDA.ElementType Bases: object Element types. Attributes Summary ┌────┬─────────────────────────┐ │ P1 │ Constant P1 of type int │ ├────┼─────────────────────────┤ │ Q1 │ Constant Q1 of type int │ └────┴─────────────────────────┘ Attributes Documentation P1: int = P1 Constant P1 of type int Q1: int = Q1 Constant Q1 of type int petsc4py.PETSc.DMDA.InterpolationType class petsc4py.PETSc.DMDA.InterpolationType Bases: object Interpolation types. Attributes Summary ┌────┬─────────────────────────┐ │ Q0 │ Constant Q0 of type int │ ├────┼─────────────────────────┤ │ Q1 │ Constant Q1 of type int │ └────┴─────────────────────────┘ Attributes Documentation Q0: int = Q0 Constant Q0 of type int Q1: int = Q1 Constant Q1 of type int petsc4py.PETSc.DMDA.StencilType class petsc4py.PETSc.DMDA.StencilType Bases: object Stencil types. Attributes Summary ┌──────┬───────────────────────────┐ │ BOX │ Constant BOX of type int │ ├──────┼───────────────────────────┤ │ STAR │ Constant STAR of type int │ └──────┴───────────────────────────┘ Attributes Documentation BOX: int = BOX Constant BOX of type int STAR: int = STAR Constant STAR of type int Methods Summary ┌───────────────────────────────────────┬───────────────────────────────────────┐ │ create([dim, dof, sizes, proc_sizes, │ Create a DMDA object. │ │ ...]) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createNaturalVec() │ Create a vector that will hold values │ │ │ in the natural numbering. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ duplicate([dof, boundary_type, ...]) │ Duplicate a DMDA. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getAO() │ Return the application ordering │ │ │ context for a distributed array. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getBoundaryType() │ Return the type of ghost nodes at │ │ │ boundary in each dimension. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getCoordinateName(index) │ Return the name of a coordinate │ │ │ dimension. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getCorners() │ Return the lower left corner and the │ │ │ sizes of the owned local region. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getDim() │ Return the topological dimension. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getDof() │ Return the number of degrees of │ │ │ freedom per node. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getElementType() │ Return the element type to be │ │ │ returned by getElements. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getElements([elem_type]) │ Return an array containing the │ │ │ indices of all the local elements. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getFieldName(field) │ Return the name of an individual │ │ │ field component. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getGhostCorners() │ Return the lower left corner and the │ │ │ size of the ghosted local region. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getGhostRanges() │ Return the ranges of the local region │ │ │ in each dimension, including ghost │ │ │ nodes. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getInterpolationType() │ Return the type of interpolation. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getOwnershipRanges() │ Return the ranges of indices in each │ │ │ dimension owned by each process. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getProcSizes() │ Return the number of processes in │ │ │ each dimension. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getRanges() │ Return the ranges of the owned local │ │ │ region in each dimension. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getRefinementFactor() │ Return the ratios that the DMDA grid │ │ │ is refined in each dimension. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getScatter() │ Return the global-to-local, and │ │ │ local-to-local scatter contexts. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getSizes() │ Return the number of grid points in │ │ │ each dimension. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getStencil() │ Return the stencil type and width. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getStencilType() │ Return the stencil type. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getStencilWidth() │ Return the stencil width. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getVecArray(vec[, readonly]) │ Get access to the vector as laid out │ │ │ on a N-d grid. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ globalToNatural(vg, vn[, addv]) │ Map values to the "natural" grid │ │ │ ordering. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ naturalToGlobal(vn, vg[, addv]) │ Map values the to grid ordering. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setBoundaryType(boundary_type) │ Set the type of ghost nodes on domain │ │ │ boundaries. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setCoordinateName(index, name) │ Set the name of the coordinate │ │ │ dimension. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setDim(dim) │ Set the topological dimension. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setDof(dof) │ Set the number of degrees of freedom │ │ │ per vertex. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setElementType(elem_type) │ Set the element type to be returned │ │ │ by getElements. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFieldName(field, name) │ Set the name of individual field │ │ │ components. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setInterpolationType(interp_type) │ Set the type of interpolation. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setProcSizes(proc_sizes) │ Set the number of processes in each │ │ │ dimension. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setRefinementFactor([refine_x, │ Set the ratios for the DMDA grid │ │ refine_y, ...]) │ refinement. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setSizes(sizes) │ Set the number of grid points in each │ │ │ dimension. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setStencil(stencil_type, │ Set the stencil type and width. │ │ stencil_width) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setStencilType(stencil_type) │ Set the stencil type. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setStencilWidth(stencil_width) │ Set the stencil width. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setUniformCoordinates([xmin, xmax, │ Set the DMDA coordinates to be a │ │ ymin, ...]) │ uniform grid. │ └───────────────────────────────────────┴───────────────────────────────────────┘ Attributes Summary ┌───────────────┬───────────────────────────────────────┐ │ boundary_type │ Boundary types in each dimension. │ ├───────────────┼───────────────────────────────────────┤ │ corners │ The lower left corner and size of │ │ │ local region in each dimension. │ ├───────────────┼───────────────────────────────────────┤ │ dim │ The grid dimension. │ ├───────────────┼───────────────────────────────────────┤ │ dof │ The number of DOFs associated with │ │ │ each stratum of the grid. │ ├───────────────┼───────────────────────────────────────┤ │ ghost_corners │ The lower left corner and size of │ │ │ local region in each dimension. │ ├───────────────┼───────────────────────────────────────┤ │ ghost_ranges │ Ranges of local region, including │ │ │ ghost nodes. │ ├───────────────┼───────────────────────────────────────┤ │ proc_sizes │ The number of processes in each │ │ │ dimension in the global │ │ │ decomposition. │ ├───────────────┼───────────────────────────────────────┤ │ ranges │ Ranges of the local region in each │ │ │ dimension. │ ├───────────────┼───────────────────────────────────────┤ │ sizes │ The global dimension. │ ├───────────────┼───────────────────────────────────────┤ │ stencil │ Stencil type and width. │ ├───────────────┼───────────────────────────────────────┤ │ stencil_type │ Stencil type. │ ├───────────────┼───────────────────────────────────────┤ │ stencil_width │ Elementwise stencil width. │ └───────────────┴───────────────────────────────────────┘ Methods Documentation create(dim=None, dof=None, sizes=None, proc_sizes=None, boundary_type=None, stencil_type=None, stencil_width=None, setup=True, ownership_ranges=None, comm=None) Create a DMDA object. Collective. This routine performs the following steps of the C API: - petsc.DMDACreate - petsc.DMSetDimension - petsc.DMDASetDof - petsc.DMDASetSizes - petsc.DMDASetNumProcs - petsc.DMDASetOwnershipRanges - petsc.DMDASetBoundaryType - petsc.DMDASetStencilType - petsc.DMDASetStencilWidth - petsc.DMSetUp (optionally) Parameters • dim (int | None) -- The number of dimensions. • dof (int | None) -- The number of degrees of freedom. • sizes (DimsSpec | None) -- The number of elements in each dimension. • proc_sizes (DimsSpec | None) -- The number of processes in x, y, z dimensions. • boundary_type (tuple[DM.BoundaryType | int | str | bool, ...] | None) -- The boundary types. • stencil_type (StencilType | None) -- The ghost/halo stencil type. • stencil_width (int | None) -- The width of the ghost/halo region. • setup (bool) -- Whether to call the setup routine after creating the object. • ownership_ranges (tuple[Sequence[int], ...] | None) -- Local x, y, z element counts, of length equal to proc_sizes, summing to sizes. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: DMDACreate, DMSetDimension, DMDASetDof, DMDASetSizes, DMDASetNumProcs, ‐ DMDASetOwnershipRanges, DMDASetBoundaryType, DMDASetStencilType, DMDASetStencilWidth, ‐ DMSetUp Source code at petsc4py/PETSc/DMDA.pyx:32 createNaturalVec() Create a vector that will hold values in the natural numbering. Collective. The number of local entries in the vector on each process is the same as in a vector created with DM.createGlobalVec. SEE ALSO: DMDACreateNaturalVector Source code at petsc4py/PETSc/DMDA.pyx:832 Return type Vec duplicate(dof=None, boundary_type=None, stencil_type=None, stencil_width=None) Duplicate a DMDA. Collective. This routine retrieves the information from the DMDA and recreates it. Parameters dof, boundary_type, stencil_type, stencil_width will be overwritten, if provided. Parameters • dof (int | None) -- The number of degrees of freedom. • boundary_type (tuple[DM.BoundaryType | int | str | bool, ...] | None) -- Boundary types. • stencil_type (StencilType | None) -- The ghost/halo stencil type. • stencil_width (int | None) -- The width of the ghost/halo region. Return type DMDA SEE ALSO: create, DMDAGetInfo, DMSetUp Source code at petsc4py/PETSc/DMDA.pyx:148 getAO() Return the application ordering context for a distributed array. Collective. The returned AO maps to the natural grid ordering that would be used for the DMDA if only 1 processor were employed (ordering most rapidly in the x-dimension, then y, then z). Multiple degrees of freedom are numbered for each node (rather than 1 component for the whole grid, then the next component, etc.). SEE ALSO: DMDAGetAO Source code at petsc4py/PETSc/DMDA.pyx:909 Return type AO getBoundaryType() Return the type of ghost nodes at boundary in each dimension. Not collective. SEE ALSO: setBoundaryType Source code at petsc4py/PETSc/DMDA.pyx:407 Return type tuple[BoundaryType, ...] getCoordinateName(index) Return the name of a coordinate dimension. Not collective. Parameters index (int) -- The coordinate number for the DMDA (0, 1, ..., dim-1). Return type str SEE ALSO: setCoordinateName, DMDAGetCoordinateName Source code at petsc4py/PETSc/DMDA.pyx:810 getCorners() Return the lower left corner and the sizes of the owned local region. Not collective. Returns the global (x,y,z) indices of the lower left corner (first tuple) and size of the local region (second tuple). Excluding ghost points. The corner information is independent of the number of degrees of freedom per node. Thus the returned values can be thought of as coordinates on a logical grid, where each grid point has (potentially) several degrees of freedom. SEE ALSO: getRanges, getGhostRanges, getOwnershipRanges, getGhostCorners, DMDAGetCorners Source code at petsc4py/PETSc/DMDA.pyx:622 Return type tuple[tuple[int, ...], tuple[int, ...]] getDim() Return the topological dimension. Not collective. SEE ALSO: setDim, DMGetDimension Source code at petsc4py/PETSc/DMDA.pyx:234 Return type int getDof() Return the number of degrees of freedom per node. Not collective. SEE ALSO: setDof, DMDAGetInfo Source code at petsc4py/PETSc/DMDA.pyx:264 Return type int getElementType() Return the element type to be returned by getElements. Not collective. SEE ALSO: setElementType, DMDAGetElementType Source code at petsc4py/PETSc/DMDA.pyx:1050 Return type ElementType getElements(elem_type=None) Return an array containing the indices of all the local elements. Not collective. The elements are in local coordinates. Each process uniquely owns a subset of the elements. That is, no element is owned by two or more processes. Parameters elem_type (ElementType | None) -- The element type. Return type ArrayInt SEE ALSO: DMDAGetElements Source code at petsc4py/PETSc/DMDA.pyx:1064 getFieldName(field) Return the name of an individual field component. Not collective. Parameters field (int) -- The field number for the DMDA (0, 1, ..., dof-1), where dof indicates the number of degrees of freedom per node within the DMDA. Return type str SEE ALSO: setFieldName, DMDAGetFieldName Source code at petsc4py/PETSc/DMDA.pyx:699 getGhostCorners() Return the lower left corner and the size of the ghosted local region. Not collective. Returns the global (x,y,z) indices of the lower left corner (first tuple) and size of the local region (second tuple). SEE ALSO: getRanges, getGhostRanges, getOwnershipRanges, getCorners, DMDAGetGhostCorners Source code at petsc4py/PETSc/DMDA.pyx:651 Return type tuple[tuple[int, ...], tuple[int, ...]] getGhostRanges() Return the ranges of the local region in each dimension, including ghost nodes. Not collective. SEE ALSO: getRanges, getOwnershipRanges, getCorners, getGhostCorners, DMDAGetGhostCorners Source code at petsc4py/PETSc/DMDA.pyx:577 Return type tuple[tuple[int, int], ...] getInterpolationType() Return the type of interpolation. Not collective. SEE ALSO: setInterpolationType, DMDAGetInterpolationType Source code at petsc4py/PETSc/DMDA.pyx:1020 Return type InterpolationType getOwnershipRanges() Return the ranges of indices in each dimension owned by each process. Not collective. These numbers are not multiplied by the number of DOFs per node. SEE ALSO: getRanges, getGhostRanges, getCorners, getGhostCorners, DMDAGetOwnershipRanges Source code at petsc4py/PETSc/DMDA.pyx:597 Return type tuple[ArrayInt, ...] getProcSizes() Return the number of processes in each dimension. Not collective. SEE ALSO: setProcSizes, DMDAGetInfo Source code at petsc4py/PETSc/DMDA.pyx:361 Return type tuple[int, ...] getRanges() Return the ranges of the owned local region in each dimension. Not collective. Excluding ghost nodes. SEE ALSO: getGhostRanges, getOwnershipRanges, getCorners, getGhostCorners, DMDAGetCorners Source code at petsc4py/PETSc/DMDA.pyx:555 Return type tuple[tuple[int, int], ...] getRefinementFactor() Return the ratios that the DMDA grid is refined in each dimension. Not collective. SEE ALSO: setRefinementFactor, DMDAGetRefinementFactor Source code at petsc4py/PETSc/DMDA.pyx:981 Return type tuple[int, ...] getScatter() Return the global-to-local, and local-to-local scatter contexts. Collective. SEE ALSO: DMDAGetScatter Source code at petsc4py/PETSc/DMDA.pyx:930 Return type tuple[Scatter, Scatter] getSizes() Return the number of grid points in each dimension. Not collective. SEE ALSO: setSizes, DMDAGetInfo Source code at petsc4py/PETSc/DMDA.pyx:311 Return type tuple[int, ...] getStencil() Return the stencil type and width. Not collective. SEE ALSO: getStencilType, getStencilWidth Source code at petsc4py/PETSc/DMDA.pyx:532 Return type tuple[StencilType, int] getStencilType() Return the stencil type. Not collective. SEE ALSO: setStencilType, DMDAGetInfo Source code at petsc4py/PETSc/DMDA.pyx:448 Return type StencilType getStencilWidth() Return the stencil width. Not collective. SEE ALSO: setStencilWidth Source code at petsc4py/PETSc/DMDA.pyx:486 Return type int getVecArray(vec, readonly=False) Get access to the vector as laid out on a N-d grid. Logically collective. Parameters • vec (Vec) -- The vector to which access is being requested. • readonly (bool) -- Request read-only access. Return type Any SEE ALSO: Vec.getArray, DMDAVecGetArray, DMDAVecGetArrayDOF Source code at petsc4py/PETSc/DMDA.pyx:723 globalToNatural(vg, vn, addv=None) Map values to the "natural" grid ordering. Neighborwise collective. You must call createNaturalVec before using this routine. Parameters • vg (Vec) -- The global vector in a grid ordering. • vn (Vec) -- The global vector in a "natural" ordering. • addv (InsertMode | None) -- The insertion mode. Return type None SEE ALSO: naturalToGlobal, DMDAGlobalToNaturalBegin, DMDAGlobalToNaturalEnd Source code at petsc4py/PETSc/DMDA.pyx:849 naturalToGlobal(vn, vg, addv=None) Map values the to grid ordering. Neighborwise collective. Parameters • vn (Vec) -- The global vector in a natural ordering. • vg (Vec) -- the global vector in a grid ordering. • addv (InsertMode | None) -- The insertion mode. Return type None SEE ALSO: globalToNatural, DMDANaturalToGlobalBegin, DMDANaturalToGlobalEnd Source code at petsc4py/PETSc/DMDA.pyx:879 setBoundaryType(boundary_type) Set the type of ghost nodes on domain boundaries. Not collective. Parameters boundary_type (tuple[BoundaryType | int | str | bool, ...]) -- The boundary type in (x), (x, y), or (x, y, z) dimensions. Return type None SEE ALSO: getBoundaryType, DMDASetBoundaryType Source code at petsc4py/PETSc/DMDA.pyx:384 setCoordinateName(index, name) Set the name of the coordinate dimension. Logically collective. Parameters • index (int) -- The coordinate number for the DMDA (0, 1, ..., dim-1). • name (str) -- The name of the coordinate. Return type None SEE ALSO: getCoordinateName, DMDASetCoordinateName Source code at petsc4py/PETSc/DMDA.pyx:788 setDim(dim) Set the topological dimension. Collective. Parameters dim (int) -- Topological dimension. Return type None SEE ALSO: getDim, DMSetDimension Source code at petsc4py/PETSc/DMDA.pyx:217 setDof(dof) Set the number of degrees of freedom per vertex. Not collective. Parameters dof (int) -- The number of degrees of freedom. Return type None SEE ALSO: getDof, DMDASetDof Source code at petsc4py/PETSc/DMDA.pyx:246 setElementType(elem_type) Set the element type to be returned by getElements. Not collective. SEE ALSO: getElementType, DMDASetElementType Source code at petsc4py/PETSc/DMDA.pyx:1036 Parameters elem_type (ElementType | str) Return type None setFieldName(field, name) Set the name of individual field components. Logically collective. Parameters • field (int) -- The field number for the DMDA (0, 1, ..., dof-1), where dof indicates the number of degrees of freedom per node within the DMDA. • name (str) -- The name of the field (component). Return type None SEE ALSO: getFieldName, DMDASetFieldName Source code at petsc4py/PETSc/DMDA.pyx:675 setInterpolationType(interp_type) Set the type of interpolation. Logically collective. You should call this on the coarser of the two DMDAs you pass to DM.createInterpolation. Parameters interp_type (InterpolationType) -- The interpolation type. Return type None SEE ALSO: getInterpolationType, DMDASetInterpolationType Source code at petsc4py/PETSc/DMDA.pyx:999 setProcSizes(proc_sizes) Set the number of processes in each dimension. Logically collective. Parameters proc_sizes (DimsSpec) -- The number of processes in (x,), (x, y), or (x, y, z) dimensions. Return type None SEE ALSO: getProcSizes, DMDASetNumProcs Source code at petsc4py/PETSc/DMDA.pyx:334 setRefinementFactor(refine_x=2, refine_y=2, refine_z=2) Set the ratios for the DMDA grid refinement. Logically collective. Parameters • refine_x (int) -- Ratio of fine grid to coarse in x dimension. • refine_y (int) -- Ratio of fine grid to coarse in y dimension. • refine_z (int) -- Ratio of fine grid to coarse in z dimension. Return type None SEE ALSO: getRefinementFactor, DMDASetRefinementFactor Source code at petsc4py/PETSc/DMDA.pyx:949 setSizes(sizes) Set the number of grid points in each dimension. Logically collective. Parameters sizes (DimsSpec) -- The global (x,), (x, y), or (x, y, z) size. Return type None SEE ALSO: getSizes, DMDASetSizes Source code at petsc4py/PETSc/DMDA.pyx:284 setStencil(stencil_type, stencil_width) Set the stencil type and width. Not collective. Parameters • stencil_type (StencilType) -- The stencil type. • stencil_width (int) -- The stencil width. Return type None SEE ALSO: setStencilWidth, setStencilType, DMDASetStencilType, DMDASetStencilWidth Source code at petsc4py/PETSc/DMDA.pyx:506 setStencilType(stencil_type) Set the stencil type. Logically collective. Parameters • stype -- The stencil type. • stencil_type (StencilType) Return type None SEE ALSO: getStencilType, setStencil, DMDASetStencilType Source code at petsc4py/PETSc/DMDA.pyx:430 setStencilWidth(stencil_width) Set the stencil width. Logically collective. Parameters stencil_width (int) -- The stencil width. Return type None SEE ALSO: getStencilWidth, setStencil, DMDASetStencilWidth Source code at petsc4py/PETSc/DMDA.pyx:468 setUniformCoordinates(xmin=0, xmax=1, ymin=0, ymax=1, zmin=0, zmax=1) Set the DMDA coordinates to be a uniform grid. Collective. Parameters • xmin (float) -- The minimum in the x dimension. • xmax (float) -- The maximum in the x dimension. • ymin (float) -- The minimum in the y dimension (value ignored for 1 dimensional problems). • ymax (float) -- The maximum in the y dimension (value ignored for 1 dimensional problems). • zmin (float) -- The minimum in the z dimension (value ignored for 1 or 2 dimensional problems). • zmax (float) -- The maximum in the z dimension (value ignored for 1 or 2 dimensional problems). Return type None SEE ALSO: DMDASetUniformCoordinates Source code at petsc4py/PETSc/DMDA.pyx:744 Attributes Documentation boundary_type Boundary types in each dimension. Source code at petsc4py/PETSc/DMDA.pyx:1123 corners The lower left corner and size of local region in each dimension. Source code at petsc4py/PETSc/DMDA.pyx:1153 dim The grid dimension. Source code at petsc4py/PETSc/DMDA.pyx:1103 dof The number of DOFs associated with each stratum of the grid. Source code at petsc4py/PETSc/DMDA.pyx:1108 ghost_corners The lower left corner and size of local region in each dimension. Source code at petsc4py/PETSc/DMDA.pyx:1158 ghost_ranges Ranges of local region, including ghost nodes. Source code at petsc4py/PETSc/DMDA.pyx:1148 proc_sizes The number of processes in each dimension in the global decomposition. Source code at petsc4py/PETSc/DMDA.pyx:1118 ranges Ranges of the local region in each dimension. Source code at petsc4py/PETSc/DMDA.pyx:1143 sizes The global dimension. Source code at petsc4py/PETSc/DMDA.pyx:1113 stencil Stencil type and width. Source code at petsc4py/PETSc/DMDA.pyx:1128 stencil_type Stencil type. Source code at petsc4py/PETSc/DMDA.pyx:1133 stencil_width Elementwise stencil width. Source code at petsc4py/PETSc/DMDA.pyx:1138 petsc4py.PETSc.DMInterpolation class petsc4py.PETSc.DMInterpolation Bases: object Interpolation on a mesh. Methods Summary ┌───────────────────────────────────────┬───────────────────────────────────────┐ │ create([comm]) │ Create a DMInterpolation context. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy the DMInterpolation context. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ evaluate(dm, x[, v]) │ Calculate interpolated field values │ │ │ at the interpolation points. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getCoordinates() │ Return the coordinates of each │ │ │ interpolation point. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getDim() │ Return the spatial dimension of the │ │ │ interpolation context. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getDof() │ Return the number of fields │ │ │ interpolated at a point. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getVector() │ Return a Vec which can hold all the │ │ │ interpolated field values. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ restoreVector(vec) │ Restore a Vec which can hold all the │ │ │ interpolated field values. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setDim(dim) │ Set the spatial dimension for the │ │ │ interpolation context. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setDof(dof) │ Set the number of fields interpolated │ │ │ at a point. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setUp(dm[, redundantPoints, │ Compute spatial indices for point │ │ ignoreOutsideDomain]) │ location during interpolation. │ └───────────────────────────────────────┴───────────────────────────────────────┘ Methods Documentation create(comm=None) Create a DMInterpolation context. Collective. Parameters comm (Comm | None) -- MPI communicator, defaults to COMM_SELF. Return type Self SEE ALSO: destroy, DMInterpolationCreate Source code at petsc4py/PETSc/DMUtils.pyx:13 destroy() Destroy the DMInterpolation context. Collective. SEE ALSO: create, DMInterpolationDestroy Source code at petsc4py/PETSc/DMUtils.pyx:35 Return type Self evaluate(dm, x, v=None) Calculate interpolated field values at the interpolation points. Collective. Parameters • dm (DM) -- The DM. • x (Vec) -- The local vector containing the field to be interpolated. • v (Vec | None) -- A vector capable of holding the interpolated field values. Return type Vec SEE ALSO: DMInterpolationEvaluate Source code at petsc4py/PETSc/DMUtils.pyx:48 getCoordinates() Return the coordinates of each interpolation point. Collective. The local vector entries correspond to interpolation points lying on this process, according to the associated DM. SEE ALSO: DMInterpolationGetCoordinates Source code at petsc4py/PETSc/DMUtils.pyx:74 Return type Vec getDim() Return the spatial dimension of the interpolation context. Not collective. SEE ALSO: setDim, DMInterpolationGetDim Source code at petsc4py/PETSc/DMUtils.pyx:92 Return type int getDof() Return the number of fields interpolated at a point. Not collective. SEE ALSO: setDof, DMInterpolationGetDof Source code at petsc4py/PETSc/DMUtils.pyx:106 Return type int getVector() Return a Vec which can hold all the interpolated field values. Collective. This vector should be returned using restoreVector. SEE ALSO: restoreVector, DMInterpolationGetVector Source code at petsc4py/PETSc/DMUtils.pyx:185 Return type Vec restoreVector(vec) Restore a Vec which can hold all the interpolated field values. Collective. Parameters vec (Vec) -- A vector capable of holding the interpolated field values. Return type None SEE ALSO: getVector, DMInterpolationRestoreVector Source code at petsc4py/PETSc/DMUtils.pyx:201 setDim(dim) Set the spatial dimension for the interpolation context. Not collective. Parameters dim (int) -- The spatial dimension. Return type None SEE ALSO: getDim, DMInterpolationSetDim Source code at petsc4py/PETSc/DMUtils.pyx:120 setDof(dof) Set the number of fields interpolated at a point. Not collective. Parameters dof (int) -- The number of fields. Return type None SEE ALSO: getDof, DMInterpolationSetDof Source code at petsc4py/PETSc/DMUtils.pyx:138 setUp(dm, redundantPoints=False, ignoreOutsideDomain=False) Compute spatial indices for point location during interpolation. Collective. Parameters • dm (DM) -- The DM for the function space used for interpolation. • redundantPoints (bool) -- If True, all processes are passing in the same array of points. Otherwise, points need to be communicated among processes. • ignoreOutsideDomain (bool) -- Ignore points outside of the domain if True; otherwise, return an error. Return type None SEE ALSO: DMInterpolationSetUp Source code at petsc4py/PETSc/DMUtils.pyx:156 petsc4py.PETSc.DMLabel class petsc4py.PETSc.DMLabel Bases: Object An object representing a subset of mesh entities from a DM. Methods Summary ┌───────────────────────────────┬───────────────────────────────────────┐ │ addStrata(strata) │ Add new stratum values in a DMLabel. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ addStrataIS(iset) │ Add new stratum values in a DMLabel. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ addStratum(value) │ Add a new stratum value in a DMLabel. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ clearStratum(stratum) │ Remove a stratum. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ clearValue(point, value) │ Clear the value a label assigns to a │ │ │ point. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ computeIndex() │ Create an index structure for │ │ │ membership determination. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ convertToSection() │ Return a Section and IS that encode │ │ │ the label. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ create(name[, comm]) │ Create a DMLabel object, which is a │ │ │ multimap. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ createIndex(pStart, pEnd) │ Create an index structure for │ │ │ membership determination. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy the label. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ destroyIndex() │ Destroy the index structure. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ distribute(sf) │ Create a new label pushed forward │ │ │ over the SF. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ duplicate() │ Duplicate the DMLabel. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ filter(start, end) │ Remove all points outside of [start, │ │ │ end). │ ├───────────────────────────────┼───────────────────────────────────────┤ │ gather(sf) │ Gather all label values from leaves │ │ │ into roots. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ getBounds() │ Return the smallest and largest point │ │ │ in the label. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ getDefaultValue() │ Return the default value returned by │ │ │ getValue. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ getNonEmptyStratumValuesIS() │ Return an IS of all values that the │ │ │ DMLabel takes. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ getNumValues() │ Return the number of values that the │ │ │ DMLabel takes. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ getStratumIS(stratum) │ Return an IS with the stratum points. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ getStratumSize(stratum) │ Return the size of a stratum. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ getValue(point) │ Return the value a label assigns to a │ │ │ point. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ getValueIS() │ Return an IS of all values that the │ │ │ DMLabel takes. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ hasPoint(point) │ Determine whether the label contains │ │ │ a point. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ hasStratum(value) │ Determine whether points exist with │ │ │ the given value. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ hasValue(value) │ Determine whether a label assigns the │ │ │ value to any point. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ insertIS(iset, value) │ Set all points in the IS to a value. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ permute(permutation) │ Create a new label with permuted │ │ │ points. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ reset() │ Destroy internal data structures in │ │ │ the DMLabel. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ setDefaultValue(value) │ Set the default value returned by │ │ │ getValue. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ setStratumIS(stratum, iset) │ Set the stratum points using an IS. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ setValue(point, value) │ Set the value a label assigns to a │ │ │ point. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ stratumHasPoint(value, point) │ Return whether the stratum contains a │ │ │ point. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ View the label. │ └───────────────────────────────┴───────────────────────────────────────┘ Methods Documentation addStrata(strata) Add new stratum values in a DMLabel. Not collective. Parameters strata (Sequence[int]) -- The stratum values. Return type None SEE ALSO: addStrataIS, addStratum, DMLabelAddStrata Source code at petsc4py/PETSc/DMLabel.pyx:238 addStrataIS(iset) Add new stratum values in a DMLabel. Not collective. Parameters iset (IS) -- Index set with stratum values. Return type None SEE ALSO: addStrata, addStratum, DMLabelAddStrataIS Source code at petsc4py/PETSc/DMLabel.pyx:258 addStratum(value) Add a new stratum value in a DMLabel. Not collective. Parameters value (int) -- The stratum value. Return type None SEE ALSO: addStrata, addStrataIS, DMLabelAddStratum Source code at petsc4py/PETSc/DMLabel.pyx:220 clearStratum(stratum) Remove a stratum. Not collective. Parameters stratum (int) -- The stratum value. Return type None SEE ALSO: DMLabelClearStratum Source code at petsc4py/PETSc/DMLabel.pyx:406 clearValue(point, value) Clear the value a label assigns to a point. Not collective. Parameters • point (int) -- The point. • value (int) -- The point value. Return type None SEE ALSO: DMLabelClearValue Source code at petsc4py/PETSc/DMLabel.pyx:199 computeIndex() Create an index structure for membership determination. Not collective. Automatically determines the bounds. SEE ALSO: DMLabelComputeIndex Source code at petsc4py/PETSc/DMLabel.pyx:424 Return type None convertToSection() Return a Section and IS that encode the label. Not collective. SEE ALSO: DMLabelConvertToSection Source code at petsc4py/PETSc/DMLabel.pyx:607 Return type tuple[Section, IS] create(name, comm=None) Create a DMLabel object, which is a multimap. Collective. Parameters • name (str) -- The label name. • comm (Comm | None) -- MPI communicator, defaults to COMM_SELF. Return type Self SEE ALSO: DMLabelCreate Source code at petsc4py/PETSc/DMLabel.pyx:40 createIndex(pStart, pEnd) Create an index structure for membership determination. Not collective. Parameters • pStart (int) -- The smallest point. • pEnd (int) -- The largest point + 1. Return type None SEE ALSO: destroyIndex, DMLabelCreateIndex Source code at petsc4py/PETSc/DMLabel.pyx:438 destroy() Destroy the label. Collective. SEE ALSO: DMLabelDestroy Source code at petsc4py/PETSc/DMLabel.pyx:8 Return type Self destroyIndex() Destroy the index structure. Not collective. SEE ALSO: createIndex, DMLabelDestroyIndex Source code at petsc4py/PETSc/DMLabel.pyx:458 Return type None distribute(sf) Create a new label pushed forward over the SF. Collective. Parameters sf (SF) -- The map from old to new distribution. Return type DMLabel SEE ALSO: gather, DMLabelDistribute Source code at petsc4py/PETSc/DMLabel.pyx:567 duplicate() Duplicate the DMLabel. Collective. SEE ALSO: DMLabelDuplicate Source code at petsc4py/PETSc/DMLabel.pyx:65 Return type DMLabel filter(start, end) Remove all points outside of [start, end). Not collective. Parameters • start (int) -- The first point kept. • end (int) -- One more than the last point kept. Return type None SEE ALSO: DMLabelFilter Source code at petsc4py/PETSc/DMLabel.pyx:528 gather(sf) Gather all label values from leaves into roots. Collective. This is the inverse operation to distribute. Parameters sf (SF) -- The SF communication map. Return type DMLabel SEE ALSO: distribute, DMLabelGather Source code at petsc4py/PETSc/DMLabel.pyx:586 getBounds() Return the smallest and largest point in the label. Not collective. The returned values are the smallest point and the largest point + 1. SEE ALSO: DMLabelGetBounds Source code at petsc4py/PETSc/DMLabel.pyx:512 Return type tuple[int, int] getDefaultValue() Return the default value returned by getValue. Not collective. The default value is returned if a point has not been explicitly given a value. When a label is created, it is initialized to -1. SEE ALSO: setDefaultValue, DMLabelGetDefaultValue Source code at petsc4py/PETSc/DMLabel.pyx:161 Return type int getNonEmptyStratumValuesIS() Return an IS of all values that the DMLabel takes. Not collective. SEE ALSO: DMLabelGetNonEmptyStratumValuesIS Source code at petsc4py/PETSc/DMLabel.pyx:622 Return type IS getNumValues() Return the number of values that the DMLabel takes. Not collective. SEE ALSO: DMLabelGetNumValues Source code at petsc4py/PETSc/DMLabel.pyx:275 Return type int getStratumIS(stratum) Return an IS with the stratum points. Not collective. Parameters stratum (int) -- The stratum value. Return type IS SEE ALSO: setStratumIS, DMLabelGetStratumIS Source code at petsc4py/PETSc/DMLabel.pyx:366 getStratumSize(stratum) Return the size of a stratum. Not collective. Parameters stratum (int) -- The stratum value. Return type int SEE ALSO: DMLabelGetStratumSize Source code at petsc4py/PETSc/DMLabel.pyx:346 getValue(point) Return the value a label assigns to a point. Not collective. If no value was assigned, a default value will be returned The default value, initially -1, can be changed with setDefaultValue. Parameters point (int) -- The point. Return type int SEE ALSO: setValue, setDefaultValue, DMLabelGetValue Source code at petsc4py/PETSc/DMLabel.pyx:137 getValueIS() Return an IS of all values that the DMLabel takes. Not collective. SEE ALSO: DMLabelGetValueIS Source code at petsc4py/PETSc/DMLabel.pyx:289 Return type IS hasPoint(point) Determine whether the label contains a point. Not collective. The user must call createIndex before this function. Parameters point (int) -- The point. Return type bool SEE ALSO: hasValue, DMLabelHasPoint Source code at petsc4py/PETSc/DMLabel.pyx:490 hasStratum(value) Determine whether points exist with the given value. Not collective. Parameters value (int) -- The stratum value. Return type bool SEE ALSO: DMLabelHasStratum Source code at petsc4py/PETSc/DMLabel.pyx:326 hasValue(value) Determine whether a label assigns the value to any point. Not collective. Parameters value (int) -- The value. Return type bool SEE ALSO: hasPoint, DMLabelHasValue Source code at petsc4py/PETSc/DMLabel.pyx:470 insertIS(iset, value) Set all points in the IS to a value. Not collective. Parameters • iset (IS) -- The point IS. • value (int) -- The point value. Return type Self SEE ALSO: DMLabelInsertIS Source code at petsc4py/PETSc/DMLabel.pyx:91 permute(permutation) Create a new label with permuted points. Not collective. Parameters permutation (IS) -- The point permutation. Return type DMLabel SEE ALSO: DMLabelPermute Source code at petsc4py/PETSc/DMLabel.pyx:548 reset() Destroy internal data structures in the DMLabel. Not collective. SEE ALSO: DMLabelReset Source code at petsc4py/PETSc/DMLabel.pyx:79 Return type None setDefaultValue(value) Set the default value returned by getValue. Not collective. The value is used if a point has not been explicitly given a value. When a label is created, the default value is initialized to -1. Parameters value (int) -- The default value. Return type None SEE ALSO: getDefaultValue, DMLabelSetDefaultValue Source code at petsc4py/PETSc/DMLabel.pyx:178 setStratumIS(stratum, iset) Set the stratum points using an IS. Not collective. Parameters • stratum (int) -- The stratum value. • iset (IS) -- The stratum points. Return type None SEE ALSO: getStratumIS, DMLabelSetStratumIS Source code at petsc4py/PETSc/DMLabel.pyx:386 setValue(point, value) Set the value a label assigns to a point. Not collective. If the value is the same as the label's default value (which is initially -1, and can be changed with setDefaultValue), this function will do nothing. Parameters • point (int) -- The point. • value (int) -- The point value. Return type None SEE ALSO: getValue, setDefaultValue, DMLabelSetValue Source code at petsc4py/PETSc/DMLabel.pyx:112 stratumHasPoint(value, point) Return whether the stratum contains a point. Not collective. Parameters • value (int) -- The stratum value. • point (int) -- The point. Return type bool SEE ALSO: DMLabelStratumHasPoint Source code at petsc4py/PETSc/DMLabel.pyx:303 view(viewer=None) View the label. Collective. Parameters viewer (Viewer | None) -- A Viewer to display the graph. Return type None SEE ALSO: DMLabelView Source code at petsc4py/PETSc/DMLabel.pyx:21 petsc4py.PETSc.DMPlex class petsc4py.PETSc.DMPlex Bases: DM Encapsulate an unstructured mesh. DMPlex encapsulates both topology and geometry. It is capable of parallel refinement and coarsening (using Pragmatic or ParMmg) and parallel redistribution for load balancing. Methods Summary ┌─────────────────────────────────────────────┬───────────────────────────────────────┐ │ computeCellGeometryFVM(cell) │ Compute the volume for a given cell. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ computeGradientClementInterpolant(locX, │ Return the L2 projection of the │ │ locC) │ cellwise gradient of a function onto │ │ │ P1. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ constructGhostCells([labelName]) │ Construct ghost cells which connect │ │ │ to every boundary face. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ coordinatesLoad(viewer, sfxc) │ Load coordinates into this DMPlex │ │ │ object. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ coordinatesView(viewer) │ Save DMPlex coordinates into a file. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ create([comm]) │ Create a DMPlex object, which │ │ │ encapsulates an unstructured mesh. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ createBoxMesh(faces[, lower, upper, │ Create a mesh on the tensor product │ │ ...]) │ of intervals. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ createBoxSurfaceMesh(faces[, lower, │ Create a mesh on the surface of a box │ │ upper, ...]) │ mesh using tensor cells. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ createCGNS(cgid[, interpolate, comm]) │ Create a DMPlex mesh from a CGNS │ │ │ file. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ createCGNSFromFile(filename[, │ "Create a DMPlex mesh from a CGNS │ │ interpolate, comm]) │ file. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ createClosureIndex(sec) │ Calculate an index for sec for the │ │ │ closure operation. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ createCoarsePointIS() │ Create an IS covering the coarse │ │ │ DMPlex chart with the fine points as │ │ │ data. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ createCohesiveSubmesh(hasLagrange, │ Extract the hypersurface defined by │ │ value) │ one face of the cohesive cells. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ createExodus(exoid[, interpolate, │ Create a DMPlex mesh from an ExodusII │ │ comm]) │ file ID. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ createExodusFromFile(filename[, ...]) │ Create a DMPlex mesh from an ExodusII │ │ │ file. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ createFromCellList(dim, cells, coords[, │ Create a DMPlex from a list of │ │ ...]) │ vertices for each cell on process 0. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ createFromFile(filename[, plexname, │ Create DMPlex from a file. │ │ ...]) │ │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ createGmsh(viewer[, interpolate, comm]) │ Create a DMPlex mesh from a Gmsh file │ │ │ viewer. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ createPointNumbering() │ Create a global numbering for all │ │ │ points. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ createSection(numComp, numDof[, │ Create a Section based upon the DOF │ │ bcField, ...]) │ layout specification provided. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ distribute([overlap]) │ Distribute the mesh and any │ │ │ associated sections. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ distributeField(sf, sec, vec[, newsec, │ Distribute field data with a with a │ │ newvec]) │ given SF. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ distributeGetDefault() │ Return a flag indicating whether the │ │ │ DM should be distributed by default. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ distributeOverlap([overlap]) │ Add partition overlap to a │ │ │ distributed non-overlapping DMPlex. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ distributeSetDefault(flag) │ Set flag indicating whether the │ │ │ DMPlex should be distributed by │ │ │ default. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ distributionGetName() │ Retrieve the name of the specific │ │ │ parallel distribution. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ distributionSetName(name) │ Set the name of the specific parallel │ │ │ distribution. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ generate(boundary[, name, interpolate]) │ Generate a mesh. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getAdjacency(p) │ Return all points adjacent to the │ │ │ given point. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getAdjacencyUseAnchors() │ Query whether adjacency in the mesh │ │ │ uses the point-to-point constraints. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getCellNumbering() │ Return a global cell numbering for │ │ │ all cells on this process. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getCellType(p) │ Return the polytope type of a given │ │ │ cell. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getCellTypeLabel() │ Return the DMLabel recording the │ │ │ polytope type of each cell. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getChart() │ Return the interval for all mesh │ │ │ points [pStart, pEnd). │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getCone(p) │ Return the points on the in-edges for │ │ │ this point in the DAG. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getConeOrientation(p) │ Return the orientations on the │ │ │ in-edges for this point in the DAG. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getConeSize(p) │ Return the number of in-edges for │ │ │ this point in the DAG. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getDepth() │ Return the depth of the DAG │ │ │ representing this mesh. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getDepthStratum(svalue) │ Return the bounds [start, end) for │ │ │ all points at a certain depth. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getFullJoin(points) │ Return an array for the join of the │ │ │ set of points. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getHeightStratum(svalue) │ Return the bounds [start, end) for │ │ │ all points at a certain height. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getJoin(points) │ Return an array for the join of the │ │ │ set of points. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getMaxSizes() │ Return the maximum number of in-edges │ │ │ and out-edges of the DAG. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getMeet(points) │ Return an array for the meet of the │ │ │ set of points. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getMinRadius() │ Return the minimum distance from any │ │ │ cell centroid to a face. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getOrdering(otype) │ Calculate a reordering of the mesh. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getPartitioner() │ Return the mesh partitioner. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getPointDepth(point) │ Return the depth of a given point. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getPointGlobal(point) │ Return location of point data in │ │ │ global Vec. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getPointGlobalField(point, field) │ Return location of point field data │ │ │ in global Vec. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getPointHeight(point) │ Return the height of a given point. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getPointLocal(point) │ Return location of point data in │ │ │ local Vec. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getPointLocalField(point, field) │ Return location of point field data │ │ │ in local Vec. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getRefinementLimit() │ Retrieve the maximum cell volume for │ │ │ refinement. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getRefinementUniform() │ Retrieve the flag for uniform │ │ │ refinement. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getSubpointIS() │ Return an IS covering the entire │ │ │ subdm chart. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getSubpointMap() │ Return a DMLabel with point dimension │ │ │ as values. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getSupport(p) │ Return the points on the out-edges │ │ │ for this point in the DAG. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getSupportSize(p) │ Return the number of out-edges for │ │ │ this point in the DAG. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getTransitiveClosure(p[, useCone]) │ Return the points and orientations on │ │ │ the transitive closure of this point. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getVecClosure(sec, vec, point) │ Return an array of the values on the │ │ │ closure of a point. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ getVertexNumbering() │ Return a global vertex numbering for │ │ │ all vertices on this process. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ globalVectorLoad(viewer, sectiondm, sf, │ Load on-disk vector data into a │ │ vec) │ global vector. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ globalVectorView(viewer, sectiondm, │ Save a global vector. │ │ vec) │ │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ insertCone(p, conePos, conePoint) │ DMPlexInsertCone - Insert a point │ │ │ into the in-edges for the point p in │ │ │ the DAG. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ insertConeOrientation(p, conePos, ...) │ Insert a point orientation for the │ │ │ in-edge for the point p in the DAG. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ interpolate() │ Convert to a mesh with all │ │ │ intermediate faces, edges, etc. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ isDistributed() │ Return the flag indicating if the │ │ │ mesh is distributed. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ isSimplex() │ Return the flag indicating if the │ │ │ first cell is a simplex. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ labelCohesiveComplete(label, bdlabel, │ Add all other mesh pieces to complete │ │ ...) │ the surface. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ labelComplete(label) │ Add the transitive closure to the │ │ │ surface. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ labelsLoad(viewer, sfxc) │ Load labels into this DMPlex object. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ labelsView(viewer) │ Save DMPlex labels into a file. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ localVectorLoad(viewer, sectiondm, sf, │ Load on-disk vector data into a local │ │ vec) │ vector. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ localVectorView(viewer, sectiondm, vec) │ Save a local vector. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ markBoundaryFaces(label[, value]) │ Mark all faces on the boundary. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricAverage2(metric1, metric2, │ Compute and return the unweighted │ │ metricAvg) │ average of two metrics. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricAverage3(metric1, metric2, │ Compute and return the unweighted │ │ metric3, ...) │ average of three metrics. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricCreate([field]) │ Create a Riemannian metric field. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricCreateIsotropic(indicator[, │ Construct an isotropic metric from an │ │ field]) │ error indicator. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricCreateUniform(alpha[, field]) │ Construct a uniform isotropic metric. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricDeterminantCreate([field]) │ Create the determinant field for a │ │ │ Riemannian metric. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricEnforceSPD(metric, ometric, │ Enforce symmetric │ │ determinant) │ positive-definiteness of a metric. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricGetGradationFactor() │ Return the metric gradation factor. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricGetHausdorffNumber() │ Return the metric Hausdorff number. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricGetMaximumAnisotropy() │ Return the maximum tolerated metric │ │ │ anisotropy. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricGetMaximumMagnitude() │ Return the maximum tolerated metric │ │ │ magnitude. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricGetMinimumMagnitude() │ Return the minimum tolerated metric │ │ │ magnitude. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricGetNormalizationOrder() │ Return the order p for L-p │ │ │ normalization. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricGetNumIterations() │ Return the number of parallel │ │ │ adaptation iterations. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricGetTargetComplexity() │ Return the target metric complexity. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricGetVerbosity() │ Return the verbosity of the mesh │ │ │ adaptation package. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricIntersection2(metric1, metric2, │ Compute and return the intersection │ │ metricInt) │ of two metrics. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricIntersection3(metric1, metric2, │ Compute the intersection of three │ │ ...) │ metrics. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricIsIsotropic() │ Return the flag indicating whether │ │ │ the metric is isotropic or not. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricIsUniform() │ Return the flag indicating whether │ │ │ the metric is uniform or not. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricNoInsertion() │ Return the flag indicating whether │ │ │ node insertion and deletion are │ │ │ turned off. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricNoMovement() │ Return the flag indicating whether │ │ │ node movement is turned off. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricNoSurf() │ Return the flag indicating whether │ │ │ surface modification is turned off. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricNoSwapping() │ Return the flag indicating whether │ │ │ facet swapping is turned off. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricNormalize(metric, ometric, │ Apply L-p normalization to a metric. │ │ determinant) │ │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricRestrictAnisotropyFirst() │ Return true if anisotropy is │ │ │ restricted before normalization. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricSetFromOptions() │ Configure the object from the options │ │ │ database. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricSetGradationFactor(beta) │ Set the metric gradation factor. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricSetHausdorffNumber(hausd) │ Set the metric Hausdorff number. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricSetIsotropic(isotropic) │ Record whether the metric is │ │ │ isotropic or not. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricSetMaximumAnisotropy(a_max) │ Set the maximum tolerated metric │ │ │ anisotropy. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricSetMaximumMagnitude(h_max) │ Set the maximum tolerated metric │ │ │ magnitude. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricSetMinimumMagnitude(h_min) │ Set the minimum tolerated metric │ │ │ magnitude. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricSetNoInsertion(noInsert) │ Set the flag indicating whether node │ │ │ insertion should be turned off. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricSetNoMovement(noMove) │ Set the flag indicating whether node │ │ │ movement should be turned off. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricSetNoSurf(noSurf) │ Set the flag indicating whether │ │ │ surface modification should be turned │ │ │ off. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricSetNoSwapping(noSwap) │ Set the flag indicating whether facet │ │ │ swapping should be turned off. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricSetNormalizationOrder(p) │ Set the order p for L-p │ │ │ normalization. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricSetNumIterations(numIter) │ Set the number of parallel adaptation │ │ │ iterations. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricSetRestrictAnisotropyFirst(...) │ Record whether anisotropy is be │ │ │ restricted before normalization or │ │ │ after. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricSetTargetComplexity(targetComplexity) │ Set the target metric complexity. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricSetUniform(uniform) │ Record whether the metric is uniform │ │ │ or not. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ metricSetVerbosity(verbosity) │ Set the verbosity of the mesh │ │ │ adaptation package. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ orient() │ Give a consistent orientation to the │ │ │ input mesh. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ permute(perm) │ Reorder the mesh according to the │ │ │ input permutation. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ rebalanceSharedPoints([entityDepth, ...]) │ Redistribute shared points in order │ │ │ to achieve better balancing. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ reorderGetDefault() │ Return flag indicating whether the │ │ │ DMPlex should be reordered by │ │ │ default. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ reorderSetDefault(flag) │ Set flag indicating whether the DM │ │ │ should be reordered by default. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ sectionLoad(viewer, sectiondm, sfxc) │ Load section into a DM. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ sectionView(viewer, sectiondm) │ Save a section associated with a │ │ │ DMPlex. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ setAdjacencyUseAnchors([useAnchors]) │ Define adjacency in the mesh using │ │ │ the point-to-point constraints. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ setCellType(p, ctype) │ Set the polytope type of a given │ │ │ cell. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ setChart(pStart, pEnd) │ Set the interval for all mesh points │ │ │ [pStart, pEnd). │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ setCone(p, cone[, orientation]) │ Set the points on the in-edges for │ │ │ this point in the DAG. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ setConeOrientation(p, orientation) │ Set the orientations on the in-edges │ │ │ for this point in the DAG. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ setConeSize(p, size) │ Set the number of in-edges for this │ │ │ point in the DAG. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ setMatClosure(sec, gsec, mat, point, │ Set an array of the values on the │ │ values) │ closure of point. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ setPartitioner(part) │ Set the mesh partitioner. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ setRefinementLimit(refinementLimit) │ Set the maximum cell volume for │ │ │ refinement. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ setRefinementUniform([refinementUniform]) │ Set the flag for uniform refinement. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ setSupport(p, supp) │ Set the points on the out-edges for │ │ │ this point in the DAG. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ setSupportSize(p, size) │ Set the number of out-edges for this │ │ │ point in the DAG. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ setTetGenOptions(opts) │ Set the options used for the Tetgen │ │ │ mesh generator. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ setTriangleOptions(opts) │ Set the options used for the Triangle │ │ │ mesh generator. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ setVecClosure(sec, vec, point, values[, │ Set an array of the values on the │ │ addv]) │ closure of point. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ stratify() │ Calculate the strata of DAG. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ symmetrize() │ Create support (out-edge) information │ │ │ from cone (in-edge) information. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ topologyLoad(viewer) │ Load a topology into this DMPlex │ │ │ object. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ topologyView(viewer) │ Save a DMPlex topology into a file. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ uninterpolate() │ Convert to a mesh with only cells and │ │ │ vertices. │ ├─────────────────────────────────────────────┼───────────────────────────────────────┤ │ vecGetClosure(sec, vec, p) │ Return an array of values on the │ │ │ closure of p. │ └─────────────────────────────────────────────┴───────────────────────────────────────┘ Methods Documentation computeCellGeometryFVM(cell) Compute the volume for a given cell. Not collective. Parameters cell (int) -- The cell. Returns • volume (float) -- The cell volume. • centroid (ArrayReal) -- The cell centroid. • normal (ArrayReal) -- The cell normal, if appropriate. Return type tuple[float, ArrayReal, ArrayReal] SEE ALSO: DMPlex, DM.getCoordinateSection, DM.getCoordinates, DMPlexComputeCellGeometryFVM Source code at petsc4py/PETSc/DMPlex.pyx:2217 computeGradientClementInterpolant(locX, locC) Return the L2 projection of the cellwise gradient of a function onto P1. Collective. Parameters • locX (Vec) -- The coefficient vector of the function. • locC (Vec) -- The output Vec which holds the Clement interpolant of the gradient. Return type Vec SEE ALSO: DM, DMPlex, DMPlexComputeGradientClementInterpolant Source code at petsc4py/PETSc/DMPlex.pyx:3151 constructGhostCells(labelName=None) Construct ghost cells which connect to every boundary face. Collective. Parameters labelName (str | None) -- The name of the label specifying the boundary faces. Defaults to "Face Sets". Returns numGhostCells -- The number of ghost cells added to the DMPlex. Return type int SEE ALSO: DM, DMPlex, DM.create, DMPlexConstructGhostCells Source code at petsc4py/PETSc/DMPlex.pyx:2249 coordinatesLoad(viewer, sfxc) Load coordinates into this DMPlex object. Collective. Parameters • viewer (Viewer) -- The Viewer for the saved coordinates. • sfxc (SF) -- The SF returned by topologyLoad. Return type None SEE ALSO: DM, DMPlex, DM.load, DMPlex.topologyLoad, DMPlex.labelsLoad, DM.view, SF, Viewer, ‐ DMPlexCoordinatesLoad Source code at petsc4py/PETSc/DMPlex.pyx:3324 coordinatesView(viewer) Save DMPlex coordinates into a file. Collective. Parameters viewer (Viewer) -- The Viewer for saving. Return type None SEE ALSO: DM, DMPlex, DM.view, DMPlex.topologyView, DMPlex.labelsView, DMPlex.coordinatesLoad, Viewer, DMPlexCoordinatesView Source code at petsc4py/PETSc/DMPlex.pyx:3191 create(comm=None) Create a DMPlex object, which encapsulates an unstructured mesh. Collective. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: DM, DMPlex, DM.create, DM.setType, DMPlexCreate Source code at petsc4py/PETSc/DMPlex.pyx:14 createBoxMesh(faces, lower=(0, 0, 0), upper=(1, 1, 1), simplex=True, periodic=False, interpolate=True, localizationHeight=0, sparseLocalize=True, comm=None) Create a mesh on the tensor product of intervals. Collective. Parameters • faces (Sequence[int]) -- Number of faces per dimension, or None for the default. • lower (Sequence[float] | None) -- The lower left corner. • upper (Sequence[float] | None) -- The upper right corner. • simplex (bool | None) -- True for simplices, False for tensor cells. • periodic (Sequence | str | int | bool | None) -- The boundary type for the X, Y, Z direction, or None for DM.BoundaryType.NONE. • interpolate (bool | None) -- Flag to create intermediate mesh entities (edges, faces). • localizationHeight (int | None) -- Flag to localize edges and faces in addition to cells; only significant for periodic meshes. • sparseLocalize (bool | None) -- Flag to localize coordinates only for cells near the periodic boundary; only significant for periodic meshes. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: DM, DMPlex, DM.setFromOptions, DMPlex.createFromFile, DM.setType, DM.create, ‐ DMPlexCreateBoxMesh Source code at petsc4py/PETSc/DMPlex.pyx:90 createBoxSurfaceMesh(faces, lower=(0, 0, 0), upper=(1, 1, 1), interpolate=True, comm=None) Create a mesh on the surface of a box mesh using tensor cells. Collective. Parameters • faces (Sequence[int]) -- Number of faces per dimension, or None for the default. • lower (Sequence[float] | None) -- The lower left corner. • upper (Sequence[float] | None) -- The upper right corner. • interpolate (bool | None) -- Flag to create intermediate mesh pieces (edges, faces). • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: DM, DMPlex, DM.setFromOptions, DMPlex.createBoxMesh, DMPlex.createFromFile, DM.setType, DM.create, DMPlexCreateBoxSurfaceMesh Source code at petsc4py/PETSc/DMPlex.pyx:149 createCGNS(cgid, interpolate=True, comm=None) Create a DMPlex mesh from a CGNS file. Collective. Parameters • cgid (int) -- The CG id associated with a file and obtained using cg_open. • interpolate (bool | None) -- Create faces and edges in the mesh. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: DM, DMPlex, DMPlex.create, DMPlex.createCGNSFromFile, DMPlex.createExodus, ‐ DMPlexCreateCGNS Source code at petsc4py/PETSc/DMPlex.pyx:226 createCGNSFromFile(filename, interpolate=True, comm=None) "Create a DMPlex mesh from a CGNS file. Collective. Parameters • filename (str) -- The name of the CGNS file. • interpolate (bool | None) -- Create faces and edges in the mesh. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: DM, DMPlex, DMPlex.create, DMPlex.createCGNS, DMPlex.createExodus, DMPlexCreateCGNS Source code at petsc4py/PETSc/DMPlex.pyx:254 createClosureIndex(sec) Calculate an index for sec for the closure operation. Not collective. Parameters sec (Section) -- The Section describing the layout in the local vector, or None to use the default section. Return type None SEE ALSO: DM, DMPlex, Section, DMPlex.vecGetClosure, DMPlexCreateClosureIndex Source code at petsc4py/PETSc/DMPlex.pyx:2031 createCoarsePointIS() Create an IS covering the coarse DMPlex chart with the fine points as data. Collective. Returns fpointIS -- The IS of all the fine points which exist in the original coarse mesh. Return type IS SEE ALSO: DM, DMPlex, IS, DM.refine, DMPlex.setRefinementUniform, DMPlexCreateCoarsePointIS Source code at petsc4py/PETSc/DMPlex.pyx:1817 createCohesiveSubmesh(hasLagrange, value) Extract the hypersurface defined by one face of the cohesive cells. Collective. Parameters • hasLagrange (bool) -- Flag indicating whether the mesh has Lagrange dofs in the cohesive cells. • value (int) -- A label value. Return type DMPlex SEE ALSO: DM, DMPlex, DMPlexCreateCohesiveSubmesh Source code at petsc4py/PETSc/DMPlex.pyx:377 createExodus(exoid, interpolate=True, comm=None) Create a DMPlex mesh from an ExodusII file ID. Collective. Parameters • exoid (int) -- The ExodusII id associated with a file obtained using ex_open. • interpolate (bool | None) -- Create faces and edges in the mesh, • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: DM, DMPlex, DM.create, DMPlexCreateExodus Source code at petsc4py/PETSc/DMPlex.pyx:312 createExodusFromFile(filename, interpolate=True, comm=None) Create a DMPlex mesh from an ExodusII file. Collective. Parameters • filename (str) -- The name of the ExodusII file. • interpolate (bool | None) -- Create faces and edges in the mesh. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: DM, DMPlex, DM.create, DMPlex.createExodus, DMPlexCreateExodusFromFile Source code at petsc4py/PETSc/DMPlex.pyx:283 createFromCellList(dim, cells, coords, interpolate=True, comm=None) Create a DMPlex from a list of vertices for each cell on process 0. Collective. Parameters • dim (int) -- The topological dimension of the mesh. • cells (Sequence[int]) -- An array of number of cells times number of vertices on each cell. • coords (Sequence[float]) -- An array of number of vertices times spatial dimension for coordinates. • interpolate (bool | None) -- Flag to interpolate the mesh. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: DM, DMPlex, DMPlex.create, DMPlex.interpolate, DMPlexCreateFromCellListPetsc Source code at petsc4py/PETSc/DMPlex.pyx:35 createFromFile(filename, plexname='unnamed', interpolate=True, comm=None) Create DMPlex from a file. Collective. Parameters • filename (str) -- A file name. • plexname (str | None) -- The name of the resulting DMPlex, also used for intra-datafile lookup by some formats. • interpolate (bool | None) -- Flag to create intermediate mesh pieces (edges, faces). • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: DM, DMPlex, DMPlex.createFromCellList, DMPlex.create, Object.setName, DM.view, DM.load, Working with PETSc options, DMPlexCreateFromFile Source code at petsc4py/PETSc/DMPlex.pyx:192 createGmsh(viewer, interpolate=True, comm=None) Create a DMPlex mesh from a Gmsh file viewer. Collective. Parameters • viewer (Viewer) -- The Viewer associated with a Gmsh file. • interpolate (bool | None) -- Create faces and edges in the mesh. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self Notes -dm_plex_gmsh_hybrid forces triangular prisms to use tensor order. -dm_plex_gmsh_periodic allows for reading Gmsh periodic section. -dm_plex_gmsh_highorder allows for generating high-order coordinates. -dm_plex_gmsh_project projects high-order coordinates to a different space, use the prefix -dm_plex_gmsh_project_ to define the space. -dm_plex_gmsh_use_regions generates labels with region names. -dm_plex_gmsh_mark_vertices adds vertices to generated labels. -dm_plex_gmsh_multiple_tags allows multiple tags for default labels. -dm_plex_gmsh_spacedim <d> embedding space dimension. SEE ALSO: DM, DMPlex, DM.create, Working with PETSc options, DMPlexCreateGmsh Source code at petsc4py/PETSc/DMPlex.pyx:339 createPointNumbering() Create a global numbering for all points. Collective. SEE ALSO: DM, DMPlex, DMPlex.getCellNumbering, DMPlexCreatePointNumbering Source code at petsc4py/PETSc/DMPlex.pyx:915 Return type IS createSection(numComp, numDof, bcField=None, bcComps=None, bcPoints=None, perm=None) Create a Section based upon the DOF layout specification provided. Not collective. Parameters • numComp (Sequence[int]) -- An array of size numFields holding the number of components per field. • numDof (Sequence[int]) -- An array of size numFields*(dim+1) holding the number of DOFs per field on a mesh piece of dimension dim. • bcField (Sequence[int] | None) -- An array of size numBC giving the field number for each boundary condition, where numBC is the number of boundary conditions. • bcComps (Sequence[IS] | None) -- An array of size numBC giving an IS holding the field components to which each boundary condition applies. • bcPoints (Sequence[IS] | None) -- An array of size numBC giving an IS holding the DMPlex points to which each boundary condition applies. • perm (IS | None) -- Permutation of the chart. Return type Section SEE ALSO: DM, DMPlex, DMPlex.create, Section.create, Section.setPermutation, DMPlexCreateSection Source code at petsc4py/PETSc/DMPlex.pyx:1837 distribute(overlap=0) Distribute the mesh and any associated sections. Collective. Parameters overlap (int | None) -- The overlap of partitions. Returns sf -- The SF used for point distribution, or None if not distributed. Return type SF or None SEE ALSO: DM, DMPlex, DMPlex.create, DMPlexDistribute Source code at petsc4py/PETSc/DMPlex.pyx:1561 distributeField(sf, sec, vec, newsec=None, newvec=None) Distribute field data with a with a given SF. Collective. Parameters • sf (SF) -- The SF describing the communication pattern. • sec (Section) -- The Section for existing data layout. • vec (Vec) -- The existing data in a local vector. • newsec (Section | None) -- The SF describing the new data layout. • newvec (Vec | None) -- The new data in a local vector. Returns • newSection (Section) -- The SF describing the new data layout. • newVec (Vec) -- The new data in a local vector. Return type tuple[Section, Vec] SEE ALSO: DMPlex, DMPlex.distribute, DMPlexDistributeField Source code at petsc4py/PETSc/DMPlex.pyx:1758 distributeGetDefault() Return a flag indicating whether the DM should be distributed by default. Not collective. Returns dist -- Flag indicating whether the DMPlex should be distributed by default. Return type bool SEE ALSO: DM, DMPlex, DMPlex.distributeSetDefault, DMPlex.distribute, DMPlexDistributeGetDefault Source code at petsc4py/PETSc/DMPlex.pyx:1647 distributeOverlap(overlap=0) Add partition overlap to a distributed non-overlapping DMPlex. Collective. Parameters overlap (int | None) -- The overlap of partitions (the same on all ranks). Returns sf -- The SF used for point distribution. Return type SF SEE ALSO: DM, DMPlex, SF, DMPlex.create, DMPlex.distribute, DMPlexDistributeOverlap Source code at petsc4py/PETSc/DMPlex.pyx:1589 distributeSetDefault(flag) Set flag indicating whether the DMPlex should be distributed by default. Logically collective. Parameters flag (bool) -- Flag indicating whether the DMPlex should be distributed by default. Return type None SEE ALSO: DMPlex, DMPlex.distributeGetDefault, DMPlex.distribute, DMPlexDistributeSetDefault Source code at petsc4py/PETSc/DMPlex.pyx:1667 distributionGetName() Retrieve the name of the specific parallel distribution. Not collective. Returns name -- The name of the specific parallel distribution. Return type str SEE ALSO: DMPlex, DMPlex.distributionSetName, DMPlex.topologyView, DMPlex.topologyLoad, ‐ DMPlexDistributionGetName Source code at petsc4py/PETSc/DMPlex.pyx:1708 distributionSetName(name) Set the name of the specific parallel distribution. Logically collective. Parameters name (str) -- The name of the specific parallel distribution. Return type None SEE ALSO: DMPlex, DMPlex.distributionGetName, DMPlex.topologyView, DMPlex.topologyLoad, ‐ DMPlexDistributionSetName Source code at petsc4py/PETSc/DMPlex.pyx:1687 generate(boundary, name=None, interpolate=True) Generate a mesh. Not collective. Parameters • boundary (DMPlex) -- The DMPlex boundary object. • name (str | None) -- The mesh generation package name. • interpolate (bool | None) -- Flag to create intermediate mesh elements. Return type Self SEE ALSO: DM, DMPlex, DMPlex.create, DM.refine, Working with PETSc options, DMPlexGenerate Source code at petsc4py/PETSc/DMPlex.pyx:1284 getAdjacency(p) Return all points adjacent to the given point. Not collective. Parameters p (int) -- The point. Return type ArrayInt SEE ALSO: DMPlex, DMPlex.distribute, DMPlexGetAdjacency Source code at petsc4py/PETSc/DMPlex.pyx:1467 getAdjacencyUseAnchors() Query whether adjacency in the mesh uses the point-to-point constraints. Not collective. SEE ALSO: DMPlex, DMPlex.getAdjacency, DMPlex.distribute, DMPlexGetAdjacencyUseAnchors Source code at petsc4py/PETSc/DMPlex.pyx:1452 Return type bool getCellNumbering() Return a global cell numbering for all cells on this process. Collective the first time it is called. SEE ALSO: DM, DMPlex, DMPlex.getVertexNumbering, DMPlexGetCellNumbering Source code at petsc4py/PETSc/DMPlex.pyx:885 Return type IS getCellType(p) Return the polytope type of a given cell. Not collective. Parameters p (int) -- The cell. Return type PolytopeType SEE ALSO: DM, DMPlex, DM.PolytopeType, DMPlex.getCellTypeLabel, DMPlex.getDepth, DMPlexGetCellType Source code at petsc4py/PETSc/DMPlex.pyx:685 getCellTypeLabel() Return the DMLabel recording the polytope type of each cell. Not collective. SEE ALSO: DM, DMPlex, DMPlex.getCellType, DM.createLabel, DMPlexGetCellTypeLabel Source code at petsc4py/PETSc/DMPlex.pyx:706 Return type DMLabel getChart() Return the interval for all mesh points [pStart, pEnd). Not collective. Returns • pStart (int) -- The first mesh point. • pEnd (int) -- The upper bound for mesh points. Return type tuple[int, int] SEE ALSO: DM, DMPlex, DMPlex.create, DMPlex.setChart, DMPlexGetChart Source code at petsc4py/PETSc/DMPlex.pyx:400 getCone(p) Return the points on the in-edges for this point in the DAG. Not collective. Parameters p (int) -- The point, which must lie in the chart set with DMPlex.setChart. Return type ArrayInt SEE ALSO: DM, DMPlex, DMPlex.getConeSize, DMPlex.setCone, DMPlex.setChart, DMPlexGetCone Source code at petsc4py/PETSc/DMPlex.pyx:491 getConeOrientation(p) Return the orientations on the in-edges for this point in the DAG. Not collective. Parameters p (int) -- The point, which must lie in the chart set with DMPlex.setChart. Return type ArrayInt SEE ALSO: DM, DMPlex, DMPlex.create, DMPlex.getCone, DMPlex.setCone, DMPlex.setChart, ‐ DMPlexGetConeOrientation Source code at petsc4py/PETSc/DMPlex.pyx:606 getConeSize(p) Return the number of in-edges for this point in the DAG. Not collective. Parameters p (int) -- The point, which must lie in the chart set with DMPlex.setChart. Return type int SEE ALSO: DM, DMPlex, DMPlex.create, DMPlex.setConeSize, DMPlex.setChart, DMPlexGetConeSize Source code at petsc4py/PETSc/DMPlex.pyx:442 getDepth() Return the depth of the DAG representing this mesh. Not collective. SEE ALSO: DM, DMPlex, DMPlex.getDepthStratum, DMPlex.symmetrize, DMPlexGetDepth Source code at petsc4py/PETSc/DMPlex.pyx:929 Return type int getDepthStratum(svalue) Return the bounds [start, end) for all points at a certain depth. Not collective. Parameters svalue (int) -- The requested depth. Returns • pStart (int) -- The first stratum point. • pEnd (int) -- The upper bound for stratum points. Return type tuple[int, int] SEE ALSO: DM, DMPlex, DMPlex.getHeightStratum, DMPlex.getDepth, DMPlex.symmetrize, DMPlex.interpolate, DMPlexGetDepthStratum Source code at petsc4py/PETSc/DMPlex.pyx:944 getFullJoin(points) Return an array for the join of the set of points. Not collective. Parameters points (Sequence[int]) -- The input points. Return type ArrayInt SEE ALSO: DM, DMPlex, DMPlex.getJoin, DMPlex.getMeet, DMPlexGetFullJoin Source code at petsc4py/PETSc/DMPlex.pyx:1092 getHeightStratum(svalue) Return the bounds [start, end) for all points at a certain height. Not collective. Parameters svalue (int) -- The requested height. Returns • pStart (int) -- The first stratum point. • pEnd (int) -- The upper bound for stratum points. Return type tuple[int, int] SEE ALSO: DM, DMPlex, DMPlex.getDepthStratum, DMPlex.getDepth, DMPlexGetHeightStratum Source code at petsc4py/PETSc/DMPlex.pyx:971 getJoin(points) Return an array for the join of the set of points. Not collective. Parameters points (Sequence[int]) -- The input points. Return type ArrayInt SEE ALSO: DM, DMPlex, DMPlex.getMeet, DMPlexGetJoin Source code at petsc4py/PETSc/DMPlex.pyx:1066 getMaxSizes() Return the maximum number of in-edges and out-edges of the DAG. Not collective. Returns • maxConeSize (int) -- The maximum number of in-edges. • maxSupportSize (int) -- The maximum number of out-edges. Return type tuple[int, int] SEE ALSO: DM, DMPlex, DMPlex.create, DMPlex.setConeSize, DMPlex.setChart, DMPlexGetMaxSizes Source code at petsc4py/PETSc/DMPlex.pyx:826 getMeet(points) Return an array for the meet of the set of points. Not collective. Parameters points (Sequence[int]) -- The input points. Return type ArrayInt SEE ALSO: DM, DMPlex, DMPlex.getJoin, DMPlexGetMeet Source code at petsc4py/PETSc/DMPlex.pyx:1040 getMinRadius() Return the minimum distance from any cell centroid to a face. Not collective. SEE ALSO: DMPlex, DM.getCoordinates, DMPlexGetMinRadius Source code at petsc4py/PETSc/DMPlex.pyx:1803 Return type float getOrdering(otype) Calculate a reordering of the mesh. Collective. Parameters otype (OrderingType) -- Type of reordering, see Mat.OrderingType. Returns perm -- The point permutation. Return type IS SEE ALSO: DMPlex, DMPlex.permute, Mat.OrderingType, Mat.getOrdering, DMPlexGetOrdering Source code at petsc4py/PETSc/DMPlex.pyx:2130 getPartitioner() Return the mesh partitioner. Not collective. SEE ALSO: DM, DMPlex, Partitioner, Section, DMPlex.distribute, DMPlex.setPartitioner, Partitioner.create, PetscPartitionerDMPlexPartition, DMPlexGetPartitioner Source code at petsc4py/PETSc/DMPlex.pyx:1510 Return type Partitioner getPointDepth(point) Return the depth of a given point. Not collective. Parameters point (int) -- The point. Return type int SEE ALSO: DM, DMPlex, DMPlex.getDepthStratum, DMPlex.getDepth, DMPlexGetPointDepth Source code at petsc4py/PETSc/DMPlex.pyx:998 getPointGlobal(point) Return location of point data in global Vec. Not collective. Parameters point (int) -- The topological point. Returns • start (int) -- Start of point data; returns -(globalStart+1) if point is not owned. • end (int) -- End of point data; returns -(globalEnd+1) if point is not owned. Return type tuple[int, int] SEE ALSO: DM, DMPlex, DMPlex.getPointGlobalField, Section.getOffset, Section.getDof, DMPlex.getPointLocal, DMPlexGetPointGlobal Source code at petsc4py/PETSc/DMPlex.pyx:1972 getPointGlobalField(point, field) Return location of point field data in global Vec. Not collective. Parameters • point (int) -- The topological point. • field (int) -- The field number. Returns • start (int) -- Start of point data; returns -(globalStart+1) if point is not owned. • end (int) -- End of point data; returns -(globalEnd+1) if point is not owned. Return type tuple[int, int] SEE ALSO: DM, DMPlex, DMPlex.getPointGlobal, Section.getOffset, Section.getDof, DMPlex.getPointLocal, DMPlexGetPointGlobalField Source code at petsc4py/PETSc/DMPlex.pyx:2000 getPointHeight(point) Return the height of a given point. Not collective. Parameters point (int) -- The point. Return type int SEE ALSO: DM, DMPlex, DMPlex.getHeightStratum, DMPlexGetPointHeight Source code at petsc4py/PETSc/DMPlex.pyx:1019 getPointLocal(point) Return location of point data in local Vec. Not collective. Parameters point (int) -- The topological point. Returns • start (int) -- Start of point data. • end (int) -- End of point data. Return type tuple[int, int] SEE ALSO: DM, DMPlex, DMPlex.getPointLocalField, Section.getOffset, Section.getDof, ‐ DMPlexGetPointLocal Source code at petsc4py/PETSc/DMPlex.pyx:1913 getPointLocalField(point, field) Return location of point field data in local Vec. Not collective. Parameters • point (int) -- The topological point. • field (int) -- The field number. Returns • start (int) -- Start of point data. • end (int) -- End of point data. Return type tuple[int, int] SEE ALSO: DM, DMPlex, DMPlex.getPointLocal, Section.getOffset, DMPlexGetPointLocalField Source code at petsc4py/PETSc/DMPlex.pyx:1941 getRefinementLimit() Retrieve the maximum cell volume for refinement. Not collective. SEE ALSO: DM, DMPlex, DM.refine, DMPlex.setRefinementLimit, DMPlex.getRefinementUniform, DMPlex.setRefinementUniform, DMPlexGetRefinementLimit Source code at petsc4py/PETSc/DMPlex.pyx:2114 Return type float getRefinementUniform() Retrieve the flag for uniform refinement. Not collective. Returns refinementUniform -- The flag for uniform refinement. Return type bool SEE ALSO: DM, DMPlex, DM.refine, DMPlex.setRefinementUniform, DMPlex.getRefinementLimit, DMPlex.setRefinementLimit, DMPlexGetRefinementUniform Source code at petsc4py/PETSc/DMPlex.pyx:2073 getSubpointIS() Return an IS covering the entire subdm chart. Not collective. Returns iset -- The IS containing subdm's parent's points. Return type IS SEE ALSO: DM, DMPlex, DMPlexGetSubpointIS Source code at petsc4py/PETSc/DMPlex.pyx:2278 getSubpointMap() Return a DMLabel with point dimension as values. Not collective. Returns label -- The DMLabel whose values are subdm's point dimensions. Return type DMLabel SEE ALSO: DM, DMPlex, DMPlexGetSubpointMap Source code at petsc4py/PETSc/DMPlex.pyx:2298 getSupport(p) Return the points on the out-edges for this point in the DAG. Not collective. Parameters p (int) -- The point, which must lie in the chart set with DMPlex.setChart. Return type ArrayInt SEE ALSO: DM, DMPlex, DMPlex.getSupportSize, DMPlex.setSupport, DMPlex.getCone, DMPlex.setChart, ‐ DMPlexGetSupport Source code at petsc4py/PETSc/DMPlex.pyx:771 getSupportSize(p) Return the number of out-edges for this point in the DAG. Not collective. Parameters p (int) -- The point, which must lie in the chart set with DMPlex.setChart. Return type int SEE ALSO: DM, DMPlex, DMPlex.create, DMPlex.setConeSize, DMPlex.setChart, DMPlex.getConeSize, ‐ DMPlexGetSupportSize Source code at petsc4py/PETSc/DMPlex.pyx:722 getTransitiveClosure(p, useCone=True) Return the points and orientations on the transitive closure of this point. Not collective. Parameters • p (int) -- The mesh point. • useCone (bool | None) -- True for the closure, otherwise return the star. Returns • points (ArrayInt) -- The points. • orientations (ArrayInt) -- The orientations. Return type tuple[ArrayInt, ArrayInt] SEE ALSO: DM, DMPlex, DMPlex.create, DMPlex.setCone, DMPlex.setChart, DMPlex.getCone, ‐ DMPlexGetTransitiveClosure Source code at petsc4py/PETSc/DMPlex.pyx:1118 getVecClosure(sec, vec, point) Return an array of the values on the closure of a point. Not collective. Parameters • sec (Section) -- The Section describing the layout in vec or None to use the default section. • vec (Vec) -- The local vector. • point (int) -- The point in the DMPlex. Return type ArrayScalar SEE ALSO: DM, DMPlex, DMPlexVecRestoreClosure Source code at petsc4py/PETSc/DMPlex.pyx:1185 getVertexNumbering() Return a global vertex numbering for all vertices on this process. Collective the first time it is called. SEE ALSO: DM, DMPlex, DMPlex.getCellNumbering, DMPlexGetVertexNumbering Source code at petsc4py/PETSc/DMPlex.pyx:900 Return type IS globalVectorLoad(viewer, sectiondm, sf, vec) Load on-disk vector data into a global vector. Collective. Parameters • viewer (Viewer) -- The Viewer that represents the on-disk vector data. • sectiondm (DM) -- The DM that contains the global section on which vec is defined. • sf (SF) -- The SF that migrates the on-disk vector data into vec. • vec (Vec) -- The global vector to set values of. Return type None SEE ALSO: DM, DMPlex, DMPlex.topologyLoad, DMPlex.sectionLoad, DMPlex.localVectorLoad, DMPlex.globalVectorView, DMPlex.localVectorView, SF, Viewer, DMPlexGlobalVectorLoad Source code at petsc4py/PETSc/DMPlex.pyx:3401 globalVectorView(viewer, sectiondm, vec) Save a global vector. Collective. Parameters • viewer (Viewer) -- The Viewer to save data with. • sectiondm (DM) -- The DM containing the global section on which vec is defined; may be the same as this DMPlex object. • vec (Vec) -- The global vector to be saved. Return type None SEE ALSO: DM, DMPlex, DMPlex.topologyView, DMPlex.sectionView, DMPlex.localVectorView, DMPlex.globalVectorLoad, DMPlex.localVectorLoad, DMPlexGlobalVectorView Source code at petsc4py/PETSc/DMPlex.pyx:3248 insertCone(p, conePos, conePoint) DMPlexInsertCone - Insert a point into the in-edges for the point p in the DAG. Not collective. Parameters • p (int) -- The point, which must lie in the chart set with DMPlex.setChart. • conePos (int) -- The local index in the cone where the point should be put. • conePoint (int) -- The mesh point to insert. Return type None SEE ALSO: DM, DMPlex, DMPlex.create, DMPlex.getCone, DMPlex.setChart, DMPlex.setConeSize, DM.setUp, DMPlexInsertCone Source code at petsc4py/PETSc/DMPlex.pyx:556 insertConeOrientation(p, conePos, coneOrientation) Insert a point orientation for the in-edge for the point p in the DAG. Not collective. Parameters • p (int) -- The point, which must lie in the chart set with DMPlex.setChart • conePos (int) -- The local index in the cone where the point should be put. • coneOrientation (int) -- The point orientation to insert. Return type None SEE ALSO: DM, DMPlex, DMPlex.create, DMPlex.getCone, DMPlex.setChart, DMPlex.setConeSize, DM.setUp, DMPlexInsertConeOrientation Source code at petsc4py/PETSc/DMPlex.pyx:581 interpolate() Convert to a mesh with all intermediate faces, edges, etc. Collective. SEE ALSO: DMPlex, DMPlex.uninterpolate, DMPlex.createFromCellList, DMPlexInterpolate Source code at petsc4py/PETSc/DMPlex.pyx:1728 Return type None isDistributed() Return the flag indicating if the mesh is distributed. Collective. SEE ALSO: DM, DMPlex, DMPlex.distribute, DMPlexIsDistributed Source code at petsc4py/PETSc/DMPlex.pyx:1618 Return type bool isSimplex() Return the flag indicating if the first cell is a simplex. Not collective. SEE ALSO: DM, DMPlex, DMPlex.getCellType, DMPlex.getHeightStratum, DMPlexIsSimplex Source code at petsc4py/PETSc/DMPlex.pyx:1632 Return type bool labelCohesiveComplete(label, bdlabel, bdvalue, flip, split, subdm) Add all other mesh pieces to complete the surface. Not collective. Parameters • label (DMLabel) -- A DMLabel marking the surface. • bdlabel (DMLabel) -- A DMLabel marking the vertices on the boundary which will not be duplicated. • bdvalue (int) -- Value of DMLabel marking the vertices on the boundary. • flip (bool) -- Flag to flip the submesh normal and replace points on the other side. • split (bool) -- Flag to split faces incident on the surface boundary, rather than clamping those faces to the boundary • subdm (DMPlex) -- The DMPlex associated with the label. Return type None SEE ALSO: DM, DMPlex, DMPlex.labelComplete, DMPlexLabelCohesiveComplete Source code at petsc4py/PETSc/DMPlex.pyx:1396 labelComplete(label) Add the transitive closure to the surface. Not collective. Parameters label (DMLabel) -- A DMLabel marking the surface points. Return type None SEE ALSO: DM, DMPlex, DMPlex.labelCohesiveComplete, DMPlexLabelComplete Source code at petsc4py/PETSc/DMPlex.pyx:1379 labelsLoad(viewer, sfxc) Load labels into this DMPlex object. Collective. Parameters • viewer (Viewer) -- The Viewer for the saved labels. • sfxc (SF) -- The SF returned by topologyLoad. Return type None SEE ALSO: DM, DMPlex, DM.load, DMPlex.topologyLoad, DMPlex.coordinatesLoad, DM.view, SF, Viewer, ‐ DMPlexLabelsLoad Source code at petsc4py/PETSc/DMPlex.pyx:3344 labelsView(viewer) Save DMPlex labels into a file. Collective. Parameters viewer (Viewer) -- The Viewer for saving. Return type None SEE ALSO: DM, DMPlex, DM.view, DMPlex.topologyView, DMPlex.coordinatesView, DMPlex.labelsLoad, Viewer, DMPlexLabelsView Source code at petsc4py/PETSc/DMPlex.pyx:3209 localVectorLoad(viewer, sectiondm, sf, vec) Load on-disk vector data into a local vector. Collective. Parameters • viewer (Viewer) -- The Viewer that represents the on-disk vector data. • sectiondm (DM) -- The DM that contains the local section on which vec is defined. • sf (SF) -- The SF that migrates the on-disk vector data into vec. • vec (Vec) -- The local vector to set values of. Return type None SEE ALSO: DM, DMPlex, DMPlex.topologyLoad, DMPlex.sectionLoad, DMPlex.globalVectorLoad, DMPlex.globalVectorView, DMPlex.localVectorView, SF, Viewer, DMPlexLocalVectorLoad Source code at petsc4py/PETSc/DMPlex.pyx:3426 localVectorView(viewer, sectiondm, vec) Save a local vector. Collective. Parameters • viewer (Viewer) -- The Viewer to save data with. • sectiondm (DM) -- The DM that contains the local section on which vec is defined; may be the same as this DMPlex object. • vec (Vec) -- The local vector to be saved. Return type None SEE ALSO: DM, DMPlex, DMPlex.topologyView, DMPlex.sectionView, DMPlex.globalVectorView, DMPlex.globalVectorLoad, DMPlex.localVectorLoad, DMPlexLocalVectorView Source code at petsc4py/PETSc/DMPlex.pyx:3272 markBoundaryFaces(label, value=None) Mark all faces on the boundary. Not collective. Parameters • value (int | None) -- The marker value, or DETERMINE or None to use some value in the closure (or 1 if none are found). • label (str) Return type DMLabel SEE ALSO: DM, DMPlex, DMLabel.create, DM.createLabel, DMPlexMarkBoundaryFaces Source code at petsc4py/PETSc/DMPlex.pyx:1352 metricAverage2(metric1, metric2, metricAvg) Compute and return the unweighted average of two metrics. Collective. Parameters • metric1 (Vec) -- The first metric to be averaged. • metric2 (Vec) -- The second metric to be averaged. • metricAvg (Vec) -- The output averaged metric. Return type Vec SEE ALSO: DMPlex.metricAverage3, DMPlexMetricAverage2 Source code at petsc4py/PETSc/DMPlex.pyx:3059 metricAverage3(metric1, metric2, metric3, metricAvg) Compute and return the unweighted average of three metrics. Collective. Parameters • metric1 (Vec) -- The first metric to be averaged. • metric2 (Vec) -- The second metric to be averaged. • metric3 (Vec) -- The third metric to be averaged. • metricAvg (Vec) -- The output averaged metric. Return type Vec SEE ALSO: DMPlex.metricAverage2, DMPlexMetricAverage3 Source code at petsc4py/PETSc/DMPlex.pyx:3081 metricCreate(field=0) Create a Riemannian metric field. Collective. Parameters field (int | None) -- The field number to use. Return type Vec SEE ALSO: DMPlex.metricCreateUniform, DMPlex.metricCreateIsotropic, Working with PETSc options, ‐ DMPlexMetricCreate Source code at petsc4py/PETSc/DMPlex.pyx:2890 metricCreateIsotropic(indicator, field=0) Construct an isotropic metric from an error indicator. Collective. Parameters • indicator (Vec) -- The error indicator. • field (int | None) -- The field number to use. Return type Vec SEE ALSO: DMPlex.metricCreate, DMPlex.metricCreateUniform, DMPlexMetricCreateIsotropic Source code at petsc4py/PETSc/DMPlex.pyx:2935 metricCreateUniform(alpha, field=0) Construct a uniform isotropic metric. Collective. Parameters • alpha (float) -- Scaling parameter for the diagonal. • field (int | None) -- The field number to use. Return type Vec SEE ALSO: DMPlex.metricCreate, DMPlex.metricCreateIsotropic, DMPlexMetricCreateUniform Source code at petsc4py/PETSc/DMPlex.pyx:2911 metricDeterminantCreate(field=0) Create the determinant field for a Riemannian metric. Collective. Parameters field (int | None) -- The field number to use. Returns • determinant (Vec) -- The determinant field. • dmDet (DM) -- The corresponding DM Return type tuple[Vec, DM] SEE ALSO: DMPlex.metricCreateUniform, DMPlex.metricCreateIsotropic, DMPlex.metricCreate, ‐ DMPlexMetricDeterminantCreate Source code at petsc4py/PETSc/DMPlex.pyx:2958 metricEnforceSPD(metric, ometric, determinant, restrictSizes=False, restrictAnisotropy=False) Enforce symmetric positive-definiteness of a metric. Collective. Parameters • metric (Vec) -- The metric. • ometric (Vec) -- The output metric. • determinant (Vec) -- The output determinant. • restrictSizes (bool | None) -- Flag indicating whether maximum/minimum magnitudes should be enforced. • restrictAnisotropy (bool | None) -- Flag indicating whether maximum anisotropy should be enforced. Returns • ometric (Vec) -- The output metric. • determinant (Vec) -- The output determinant. Return type tuple[Vec, Vec] SEE ALSO: DMPlex.metricNormalize, DMPlex.metricIntersection2, DMPlex.metricIntersection3, Working with PETSc options, DMPlexMetricEnforceSPD Source code at petsc4py/PETSc/DMPlex.pyx:2987 metricGetGradationFactor() Return the metric gradation factor. Not collective. SEE ALSO: DMPlex.metricSetGradationFactor, DMPlex.metricGetHausdorffNumber, ‐ DMPlexMetricGetGradationFactor Source code at petsc4py/PETSc/DMPlex.pyx:2841 Return type float metricGetHausdorffNumber() Return the metric Hausdorff number. Not collective. SEE ALSO: DMPlex.metricGetGradationFactor, DMPlex.metricSetHausdorffNumber, ‐ DMPlexMetricGetHausdorffNumber Source code at petsc4py/PETSc/DMPlex.pyx:2875 Return type float metricGetMaximumAnisotropy() Return the maximum tolerated metric anisotropy. Not collective. SEE ALSO: DMPlex.metricSetMaximumAnisotropy, DMPlex.metricGetMaximumMagnitude, ‐ DMPlexMetricGetMaximumAnisotropy Source code at petsc4py/PETSc/DMPlex.pyx:2739 Return type float metricGetMaximumMagnitude() Return the maximum tolerated metric magnitude. Not collective. SEE ALSO: DMPlex.metricSetMaximumMagnitude, DMPlex.metricGetMinimumMagnitude, ‐ DMPlexMetricGetMaximumMagnitude Source code at petsc4py/PETSc/DMPlex.pyx:2705 Return type float metricGetMinimumMagnitude() Return the minimum tolerated metric magnitude. Not collective. SEE ALSO: DMPlex.metricSetMinimumMagnitude, DMPlex.metricGetMaximumMagnitude, ‐ DMPlexMetricGetMinimumMagnitude Source code at petsc4py/PETSc/DMPlex.pyx:2671 Return type float metricGetNormalizationOrder() Return the order p for L-p normalization. Not collective. SEE ALSO: DMPlex.metricSetNormalizationOrder, DMPlex.metricGetTargetComplexity, ‐ DMPlexMetricGetNormalizationOrder Source code at petsc4py/PETSc/DMPlex.pyx:2807 Return type float metricGetNumIterations() Return the number of parallel adaptation iterations. Not collective. SEE ALSO: DMPlex.metricSetNumIterations, DMPlex.metricGetVerbosity, DMPlexMetricGetNumIterations Source code at petsc4py/PETSc/DMPlex.pyx:2637 Return type int metricGetTargetComplexity() Return the target metric complexity. Not collective. SEE ALSO: DMPlex.metricSetTargetComplexity, DMPlex.metricGetNormalizationOrder, ‐ DMPlexMetricGetTargetComplexity Source code at petsc4py/PETSc/DMPlex.pyx:2773 Return type float metricGetVerbosity() Return the verbosity of the mesh adaptation package. Not collective. Returns verbosity -- The verbosity, where -1 is silent and 10 is maximum. Return type int SEE ALSO: DMPlex.metricSetVerbosity, DMPlex.metricGetNumIterations, DMPlexMetricGetVerbosity Source code at petsc4py/PETSc/DMPlex.pyx:2598 metricIntersection2(metric1, metric2, metricInt) Compute and return the intersection of two metrics. Collective. Parameters • metric1 (Vec) -- The first metric to be intersected. • metric2 (Vec) -- The second metric to be intersected. • metricInt (Vec) -- The output intersected metric. Return type Vec SEE ALSO: DMPlex.metricIntersection3, DMPlexMetricIntersection2 Source code at petsc4py/PETSc/DMPlex.pyx:3105 metricIntersection3(metric1, metric2, metric3, metricInt) Compute the intersection of three metrics. Collective. Parameters • metric1 (Vec) -- The first metric to be intersected. • metric2 (Vec) -- The second metric to be intersected. • metric3 (Vec) -- The third metric to be intersected. • metricInt (Vec) -- The output intersected metric. Return type Vec SEE ALSO: DMPlex.metricIntersection2, DMPlexMetricIntersection3 Source code at petsc4py/PETSc/DMPlex.pyx:3127 metricIsIsotropic() Return the flag indicating whether the metric is isotropic or not. Not collective. SEE ALSO: DMPlex.metricSetIsotropic, DMPlex.metricIsUniform, DMPlex.metricRestrictAnisotropyFirst, DMPlexMetricIsIsotropic Source code at petsc4py/PETSc/DMPlex.pyx:2386 Return type bool metricIsUniform() Return the flag indicating whether the metric is uniform or not. Not collective. SEE ALSO: DMPlex.metricSetUniform, DMPlex.metricRestrictAnisotropyFirst, DMPlexMetricIsUniform Source code at petsc4py/PETSc/DMPlex.pyx:2352 Return type bool metricNoInsertion() Return the flag indicating whether node insertion and deletion are turned off. Not collective. SEE ALSO: DMPlex.metricSetNoInsertion, DMPlex.metricNoSwapping, DMPlex.metricNoMovement, DMPlex.metricNoSurf, DMPlexMetricNoInsertion Source code at petsc4py/PETSc/DMPlex.pyx:2455 Return type bool metricNoMovement() Return the flag indicating whether node movement is turned off. Not collective. SEE ALSO: DMPlex.metricSetNoMovement, DMPlex.metricNoInsertion, DMPlex.metricNoSwapping, DMPlex.metricNoSurf, DMPlexMetricNoMovement Source code at petsc4py/PETSc/DMPlex.pyx:2527 Return type bool metricNoSurf() Return the flag indicating whether surface modification is turned off. Not collective. SEE ALSO: DMPlex.metricSetNoSurf, DMPlex.metricNoMovement, DMPlex.metricNoInsertion, DMPlex.metricNoSwapping, DMPlexMetricNoSurf Source code at petsc4py/PETSc/DMPlex.pyx:2563 Return type bool metricNoSwapping() Return the flag indicating whether facet swapping is turned off. Not collective. SEE ALSO: DMPlex.metricSetNoSwapping, DMPlex.metricNoInsertion, DMPlex.metricNoMovement, DMPlex.metricNoSurf, DMPlexMetricNoSwapping Source code at petsc4py/PETSc/DMPlex.pyx:2491 Return type bool metricNormalize(metric, ometric, determinant, restrictSizes=True, restrictAnisotropy=True) Apply L-p normalization to a metric. Collective. Parameters • metric (Vec) -- The metric. • ometric (Vec) -- The output metric. • determinant (Vec) -- The output determinant. • restrictSizes (bool | None) -- Flag indicating whether maximum/minimum magnitudes should be enforced. • restrictAnisotropy (bool | None) -- Flag indicating whether maximum anisotropy should be enforced. Returns • ometric (Vec) -- The output normalized metric. • determinant (Vec) -- The output determinant. Return type tuple[Vec, Vec] SEE ALSO: DMPlex.metricEnforceSPD, DMPlex.metricIntersection2, DMPlex.metricIntersection3, Working with PETSc options, DMPlexMetricNormalize Source code at petsc4py/PETSc/DMPlex.pyx:3023 metricRestrictAnisotropyFirst() Return true if anisotropy is restricted before normalization. Not collective. SEE ALSO: DMPlex.metricIsIsotropic, DMPlex.metricSetRestrictAnisotropyFirst, ‐ DMPlexMetricRestrictAnisotropyFirst Source code at petsc4py/PETSc/DMPlex.pyx:2420 Return type bool metricSetFromOptions() Configure the object from the options database. Collective. SEE ALSO: Working with PETSc options Source code at petsc4py/PETSc/DMPlex.pyx:2320 Return type None metricSetGradationFactor(beta) Set the metric gradation factor. Logically collective. Parameters beta (float) -- The metric gradation factor. Return type None SEE ALSO: DMPlex.metricGetGradationFactor, DMPlex.metricSetHausdorffNumber, ‐ DMPlexMetricSetGradationFactor Source code at petsc4py/PETSc/DMPlex.pyx:2822 metricSetHausdorffNumber(hausd) Set the metric Hausdorff number. Logically collective. Parameters hausd (float) -- The metric Hausdorff number. Return type None SEE ALSO: DMPlex.metricSetGradationFactor, DMPlex.metricGetHausdorffNumber, ‐ DMPlexMetricSetHausdorffNumber Source code at petsc4py/PETSc/DMPlex.pyx:2856 metricSetIsotropic(isotropic) Record whether the metric is isotropic or not. Logically collective. Parameters isotropic (bool) -- Flag indicating whether the metric is isotropic or not. Return type None SEE ALSO: DMPlex.metricIsIsotropic, DMPlex.metricSetUniform, DMPlex.metricSetRestrictAnisotropyFirst, DMPlexMetricSetIsotropic Source code at petsc4py/PETSc/DMPlex.pyx:2367 metricSetMaximumAnisotropy(a_max) Set the maximum tolerated metric anisotropy. Logically collective. Parameters a_max (float) -- The maximum tolerated metric anisotropy. Return type None SEE ALSO: DMPlex.metricGetMaximumAnisotropy, DMPlex.metricSetMaximumMagnitude, ‐ DMPlexMetricSetMaximumAnisotropy Source code at petsc4py/PETSc/DMPlex.pyx:2720 metricSetMaximumMagnitude(h_max) Set the maximum tolerated metric magnitude. Logically collective. Parameters h_max (float) -- The maximum tolerated metric magnitude. Return type None SEE ALSO: DMPlex.metricGetMaximumMagnitude, DMPlex.metricSetMinimumMagnitude, ‐ DMPlexMetricSetMaximumMagnitude Source code at petsc4py/PETSc/DMPlex.pyx:2686 metricSetMinimumMagnitude(h_min) Set the minimum tolerated metric magnitude. Logically collective. Parameters h_min (float) -- The minimum tolerated metric magnitude. Return type None SEE ALSO: DMPlex.metricGetMinimumMagnitude, DMPlex.metricSetMaximumMagnitude, ‐ DMPlexMetricSetMinimumMagnitude Source code at petsc4py/PETSc/DMPlex.pyx:2652 metricSetNoInsertion(noInsert) Set the flag indicating whether node insertion should be turned off. Logically collective. Parameters noInsert (bool) -- Flag indicating whether node insertion and deletion should be turned off. Return type None SEE ALSO: DMPlex.metricNoInsertion, DMPlex.metricSetNoSwapping, DMPlex.metricSetNoMovement, DMPlex.metricSetNoSurf, DMPlexMetricSetNoInsertion Source code at petsc4py/PETSc/DMPlex.pyx:2435 metricSetNoMovement(noMove) Set the flag indicating whether node movement should be turned off. Logically collective. Parameters noMove (bool) -- Flag indicating whether node movement should be turned off. Return type None SEE ALSO: DMPlex.metricNoMovement, DMPlex.metricSetNoInsertion, DMPlex.metricSetNoSwapping, DMPlex.metricSetNoSurf, DMPlexMetricSetNoMovement Source code at petsc4py/PETSc/DMPlex.pyx:2507 metricSetNoSurf(noSurf) Set the flag indicating whether surface modification should be turned off. Logically collective. Parameters noSurf (bool) -- Flag indicating whether surface modification should be turned off. Return type None SEE ALSO: DMPlex.metricNoSurf, DMPlex.metricSetNoMovement, DMPlex.metricSetNoInsertion, DMPlex.metricSetNoSwapping, DMPlexMetricSetNoSurf Source code at petsc4py/PETSc/DMPlex.pyx:2543 metricSetNoSwapping(noSwap) Set the flag indicating whether facet swapping should be turned off. Logically collective. Parameters noSwap (bool) -- Flag indicating whether facet swapping should be turned off. Return type None SEE ALSO: DMPlex.metricNoSwapping, DMPlex.metricSetNoInsertion, DMPlex.metricSetNoMovement, DMPlex.metricSetNoSurf, DMPlexMetricSetNoSwapping Source code at petsc4py/PETSc/DMPlex.pyx:2471 metricSetNormalizationOrder(p) Set the order p for L-p normalization. Logically collective. Parameters p (float) -- The normalization order. Return type None SEE ALSO: DMPlex.metricGetNormalizationOrder, DMPlex.metricSetTargetComplexity, ‐ DMPlexMetricSetNormalizationOrder Source code at petsc4py/PETSc/DMPlex.pyx:2788 metricSetNumIterations(numIter) Set the number of parallel adaptation iterations. Logically collective. Parameters numIter (int) -- The number of parallel adaptation iterations. Return type None SEE ALSO: DMPlex.metricSetVerbosity, DMPlex.metricGetNumIterations, DMPlexMetricSetNumIterations Source code at petsc4py/PETSc/DMPlex.pyx:2618 metricSetRestrictAnisotropyFirst(restrictAnisotropyFirst) Record whether anisotropy is be restricted before normalization or after. Logically collective. Parameters restrictAnisotropyFirst (bool) -- Flag indicating if anisotropy is restricted before normalization or after. Return type None SEE ALSO: DMPlex.metricSetIsotropic, DMPlex.metricRestrictAnisotropyFirst, ‐ DMPlexMetricSetRestrictAnisotropyFirst Source code at petsc4py/PETSc/DMPlex.pyx:2401 metricSetTargetComplexity(targetComplexity) Set the target metric complexity. Logically collective. Parameters targetComplexity (float) -- The target metric complexity. Return type None SEE ALSO: DMPlex.metricGetTargetComplexity, DMPlex.metricSetNormalizationOrder, ‐ DMPlexMetricSetTargetComplexity Source code at petsc4py/PETSc/DMPlex.pyx:2754 metricSetUniform(uniform) Record whether the metric is uniform or not. Logically collective. Parameters uniform (bool) -- Flag indicating whether the metric is uniform or not. Return type None SEE ALSO: DMPlex.metricIsUniform, DMPlex.metricSetIsotropic, DMPlex.metricSetRestrictAnisotropyFirst, DMPlexMetricSetUniform Source code at petsc4py/PETSc/DMPlex.pyx:2333 metricSetVerbosity(verbosity) Set the verbosity of the mesh adaptation package. Logically collective. Parameters verbosity (int) -- The verbosity, where -1 is silent and 10 is maximum. Return type None SEE ALSO: DMPlex.metricGetVerbosity, DMPlex.metricSetNumIterations, DMPlexMetricSetVerbosity Source code at petsc4py/PETSc/DMPlex.pyx:2579 orient() Give a consistent orientation to the input mesh. Collective. SEE ALSO: DM, DMPlex, DM.create, DMPlexOrient Source code at petsc4py/PETSc/DMPlex.pyx:873 Return type None permute(perm) Reorder the mesh according to the input permutation. Collective. Parameters perm (IS) -- The point permutation, perm[old point number] = new point number. Returns pdm -- The permuted DMPlex. Return type DMPlex SEE ALSO: DMPlex, Mat.permute, DMPlexPermute Source code at petsc4py/PETSc/DMPlex.pyx:2158 rebalanceSharedPoints(entityDepth=0, useInitialGuess=True, parallel=True) Redistribute shared points in order to achieve better balancing. Collective. Parameters • entityDepth (int | None) -- Depth of the entity to balance (e.g., 0 -> balance vertices). • useInitialGuess (bool | None) -- Whether to use the current distribution as initial guess. • parallel (bool | None) -- Whether to use ParMETIS and do the partition in parallel or gather the graph onto a single process. Returns success -- Whether the graph partitioning was successful or not. Unsuccessful simply means no change to the partitioning. Return type bool SEE ALSO: DM, DMPlex, DMPlex.distribute, Working with PETSc options, DMPlexRebalanceSharedPoints Source code at petsc4py/PETSc/DMPlex.pyx:1527 reorderGetDefault() Return flag indicating whether the DMPlex should be reordered by default. Not collective. SEE ALSO: None, DMPlexReorderGetDefault Source code at petsc4py/PETSc/DMPlex.pyx:2182 Return type ReorderDefaultFlag reorderSetDefault(flag) Set flag indicating whether the DM should be reordered by default. Logically collective. Parameters • reorder -- Flag for reordering. • flag (ReorderDefaultFlag) Return type None SEE ALSO: DMPlex.reorderGetDefault, DMPlexReorderSetDefault Source code at petsc4py/PETSc/DMPlex.pyx:2196 sectionLoad(viewer, sectiondm, sfxc) Load section into a DM. Collective. Parameters • viewer (Viewer) -- The Viewer that represents the on-disk section (sectionA). • sectiondm (DM) -- The DM into which the on-disk section (sectionA) is migrated. • sfxc (SF) -- The SF returned by topologyLoad. Returns • gsf (SF) -- The SF that migrates any on-disk Vec data associated with sectionA into a global Vec associated with the sectiondm's global section (None if not needed). • lsf (SF) -- The SF that migrates any on-disk Vec data associated with sectionA into a local Vec associated with the sectiondm's local section (None if not needed). Return type tuple[SF, SF] SEE ALSO: DM, DMPlex, DM.load, DMPlex.topologyLoad, DMPlex.coordinatesLoad, DMPlex.labelsLoad, DMPlex.globalVectorLoad, DMPlex.localVectorLoad, DMPlex.sectionView, SF, Viewer, ‐ DMPlexSectionLoad Source code at petsc4py/PETSc/DMPlex.pyx:3364 sectionView(viewer, sectiondm) Save a section associated with a DMPlex. Collective. Parameters • viewer (Viewer) -- The Viewer for saving. • sectiondm (DM) -- The DM that contains the section to be saved. Return type None SEE ALSO: DM, DMPlex, DM.view, DMPlex.topologyView, DMPlex.coordinatesView, DMPlex.labelsView, DMPlex.globalVectorView, DMPlex.localVectorView, DMPlex.sectionLoad, Viewer, ‐ DMPlexSectionView Source code at petsc4py/PETSc/DMPlex.pyx:3227 setAdjacencyUseAnchors(useAnchors=True) Define adjacency in the mesh using the point-to-point constraints. Logically collective. Parameters useAnchors (bool) -- Flag to use the constraints. If True, then constrained points are omitted from DMPlex.getAdjacency, and their anchor points appear in their place. Return type None SEE ALSO: DMPlex, DMPlex.getAdjacency, DMPlex.distribute, DMPlexSetAdjacencyUseAnchors Source code at petsc4py/PETSc/DMPlex.pyx:1431 setCellType(p, ctype) Set the polytope type of a given cell. Not collective. Parameters • p (int) -- The cell. • ctype (PolytopeType) -- The polytope type of the cell. Return type None SEE ALSO: DM, DMPlex, DMPlex.getCellTypeLabel, DMPlex.getDepth, DM.createLabel, DMPlexSetCellType Source code at petsc4py/PETSc/DMPlex.pyx:663 setChart(pStart, pEnd) Set the interval for all mesh points [pStart, pEnd). Not collective. Parameters • pStart (int) -- The first mesh point. • pEnd (int) -- The upper bound for mesh points. Return type None SEE ALSO: DM, DMPlex, DMPlex.create, DMPlex.getChart, DMPlexSetChart Source code at petsc4py/PETSc/DMPlex.pyx:421 setCone(p, cone, orientation=None) Set the points on the in-edges for this point in the DAG. Not collective. Parameters • p (int) -- The point, which must lie in the chart set with DMPlex.setChart. • cone (Sequence[int]) -- An array of points which are on the in-edges for point p. • orientation (Sequence[int] | None) -- An array of orientations, defaults to None. Return type None SEE ALSO: DM, DMPlex, DMPlex.create, DMPlex.getCone, DMPlex.setChart, DMPlex.setConeSize, DM.setUp, DMPlex.setSupport, DMPlex.setSupportSize, DMPlexSetCone Source code at petsc4py/PETSc/DMPlex.pyx:517 setConeOrientation(p, orientation) Set the orientations on the in-edges for this point in the DAG. Not collective. Parameters • p (int) -- The point, which must lie in the chart set with DMPlex.setChart. • orientation (Sequence[int]) -- An array of orientations. Return type None SEE ALSO: DM, DMPlex, DMPlex.create, DMPlex.getConeOrientation, DMPlex.setCone, DMPlex.setChart, DMPlex.setConeSize, DM.setUp, DMPlexSetConeOrientation Source code at petsc4py/PETSc/DMPlex.pyx:632 setConeSize(p, size) Set the number of in-edges for this point in the DAG. Not collective. Parameters • p (int) -- The point, which must lie in the chart set with DMPlex.setChart. • size (int) -- The cone size for point p. Return type None SEE ALSO: DM, DMPlex, DMPlex.create, DMPlex.getConeSize, DMPlex.setChart, DMPlexSetConeSize Source code at petsc4py/PETSc/DMPlex.pyx:466 setMatClosure(sec, gsec, mat, point, values, addv=None) Set an array of the values on the closure of point. Not collective. Parameters • sec (Section) -- The section describing the layout in mat, or None to use the default section. • gsec (Section) -- The section describing the layout in mat, or None to use the default global section. • mat (Mat) -- The matrix. • point (int) -- The point in the DMPlex. • values (Sequence[Scalar]) -- The array of values. • mode -- The insertion mode. • addv (InsertModeSpec | None) Return type None SEE ALSO: DM, DMPlex, DMPlexMatSetClosure Source code at petsc4py/PETSc/DMPlex.pyx:1247 setPartitioner(part) Set the mesh partitioner. Logically collective. Parameters part (Partitioner) -- The partitioner. Return type None SEE ALSO: DM, DMPlex, Partitioner, DMPlex.distribute, DMPlex.getPartitioner, Partitioner.create, ‐ DMPlexSetPartitioner Source code at petsc4py/PETSc/DMPlex.pyx:1492 setRefinementLimit(refinementLimit) Set the maximum cell volume for refinement. Logically collective. Parameters refinementLimit (float) -- The maximum cell volume in the refined mesh. Return type None SEE ALSO: DM, DMPlex, DM.refine, DMPlex.getRefinementLimit, DMPlex.getRefinementUniform, DMPlex.setRefinementUniform, DMPlexSetRefinementLimit Source code at petsc4py/PETSc/DMPlex.pyx:2094 setRefinementUniform(refinementUniform=True) Set the flag for uniform refinement. Logically collective. Parameters refinementUniform (bool | None) -- The flag for uniform refinement. Return type None SEE ALSO: DM, DMPlex, DM.refine, DMPlex.getRefinementUniform, DMPlex.getRefinementLimit, DMPlex.setRefinementLimit, DMPlexSetRefinementUniform Source code at petsc4py/PETSc/DMPlex.pyx:2053 setSupport(p, supp) Set the points on the out-edges for this point in the DAG. Not collective. Parameters • p (int) -- The point, which must lie in the chart set with DMPlex.setChart. • supp (Sequence[int]) -- An array of points which are on the out-edges for point p. Return type None SEE ALSO: DM, DMPlex, DMPlex.setCone, DMPlex.setConeSize, DMPlex.create, DMPlex.getSupport, DMPlex.setChart, DMPlex.setSupportSize, DM.setUp, DMPlexSetSupport Source code at petsc4py/PETSc/DMPlex.pyx:797 setSupportSize(p, size) Set the number of out-edges for this point in the DAG. Not collective. Parameters • p (int) -- The point, which must lie in the chart set with DMPlex.setChart. • size (int) -- The support size for point p. Return type None SEE ALSO: DM, DMPlex, DMPlex.create, DMPlex.getSupportSize, DMPlex.setChart, DMPlexSetSupportSize Source code at petsc4py/PETSc/DMPlex.pyx:746 setTetGenOptions(opts) Set the options used for the Tetgen mesh generator. Not collective. Parameters opts (str) -- The command line options. Return type None SEE ALSO: Working with PETSc options, DM, DMPlex, DMPlex.setTriangleOptions, DMPlex.generate, ‐ DMPlexTetgenSetOptions Source code at petsc4py/PETSc/DMPlex.pyx:1332 setTriangleOptions(opts) Set the options used for the Triangle mesh generator. Not collective. Parameters opts (str) -- The command line options. Return type None SEE ALSO: Working with PETSc options, DM, DMPlex, DMPlex.setTetGenOptions, DMPlex.generate, ‐ DMPlexTriangleSetOptions Source code at petsc4py/PETSc/DMPlex.pyx:1312 setVecClosure(sec, vec, point, values, addv=None) Set an array of the values on the closure of point. Not collective. Parameters • sec (Section) -- The section describing the layout in vec, or None to use the default section. • vec (Vec) -- The local vector. • point (int) -- The point in the DMPlex. • values (Sequence[Scalar]) -- The array of values. • mode -- The insertion mode. • addv (InsertModeSpec | None) Return type None SEE ALSO: DM, DMPlex, DMPlexVecSetClosure Source code at petsc4py/PETSc/DMPlex.pyx:1215 stratify() Calculate the strata of DAG. Collective. SEE ALSO: DM, DMPlex, DMPlex.create, DMPlex.symmetrize, DMPlexStratify Source code at petsc4py/PETSc/DMPlex.pyx:861 Return type None symmetrize() Create support (out-edge) information from cone (in-edge) information. Not collective. SEE ALSO: DM, DMPlex, DMPlex.create, DMPlex.setChart, DMPlex.setConeSize, DMPlex.setCone, ‐ DMPlexSymmetrize Source code at petsc4py/PETSc/DMPlex.pyx:848 Return type None topologyLoad(viewer) Load a topology into this DMPlex object. Collective. Parameters viewer (Viewer) -- The Viewer for the saved topology Returns sfxc -- The SF that pushes points in [0, N) to the associated points in the loaded DMPlex, where N is the global number of points. Return type SF SEE ALSO: DM, DMPlex, DM.load, DMPlex.coordinatesLoad, DMPlex.labelsLoad, DM.view, SF, Viewer, ‐ DMPlexTopologyLoad Source code at petsc4py/PETSc/DMPlex.pyx:3298 topologyView(viewer) Save a DMPlex topology into a file. Collective. Parameters viewer (Viewer) -- The Viewer for saving. Return type None SEE ALSO: DM, DMPlex, DM.view, DMPlex.coordinatesView, DMPlex.labelsView, DMPlex.topologyLoad, Viewer, DMPlexTopologyView Source code at petsc4py/PETSc/DMPlex.pyx:3173 uninterpolate() Convert to a mesh with only cells and vertices. Collective. SEE ALSO: DMPlex, DMPlex.interpolate, DMPlex.createFromCellList, DMPlexUninterpolate Source code at petsc4py/PETSc/DMPlex.pyx:1743 Return type None vecGetClosure(sec, vec, p) Return an array of values on the closure of p. Not collective. Parameters • sec (Section) -- The section describing the layout in vec. • vec (Vec) -- The local vector. • p (int) -- The point in the DMPlex. Return type ArrayScalar SEE ALSO: DM, DMPlex, DMPlexVecRestoreClosure Source code at petsc4py/PETSc/DMPlex.pyx:1157 petsc4py.PETSc.DMPlexTransform class petsc4py.PETSc.DMPlexTransform Bases: Object Mesh transformations. Methods Summary ┌──────────────────┬───────────────────────────────────────┐ │ apply(dm) │ Apply a mesh transformation. │ ├──────────────────┼───────────────────────────────────────┤ │ create([comm]) │ Create a mesh transformation. │ ├──────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy a mesh transformation. │ ├──────────────────┼───────────────────────────────────────┤ │ getType() │ Return the transformation type name. │ ├──────────────────┼───────────────────────────────────────┤ │ setDM(dm) │ Set the DM for the transformation. │ ├──────────────────┼───────────────────────────────────────┤ │ setFromOptions() │ Configure the transformation from the │ │ │ options database. │ ├──────────────────┼───────────────────────────────────────┤ │ setType(tr_type) │ Set the transformation type. │ ├──────────────────┼───────────────────────────────────────┤ │ setUp() │ Setup a mesh transformation. │ ├──────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ View the mesh transformation. │ └──────────────────┴───────────────────────────────────────┘ Methods Documentation apply(dm) Apply a mesh transformation. Collective. Source code at petsc4py/PETSc/DMPlex.pyx:3475 Parameters dm (DM) Return type DM create(comm=None) Create a mesh transformation. Collective. SEE ALSO: DMPlexTransformCreate Source code at petsc4py/PETSc/DMPlex.pyx:3486 Parameters comm (Comm | None) Return type Self destroy() Destroy a mesh transformation. Collective. SEE ALSO: DMPlexTransformDestroy Source code at petsc4py/PETSc/DMPlex.pyx:3503 Return type Self getType() Return the transformation type name. Not collective. SEE ALSO: DMPlexTransformGetType Source code at petsc4py/PETSc/DMPlex.pyx:3516 Return type str setDM(dm) Set the DM for the transformation. Logically collective. Source code at petsc4py/PETSc/DMPlex.pyx:3554 Parameters dm (DM) Return type None setFromOptions() Configure the transformation from the options database. Collective. SEE ALSO: Working with PETSc options, DMPlexTransformSetFromOptions Source code at petsc4py/PETSc/DMPlex.pyx:3563 Return type None setType(tr_type) Set the transformation type. Collective. SEE ALSO: DMPlexTransformSetType Source code at petsc4py/PETSc/DMPlex.pyx:3540 Parameters tr_type (DMPlexTransformType | str) Return type None setUp() Setup a mesh transformation. Collective. Source code at petsc4py/PETSc/DMPlex.pyx:3530 Return type Self view(viewer=None) View the mesh transformation. Collective. Parameters viewer (Viewer | None) -- A Viewer instance or None for the default viewer. Return type None SEE ALSO: Viewer, DMPlexTransformView Source code at petsc4py/PETSc/DMPlex.pyx:3575 petsc4py.PETSc.DMPlexTransformType class petsc4py.PETSc.DMPlexTransformType Bases: object Transformation types. Attributes Summary ┌─────────────────────┬───────────────────────────────────────┐ │ EXTRUDE │ Object EXTRUDE of type str │ ├─────────────────────┼───────────────────────────────────────┤ │ REFINE1D │ Object REFINE1D of type str │ ├─────────────────────┼───────────────────────────────────────┤ │ REFINEALFELD │ Object REFINEALFELD of type str │ ├─────────────────────┼───────────────────────────────────────┤ │ REFINEBOUNDARYLAYER │ Object REFINEBOUNDARYLAYER of type ‐ │ │ │ str │ ├─────────────────────┼───────────────────────────────────────┤ │ REFINEPOWELLSABIN │ Object REFINEPOWELLSABIN of type str │ ├─────────────────────┼───────────────────────────────────────┤ │ REFINEREGULAR │ Object REFINEREGULAR of type str │ ├─────────────────────┼───────────────────────────────────────┤ │ REFINESBR │ Object REFINESBR of type str │ ├─────────────────────┼───────────────────────────────────────┤ │ REFINETOBOX │ Object REFINETOBOX of type str │ ├─────────────────────┼───────────────────────────────────────┤ │ REFINETOSIMPLEX │ Object REFINETOSIMPLEX of type str │ ├─────────────────────┼───────────────────────────────────────┤ │ TRANSFORMFILTER │ Object TRANSFORMFILTER of type str │ └─────────────────────┴───────────────────────────────────────┘ Attributes Documentation EXTRUDE: str = EXTRUDE Object EXTRUDE of type str REFINE1D: str = REFINE1D Object REFINE1D of type str REFINEALFELD: str = REFINEALFELD Object REFINEALFELD of type str REFINEBOUNDARYLAYER: str = REFINEBOUNDARYLAYER Object REFINEBOUNDARYLAYER of type str REFINEPOWELLSABIN: str = REFINEPOWELLSABIN Object REFINEPOWELLSABIN of type str REFINEREGULAR: str = REFINEREGULAR Object REFINEREGULAR of type str REFINESBR: str = REFINESBR Object REFINESBR of type str REFINETOBOX: str = REFINETOBOX Object REFINETOBOX of type str REFINETOSIMPLEX: str = REFINETOSIMPLEX Object REFINETOSIMPLEX of type str TRANSFORMFILTER: str = TRANSFORMFILTER Object TRANSFORMFILTER of type str petsc4py.PETSc.DMShell class petsc4py.PETSc.DMShell Bases: DM A shell DM object, used to manage user-defined problem data. Methods Summary ┌───────────────────────────────────────────────┬───────────────────────────────────────┐ │ create([comm]) │ Creates a shell DM object. │ ├───────────────────────────────────────────────┼───────────────────────────────────────┤ │ setCoarsen(coarsen[, args, kargs]) │ Set the routine used to coarsen the │ │ │ DMShell. │ ├───────────────────────────────────────────────┼───────────────────────────────────────┤ │ setCreateDomainDecomposition(decomp[, │ Set the routine used to create a │ │ args, ...]) │ domain decomposition. │ ├───────────────────────────────────────────────┼───────────────────────────────────────┤ │ setCreateDomainDecompositionScatters(scatter) │ Set the routine used to create the │ │ │ scatter contexts for domain │ │ │ decomposition. │ ├───────────────────────────────────────────────┼───────────────────────────────────────┤ │ setCreateFieldDecomposition(decomp[, args, │ Set the routine used to create a │ │ ...]) │ field decomposition. │ ├───────────────────────────────────────────────┼───────────────────────────────────────┤ │ setCreateGlobalVector(create_gvec[, args, │ Set the routine to create a global │ │ kargs]) │ vector. │ ├───────────────────────────────────────────────┼───────────────────────────────────────┤ │ setCreateInjection(create_injection[, args, │ Set the routine used to create the │ │ ...]) │ injection operator. │ ├───────────────────────────────────────────────┼───────────────────────────────────────┤ │ setCreateInterpolation(create_interpolation) │ Set the routine used to create the │ │ │ interpolation operator. │ ├───────────────────────────────────────────────┼───────────────────────────────────────┤ │ setCreateLocalVector(create_lvec[, args, │ Set the routine to create a local │ │ kargs]) │ vector. │ ├───────────────────────────────────────────────┼───────────────────────────────────────┤ │ setCreateMatrix(create_matrix[, args, kargs]) │ Set the routine to create a matrix. │ ├───────────────────────────────────────────────┼───────────────────────────────────────┤ │ setCreateRestriction(create_restriction[, │ Set the routine used to create the │ │ ...]) │ restriction operator. │ ├───────────────────────────────────────────────┼───────────────────────────────────────┤ │ setCreateSubDM(create_subdm[, args, kargs]) │ Set the routine used to create a sub │ │ │ DM from the DMShell. │ ├───────────────────────────────────────────────┼───────────────────────────────────────┤ │ setGlobalToLocal(begin, end[, begin_args, │ Set the routines used to perform a │ │ ...]) │ global to local scatter. │ ├───────────────────────────────────────────────┼───────────────────────────────────────┤ │ setGlobalToLocalVecScatter(gtol) │ Set a Scatter context for global to │ │ │ local communication. │ ├───────────────────────────────────────────────┼───────────────────────────────────────┤ │ setGlobalVector(gv) │ Set a template global vector. │ ├───────────────────────────────────────────────┼───────────────────────────────────────┤ │ setLocalToGlobal(begin, end[, begin_args, │ Set the routines used to perform a │ │ ...]) │ local to global scatter. │ ├───────────────────────────────────────────────┼───────────────────────────────────────┤ │ setLocalToGlobalVecScatter(ltog) │ Set a Scatter context for local to │ │ │ global communication. │ ├───────────────────────────────────────────────┼───────────────────────────────────────┤ │ setLocalToLocal(begin, end[, begin_args, │ Set the routines used to perform a │ │ ...]) │ local to local scatter. │ ├───────────────────────────────────────────────┼───────────────────────────────────────┤ │ setLocalToLocalVecScatter(ltol) │ Set a Scatter context for local to │ │ │ local communication. │ ├───────────────────────────────────────────────┼───────────────────────────────────────┤ │ setLocalVector(lv) │ Set a template local vector. │ ├───────────────────────────────────────────────┼───────────────────────────────────────┤ │ setMatrix(mat) │ Set a template matrix. │ ├───────────────────────────────────────────────┼───────────────────────────────────────┤ │ setRefine(refine[, args, kargs]) │ Set the routine used to refine the │ │ │ DMShell. │ └───────────────────────────────────────────────┴───────────────────────────────────────┘ Methods Documentation create(comm=None) Creates a shell DM object. Collective. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: DMShellCreate Source code at petsc4py/PETSc/DMShell.pyx:4 setCoarsen(coarsen, args=None, kargs=None) Set the routine used to coarsen the DMShell. Logically collective. Parameters • coarsen (Callable[[DM, Comm], DM] | None) -- The routine which coarsens the DM. • args (tuple[Any, ...] | None) -- Additional positional arguments for coarsen. • kargs (dict[str, Any] | None) -- Additional keyword arguments for coarsen. Return type None SEE ALSO: setRefine, DMShellSetCoarsen Source code at petsc4py/PETSc/DMShell.pyx:368 setCreateDomainDecomposition(decomp, args=None, kargs=None) Set the routine used to create a domain decomposition. Logically collective. Parameters • decomp (Callable[[DM], tuple[list[str] | None, list[IS] | None, list[IS] | None, ‐ list[DM] | None]] | None) -- The routine to create the decomposition. • args (tuple[Any, ...] | None) -- Additional positional arguments for decomp. • kargs (dict[str, Any] | None) -- Additional keyword arguments for decomp. Return type None SEE ALSO: DMShellSetCreateDomainDecomposition Source code at petsc4py/PETSc/DMShell.pyx:560 setCreateDomainDecompositionScatters(scatter, args=None, kargs=None) Set the routine used to create the scatter contexts for domain decomposition. Logically collective. Parameters • scatter (Callable[[DM, list[DM]], tuple[list[Scatter], list[Scatter], list[‐ Scatter]]] | None) -- The routine to create the scatters. • args (tuple[Any, ...] | None) -- Additional positional arguments for scatter. • kargs (dict[str, Any] | None) -- Additional keyword arguments for scatter. Return type None SEE ALSO: DMShellSetCreateDomainDecompositionScatters Source code at petsc4py/PETSc/DMShell.pyx:592 setCreateFieldDecomposition(decomp, args=None, kargs=None) Set the routine used to create a field decomposition. Logically collective. Parameters • decomp (Callable[[DM], tuple[list[str] | None, list[IS] | None, list[DM] | None]] | None) -- The routine to create the decomposition. • args (tuple[Any, ...] | None) -- Additional positional arguments for decomp. • kargs (dict[str, Any] | None) -- Additional keyword arguments for decomp. Return type None SEE ALSO: DMShellSetCreateFieldDecomposition Source code at petsc4py/PETSc/DMShell.pyx:528 setCreateGlobalVector(create_gvec, args=None, kargs=None) Set the routine to create a global vector. Logically collective. Parameters • create_gvec (Callable[[DM], Vec] | None) -- The creation routine. • args (tuple[Any, ...] | None) -- Additional positional arguments for create_gvec. • kargs (dict[str, Any] | None) -- Additional keyword arguments for create_gvec. Return type None SEE ALSO: setCreateLocalVector, DMShellSetCreateGlobalVector Source code at petsc4py/PETSc/DMShell.pyx:76 setCreateInjection(create_injection, args=None, kargs=None) Set the routine used to create the injection operator. Logically collective. Parameters • create_injection (Callable[[DM, DM], Mat] | None) -- The routine to create the injection. • args (tuple[Any, ...] | None) -- Additional positional arguments for create_injection. • kargs (dict[str, Any] | None) -- Additional keyword arguments for create_injection. Return type None SEE ALSO: DMShellSetCreateInjection Source code at petsc4py/PETSc/DMShell.pyx:464 setCreateInterpolation(create_interpolation, args=None, kargs=None) Set the routine used to create the interpolation operator. Logically collective. Parameters • create_interpolation (Callable[[DM, DM], tuple[Mat, Vec]] | None) -- The routine to create the interpolation. • args (tuple[Any, ...] | None) -- Additional positional arguments for create_interpolation. • kargs (dict[str, Any] | None) -- Additional keyword arguments for create_interpolation. Return type None SEE ALSO: DMShellSetCreateInterpolation Source code at petsc4py/PETSc/DMShell.pyx:432 setCreateLocalVector(create_lvec, args=None, kargs=None) Set the routine to create a local vector. Logically collective. Parameters • create_lvec (Callable[[DM], Vec] | None) -- The creation routine. • args (tuple[Any, ...] | None) -- Additional positional arguments for create_lvec. • kargs (dict[str, Any] | None) -- Additional keyword arguments for create_lvec. Return type None SEE ALSO: setCreateGlobalVector, DMShellSetCreateLocalVector Source code at petsc4py/PETSc/DMShell.pyx:108 setCreateMatrix(create_matrix, args=None, kargs=None) Set the routine to create a matrix. Logically collective. Parameters • create_matrix (Callable[[DM], Mat] | None) -- The function to create a matrix. • args (tuple[Any, ...] | None) -- Additional positional arguments for create_matrix. • kargs (dict[str, Any] | None) -- Additional keyword arguments for create_matrix. Return type None SEE ALSO: DMShellSetCreateMatrix Source code at petsc4py/PETSc/DMShell.pyx:336 setCreateRestriction(create_restriction, args=None, kargs=None) Set the routine used to create the restriction operator. Logically collective. Parameters • create_restriction (Callable[[DM, DM], Mat] | None) -- The routine to create the restriction • args (tuple[Any, ...] | None) -- Additional positional arguments for create_restriction. • kargs (dict[str, Any] | None) -- Additional keyword arguments for create_restriction. Return type None SEE ALSO: DMShellSetCreateRestriction Source code at petsc4py/PETSc/DMShell.pyx:496 setCreateSubDM(create_subdm, args=None, kargs=None) Set the routine used to create a sub DM from the DMShell. Logically collective. Parameters • subdm -- The routine to create the decomposition. • args (tuple[Any, ...] | None) -- Additional positional arguments for subdm. • kargs (dict[str, Any] | None) -- Additional keyword arguments for subdm. • create_subdm (Callable[[DM, Sequence[int]], tuple[IS, DM]] | None) Return type None SEE ALSO: DMShellSetCreateSubDM Source code at petsc4py/PETSc/DMShell.pyx:624 setGlobalToLocal(begin, end, begin_args=None, begin_kargs=None, end_args=None, end_kargs=None) Set the routines used to perform a global to local scatter. Logically collective. Parameters • dm -- The DMShell. • begin (Callable[[DM, Vec, InsertMode, Vec], None] | None) -- The routine which begins the global to local scatter. • end (Callable[[DM, Vec, InsertMode, Vec], None] | None) -- The routine which ends the global to local scatter. • begin_args (tuple[Any, ...] | None) -- Additional positional arguments for begin. • begin_kargs (dict[str, Any] | None) -- Additional keyword arguments for begin. • end_args (tuple[Any, ...] | None) -- Additional positional arguments for end. • end_kargs (dict[str, Any] | None) -- Additional keyword arguments for end. Return type None SEE ALSO: DMShellSetGlobalToLocal Source code at petsc4py/PETSc/DMShell.pyx:140 setGlobalToLocalVecScatter(gtol) Set a Scatter context for global to local communication. Logically collective. Parameters gtol (Scatter) -- The global to local Scatter context. Return type None SEE ALSO: DMShellSetGlobalToLocalVecScatter Source code at petsc4py/PETSc/DMShell.pyx:189 setGlobalVector(gv) Set a template global vector. Logically collective. Parameters gv (Vec) -- Template vector. Return type None SEE ALSO: setLocalVector, DMShellSetGlobalVector Source code at petsc4py/PETSc/DMShell.pyx:42 setLocalToGlobal(begin, end, begin_args=None, begin_kargs=None, end_args=None, end_kargs=None) Set the routines used to perform a local to global scatter. Logically collective. Parameters • begin (Callable[[DM, Vec, InsertMode, Vec], None] | None) -- The routine which begins the local to global scatter. • end (Callable[[DM, Vec, InsertMode, Vec], None] | None) -- The routine which ends the local to global scatter. • begin_args (tuple[Any, ...] | None) -- Additional positional arguments for begin. • begin_kargs (dict[str, Any] | None) -- Additional keyword arguments for begin. • end_args (tuple[Any, ...] | None) -- Additional positional arguments for end. • end_kargs (dict[str, Any] | None) -- Additional keyword arguments for end. Return type None SEE ALSO: DMShellSetLocalToGlobal Source code at petsc4py/PETSc/DMShell.pyx:206 setLocalToGlobalVecScatter(ltog) Set a Scatter context for local to global communication. Logically collective. Parameters ltog (Scatter) -- The local to global Scatter context. Return type None SEE ALSO: DMShellSetLocalToGlobalVecScatter Source code at petsc4py/PETSc/DMShell.pyx:253 setLocalToLocal(begin, end, begin_args=None, begin_kargs=None, end_args=None, end_kargs=None) Set the routines used to perform a local to local scatter. Logically collective. Parameters • begin (Callable[[DM, Vec, InsertMode, Vec], None] | None) -- The routine which begins the local to local scatter. • end (Callable[[DM, Vec, InsertMode, Vec], None] | None) -- The routine which ends the local to local scatter. • begin_args (tuple[Any, ...] | None) -- Additional positional arguments for begin. • begin_kargs (dict[str, Any] | None) -- Additional keyword arguments for begin. • end_args (tuple[Any, ...] | None) -- Additional positional arguments for end. • end_kargs (dict[str, Any] | None) -- Additional keyword arguments for end. Return type None SEE ALSO: DMShellSetLocalToLocal Source code at petsc4py/PETSc/DMShell.pyx:270 setLocalToLocalVecScatter(ltol) Set a Scatter context for local to local communication. Logically collective. Parameters ltol (Scatter) -- The local to local Scatter context. Return type None SEE ALSO: DMShellSetLocalToLocalVecScatter Source code at petsc4py/PETSc/DMShell.pyx:319 setLocalVector(lv) Set a template local vector. Logically collective. Parameters lv (Vec) -- Template vector. Return type None SEE ALSO: setGlobalVector, DMShellSetLocalVector Source code at petsc4py/PETSc/DMShell.pyx:59 setMatrix(mat) Set a template matrix. Collective. Parameters mat (Mat) -- The template matrix. Return type None SEE ALSO: DMShellSetMatrix Source code at petsc4py/PETSc/DMShell.pyx:25 setRefine(refine, args=None, kargs=None) Set the routine used to refine the DMShell. Logically collective. Parameters • refine (Callable[[DM, Comm], DM] | None) -- The routine which refines the DM. • args (tuple[Any, ...] | None) -- Additional positional arguments for refine. • kargs (dict[str, Any] | None) -- Additional keyword arguments for refine. Return type None SEE ALSO: setCoarsen, DMShellSetRefine Source code at petsc4py/PETSc/DMShell.pyx:400 petsc4py.PETSc.DMStag class petsc4py.PETSc.DMStag Bases: DM A DM object representing a "staggered grid" or a structured cell complex. Enumerations ┌─────────────────┬─────────────────────────┐ │ StencilLocation │ Stencil location types. │ ├─────────────────┼─────────────────────────┤ │ StencilType │ Stencil types. │ └─────────────────┴─────────────────────────┘ petsc4py.PETSc.DMStag.StencilLocation class petsc4py.PETSc.DMStag.StencilLocation Bases: object Stencil location types. Attributes Summary ┌──────────────────┬───────────────────────────────────────┐ │ BACK │ Constant BACK of type int │ ├──────────────────┼───────────────────────────────────────┤ │ BACK_DOWN │ Constant BACK_DOWN of type int │ ├──────────────────┼───────────────────────────────────────┤ │ BACK_DOWN_LEFT │ Constant BACK_DOWN_LEFT of type int │ ├──────────────────┼───────────────────────────────────────┤ │ BACK_DOWN_RIGHT │ Constant BACK_DOWN_RIGHT of type int │ ├──────────────────┼───────────────────────────────────────┤ │ BACK_LEFT │ Constant BACK_LEFT of type int │ ├──────────────────┼───────────────────────────────────────┤ │ BACK_RIGHT │ Constant BACK_RIGHT of type int │ ├──────────────────┼───────────────────────────────────────┤ │ BACK_UP │ Constant BACK_UP of type int │ ├──────────────────┼───────────────────────────────────────┤ │ BACK_UP_LEFT │ Constant BACK_UP_LEFT of type int │ ├──────────────────┼───────────────────────────────────────┤ │ BACK_UP_RIGHT │ Constant BACK_UP_RIGHT of type int │ ├──────────────────┼───────────────────────────────────────┤ │ DOWN │ Constant DOWN of type int │ ├──────────────────┼───────────────────────────────────────┤ │ DOWN_LEFT │ Constant DOWN_LEFT of type int │ ├──────────────────┼───────────────────────────────────────┤ │ DOWN_RIGHT │ Constant DOWN_RIGHT of type int │ ├──────────────────┼───────────────────────────────────────┤ │ ELEMENT │ Constant ELEMENT of type int │ ├──────────────────┼───────────────────────────────────────┤ │ FRONT │ Constant FRONT of type int │ ├──────────────────┼───────────────────────────────────────┤ │ FRONT_DOWN │ Constant FRONT_DOWN of type int │ ├──────────────────┼───────────────────────────────────────┤ │ FRONT_DOWN_LEFT │ Constant FRONT_DOWN_LEFT of type int │ ├──────────────────┼───────────────────────────────────────┤ │ FRONT_DOWN_RIGHT │ Constant FRONT_DOWN_RIGHT of type int │ ├──────────────────┼───────────────────────────────────────┤ │ FRONT_LEFT │ Constant FRONT_LEFT of type int │ ├──────────────────┼───────────────────────────────────────┤ │ FRONT_RIGHT │ Constant FRONT_RIGHT of type int │ ├──────────────────┼───────────────────────────────────────┤ │ FRONT_UP │ Constant FRONT_UP of type int │ ├──────────────────┼───────────────────────────────────────┤ │ FRONT_UP_LEFT │ Constant FRONT_UP_LEFT of type int │ ├──────────────────┼───────────────────────────────────────┤ │ FRONT_UP_RIGHT │ Constant FRONT_UP_RIGHT of type int │ ├──────────────────┼───────────────────────────────────────┤ │ LEFT │ Constant LEFT of type int │ ├──────────────────┼───────────────────────────────────────┤ │ NULLLOC │ Constant NULLLOC of type int │ ├──────────────────┼───────────────────────────────────────┤ │ RIGHT │ Constant RIGHT of type int │ ├──────────────────┼───────────────────────────────────────┤ │ UP │ Constant UP of type int │ ├──────────────────┼───────────────────────────────────────┤ │ UP_LEFT │ Constant UP_LEFT of type int │ ├──────────────────┼───────────────────────────────────────┤ │ UP_RIGHT │ Constant UP_RIGHT of type int │ └──────────────────┴───────────────────────────────────────┘ Attributes Documentation BACK: int = BACK Constant BACK of type int BACK_DOWN: int = BACK_DOWN Constant BACK_DOWN of type int BACK_DOWN_LEFT: int = BACK_DOWN_LEFT Constant BACK_DOWN_LEFT of type int BACK_DOWN_RIGHT: int = BACK_DOWN_RIGHT Constant BACK_DOWN_RIGHT of type int BACK_LEFT: int = BACK_LEFT Constant BACK_LEFT of type int BACK_RIGHT: int = BACK_RIGHT Constant BACK_RIGHT of type int BACK_UP: int = BACK_UP Constant BACK_UP of type int BACK_UP_LEFT: int = BACK_UP_LEFT Constant BACK_UP_LEFT of type int BACK_UP_RIGHT: int = BACK_UP_RIGHT Constant BACK_UP_RIGHT of type int DOWN: int = DOWN Constant DOWN of type int DOWN_LEFT: int = DOWN_LEFT Constant DOWN_LEFT of type int DOWN_RIGHT: int = DOWN_RIGHT Constant DOWN_RIGHT of type int ELEMENT: int = ELEMENT Constant ELEMENT of type int FRONT: int = FRONT Constant FRONT of type int FRONT_DOWN: int = FRONT_DOWN Constant FRONT_DOWN of type int FRONT_DOWN_LEFT: int = FRONT_DOWN_LEFT Constant FRONT_DOWN_LEFT of type int FRONT_DOWN_RIGHT: int = FRONT_DOWN_RIGHT Constant FRONT_DOWN_RIGHT of type int FRONT_LEFT: int = FRONT_LEFT Constant FRONT_LEFT of type int FRONT_RIGHT: int = FRONT_RIGHT Constant FRONT_RIGHT of type int FRONT_UP: int = FRONT_UP Constant FRONT_UP of type int FRONT_UP_LEFT: int = FRONT_UP_LEFT Constant FRONT_UP_LEFT of type int FRONT_UP_RIGHT: int = FRONT_UP_RIGHT Constant FRONT_UP_RIGHT of type int LEFT: int = LEFT Constant LEFT of type int NULLLOC: int = NULLLOC Constant NULLLOC of type int RIGHT: int = RIGHT Constant RIGHT of type int UP: int = UP Constant UP of type int UP_LEFT: int = UP_LEFT Constant UP_LEFT of type int UP_RIGHT: int = UP_RIGHT Constant UP_RIGHT of type int petsc4py.PETSc.DMStag.StencilType class petsc4py.PETSc.DMStag.StencilType Bases: object Stencil types. Attributes Summary ┌──────┬───────────────────────────┐ │ BOX │ Constant BOX of type int │ ├──────┼───────────────────────────┤ │ NONE │ Constant NONE of type int │ ├──────┼───────────────────────────┤ │ STAR │ Constant STAR of type int │ └──────┴───────────────────────────┘ Attributes Documentation BOX: int = BOX Constant BOX of type int NONE: int = NONE Constant NONE of type int STAR: int = STAR Constant STAR of type int Methods Summary ┌───────────────────────────────────────┬───────────────────────────────────────┐ │ VecSplitToDMDA(vec, loc, c) │ Return DMDA, Vec from a subgrid of a │ │ │ DMStag, its Vec. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ create(dim[, dofs, sizes, │ Create a DMDA object. │ │ boundary_types, ...]) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createCompatibleDMStag(dofs) │ Create a compatible DMStag with │ │ │ different DOFs/stratum. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ get1dCoordinatecArrays() │ Not implemented. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getBoundaryTypes() │ Return boundary types in each │ │ │ dimension. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getCorners() │ Return starting element index, width │ │ │ and number of partial elements. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getDim() │ Return the number of dimensions. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getDof() │ Get number of DOFs associated with │ │ │ each stratum of the grid. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getEntriesPerElement() │ Return the number of entries per │ │ │ element in the local representation. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getGhostCorners() │ Return starting element index and │ │ │ width of local region. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getGlobalSizes() │ Return global element counts in each │ │ │ dimension. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getIsFirstRank() │ Return whether this process is first │ │ │ in each dimension in the process │ │ │ grid. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getIsLastRank() │ Return whether this process is last │ │ │ in each dimension in the process │ │ │ grid. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getLocalSizes() │ Return local elementwise sizes in │ │ │ each dimension. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getLocationDof(loc) │ Return number of DOFs associated with │ │ │ a given point on the grid. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getLocationSlot(loc, c) │ Return index to use in accessing raw │ │ │ local arrays. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getOwnershipRanges() │ Return elements per process in each │ │ │ dimension. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getProcSizes() │ Return number of processes in each │ │ │ dimension. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getProductCoordinateLocationSlot(loc) │ Return slot for use with local │ │ │ product coordinate arrays. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getStencilType() │ Return elementwise ghost/halo stencil │ │ │ type. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getStencilWidth() │ Return elementwise stencil width. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getVecArray(vec) │ Not implemented. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ migrateVec(vec, dmTo, vecTo) │ Transfer a vector between two DMStag │ │ │ objects. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setBoundaryTypes(boundary_types) │ Set the boundary types. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setCoordinateDMType(dmtype) │ Set the type to store coordinates. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setDof(dofs) │ Set DOFs/stratum. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setGlobalSizes(sizes) │ Set global element counts in each │ │ │ dimension. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setOwnershipRanges(ranges) │ Set elements per process in each │ │ │ dimension. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setProcSizes(sizes) │ Set the number of processes in each │ │ │ dimension in the global process grid. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setStencilType(stenciltype) │ Set elementwise ghost/halo stencil │ │ │ type. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setStencilWidth(swidth) │ Set elementwise stencil width. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setUniformCoordinates([xmin, xmax, │ Set the coordinates to be a uniform │ │ ymin, ...]) │ grid.. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setUniformCoordinatesExplicit([xmin, │ Set coordinates to be a uniform grid, │ │ xmax, ...]) │ storing all values. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setUniformCoordinatesProduct([xmin, │ Create uniform coordinates, as a │ │ xmax, ...]) │ product of 1D arrays. │ └───────────────────────────────────────┴───────────────────────────────────────┘ Attributes Summary ┌─────────────────────┬───────────────────────────────────────┐ │ boundary_types │ Boundary types in each dimension. │ ├─────────────────────┼───────────────────────────────────────┤ │ corners │ The lower left corner and size of │ │ │ local region in each dimension. │ ├─────────────────────┼───────────────────────────────────────┤ │ dim │ The dimension. │ ├─────────────────────┼───────────────────────────────────────┤ │ dofs │ The number of DOFs associated with │ │ │ each stratum of the grid. │ ├─────────────────────┼───────────────────────────────────────┤ │ entries_per_element │ The number of entries per element in │ │ │ the local representation. │ ├─────────────────────┼───────────────────────────────────────┤ │ ghost_corners │ The lower left corner and size of │ │ │ local region in each dimension. │ ├─────────────────────┼───────────────────────────────────────┤ │ global_sizes │ Global element counts in each │ │ │ dimension. │ ├─────────────────────┼───────────────────────────────────────┤ │ local_sizes │ Local elementwise sizes in each │ │ │ dimension. │ ├─────────────────────┼───────────────────────────────────────┤ │ proc_sizes │ The number of processes in each │ │ │ dimension in the global │ │ │ decomposition. │ ├─────────────────────┼───────────────────────────────────────┤ │ stencil_type │ Stencil type. │ ├─────────────────────┼───────────────────────────────────────┤ │ stencil_width │ Elementwise stencil width. │ └─────────────────────┴───────────────────────────────────────┘ Methods Documentation VecSplitToDMDA(vec, loc, c) Return DMDA, Vec from a subgrid of a DMStag, its Vec. Collective. If a c value of -k is provided, the first k DOFs for that position are extracted, padding with zero values if needed. If a non-negative value is provided, a single DOF is extracted. Parameters • vec (Vec) -- The Vec object. • loc (StencilLocation) -- Which subgrid to extract. • c (int) -- Which component to extract. Return type tuple[DMDA, Vec] SEE ALSO: DMStagVecSplitToDMDA Source code at petsc4py/PETSc/DMStag.pyx:790 create(dim, dofs=None, sizes=None, boundary_types=None, stencil_type=None, stencil_width=None, proc_sizes=None, ownership_ranges=None, comm=None, setUp=False) Create a DMDA object. Collective. Creates an object to manage data living on the elements and vertices / the elements, faces, and vertices / the elements, faces, edges, and vertices of a parallelized regular 1D / 2D / 3D grid. Parameters • dim (int) -- The number of dimensions. • dofs (tuple[int, ...] | None) -- The number of degrees of freedom per vertex, element (1D); vertex, face, element (2D); or vertex, edge, face, element (3D). • sizes (tuple[int, ...] | None) -- The number of elements in each dimension. • boundary_types (tuple[DM.BoundaryType | int | str | bool, ...] | None) -- The boundary types. • stencil_type (StencilType | None) -- The ghost/halo stencil type. • stencil_width (int | None) -- The width of the ghost/halo region. • proc_sizes (tuple[int, ...] | None) -- The number of processes in x, y, z dimensions. • ownership_ranges (tuple[Sequence[int], ...] | None) -- Local x, y, z element counts, of length equal to proc_sizes, summing to sizes. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. • setUp (bool | None) -- Whether to call the setup routine after creating the object. Return type Self SEE ALSO: DMStagCreate1d, DMStagCreate2d, DMStagCreate3d, DMSetUp Source code at petsc4py/PETSc/DMStag.pyx:50 createCompatibleDMStag(dofs) Create a compatible DMStag with different DOFs/stratum. Collective. Parameters dofs (tuple[int, ...]) -- The number of DOFs on the strata in the new DMStag. Return type DM SEE ALSO: DMStagCreateCompatibleDMStag Source code at petsc4py/PETSc/DMStag.pyx:766 get1dCoordinatecArrays() Not implemented. Source code at petsc4py/PETSc/DMStag.pyx:832 Return type None getBoundaryTypes() Return boundary types in each dimension. Not collective. SEE ALSO: setBoundaryTypes, DMStagGetBoundaryTypes Source code at petsc4py/PETSc/DMStag.pyx:478 Return type tuple[str, ...] getCorners() Return starting element index, width and number of partial elements. Not collective. The returned value is calculated excluding ghost points. The number of extra partial elements is either 1 or 0. The value is 1 on right, top, and front non-periodic domain ("physical") boundaries, in the x, y, and z dimensions respectively, and otherwise 0. SEE ALSO: getGhostCorners, DMStagGetCorners, DMGetDimension Source code at petsc4py/PETSc/DMStag.pyx:363 Return type tuple[tuple[int, ...], tuple[int, ...], tuple[int, ...]] getDim() Return the number of dimensions. Not collective. Source code at petsc4py/PETSc/DMStag.pyx:310 Return type int getDof() Get number of DOFs associated with each stratum of the grid. Not collective. SEE ALSO: DMStagGetDOF Source code at petsc4py/PETSc/DMStag.pyx:348 Return type tuple[int, ...] getEntriesPerElement() Return the number of entries per element in the local representation. Not collective. This is the natural block size for most local operations. SEE ALSO: DMStagGetEntriesPerElement Source code at petsc4py/PETSc/DMStag.pyx:318 Return type int getGhostCorners() Return starting element index and width of local region. Not collective. SEE ALSO: getCorners, DMStagGetGhostCorners Source code at petsc4py/PETSc/DMStag.pyx:385 Return type tuple[tuple[int, ...], tuple[int, ...]] getGlobalSizes() Return global element counts in each dimension. Not collective. SEE ALSO: getLocalSizes, DMStagGetGlobalSizes Source code at petsc4py/PETSc/DMStag.pyx:417 Return type tuple[int, ...] getIsFirstRank() Return whether this process is first in each dimension in the process grid. Not collective. SEE ALSO: DMStagGetIsFirstRank Source code at petsc4py/PETSc/DMStag.pyx:496 Return type tuple[int, ...] getIsLastRank() Return whether this process is last in each dimension in the process grid. Not collective. SEE ALSO: DMStagGetIsLastRank Source code at petsc4py/PETSc/DMStag.pyx:512 Return type tuple[int, ...] getLocalSizes() Return local elementwise sizes in each dimension. Not collective. The returned value is calculated excluding ghost points. SEE ALSO: getGlobalSizes, DMStagGetLocalSizes Source code at petsc4py/PETSc/DMStag.pyx:400 Return type tuple[int, ...] getLocationDof(loc) Return number of DOFs associated with a given point on the grid. Not collective. Parameters loc (StencilLocation) -- The grid point. Return type int SEE ALSO: DMStagGetLocationDOF Source code at petsc4py/PETSc/DMStag.pyx:721 getLocationSlot(loc, c) Return index to use in accessing raw local arrays. Not collective. Parameters • loc (StencilLocation) -- Location relative to an element. • c (int) -- Component. Return type int SEE ALSO: DMStagGetLocationSlot Source code at petsc4py/PETSc/DMStag.pyx:678 getOwnershipRanges() Return elements per process in each dimension. Not collective. SEE ALSO: setOwnershipRanges, DMStagGetOwnershipRanges Source code at petsc4py/PETSc/DMStag.pyx:461 Return type tuple[Sequence[int], ...] getProcSizes() Return number of processes in each dimension. Not collective. SEE ALSO: DMStagGetNumRanks Source code at petsc4py/PETSc/DMStag.pyx:432 Return type tuple[int, ...] getProductCoordinateLocationSlot(loc) Return slot for use with local product coordinate arrays. Not collective. Parameters loc (StencilLocation) -- The grid location. Return type None SEE ALSO: DMStagGetProductCoordinateLocationSlot Source code at petsc4py/PETSc/DMStag.pyx:701 getStencilType() Return elementwise ghost/halo stencil type. Not collective. SEE ALSO: setStencilType, DMStagGetStencilType Source code at petsc4py/PETSc/DMStag.pyx:447 Return type str getStencilWidth() Return elementwise stencil width. Not collective. SEE ALSO: DMStagGetStencilWidth Source code at petsc4py/PETSc/DMStag.pyx:334 Return type int getVecArray(vec) Not implemented. Source code at petsc4py/PETSc/DMStag.pyx:828 Parameters vec (Vec) Return type None migrateVec(vec, dmTo, vecTo) Transfer a vector between two DMStag objects. Collective. Currently only implemented to migrate global vectors to global vectors. Parameters • vec (Vec) -- The source vector. • dmTo (DM) -- The compatible destination object. • vecTo (Vec) -- The destination vector. Return type None SEE ALSO: DMStagMigrateVec Source code at petsc4py/PETSc/DMStag.pyx:743 setBoundaryTypes(boundary_types) Set the boundary types. Logically collective. Parameters boundary_types (tuple[BoundaryType | int | str | bool, ...]) -- Boundary types for one/two/three dimensions. Return type None SEE ALSO: getBoundaryTypes, DMStagSetBoundaryTypes Source code at petsc4py/PETSc/DMStag.pyx:201 setCoordinateDMType(dmtype) Set the type to store coordinates. Logically collective. Parameters dmtype (Type) -- The type to store coordinates. Return type None SEE ALSO: DMStagSetCoordinateDMType Source code at petsc4py/PETSc/DMStag.pyx:657 setDof(dofs) Set DOFs/stratum. Logically collective. Parameters dofs (tuple[int, ...]) -- The number of points per 0-cell (vertex/node), 1-cell (element in 1D, edge in 2D and 3D), 2-cell (element in 2D, face in 3D), or 3-cell (element in 3D). Return type None SEE ALSO: DMStagSetDOF Source code at petsc4py/PETSc/DMStag.pyx:224 setGlobalSizes(sizes) Set global element counts in each dimension. Logically collective. Parameters sizes (tuple[int, ...]) -- Global elementwise size in the one/two/three dimensions. Return type None SEE ALSO: DMStagSetGlobalSizes Source code at petsc4py/PETSc/DMStag.pyx:246 setOwnershipRanges(ranges) Set elements per process in each dimension. Logically collective. Parameters ranges (tuple[Sequence[int], ...]) -- Element counts for each process in one/two/three dimensions. Return type None SEE ALSO: getOwnershipRanges, DMStagSetOwnershipRanges Source code at petsc4py/PETSc/DMStag.pyx:286 setProcSizes(sizes) Set the number of processes in each dimension in the global process grid. Logically collective. Parameters sizes (tuple[int, ...]) -- Number of processes in one/two/three dimensions. Return type None SEE ALSO: DMStagSetNumRanks Source code at petsc4py/PETSc/DMStag.pyx:266 setStencilType(stenciltype) Set elementwise ghost/halo stencil type. Logically collective. Parameters stenciltype (StencilType | str) -- The elementwise ghost stencil type. Return type None SEE ALSO: getStencilType, DMStagSetStencilType Source code at petsc4py/PETSc/DMStag.pyx:183 setStencilWidth(swidth) Set elementwise stencil width. Logically collective. The width value is not used when StencilType.NONE is specified. Parameters swidth (int) -- Stencil/halo/ghost width in elements. Return type None SEE ALSO: DMStagSetStencilWidth Source code at petsc4py/PETSc/DMStag.pyx:163 setUniformCoordinates(xmin=0, xmax=1, ymin=0, ymax=1, zmin=0, zmax=1) Set the coordinates to be a uniform grid.. Collective. Local coordinates are populated, linearly extrapolated to ghost cells, including those outside the physical domain. This is also done in case of periodic boundaries, meaning that the same global point may have different coordinates in different local representations, which are equivalent assuming a periodicity implied by the arguments to this function, i.e., two points are equivalent if their difference is a multiple of xmax-xmin in the x dimension, ymax-ymin in the y dimension, and zmax-zmin in the z dimension. Parameters • xmin (float) -- The minimum global coordinate value in the x dimension. • xmax (float) -- The maximum global coordinate value in the x dimension. • ymin (float) -- The minimum global coordinate value in the y dimension. • ymax (float) -- The maximum global coordinate value in the y dimension. • zmin (float) -- The minimum global coordinate value in the z dimension. • zmax (float) -- The maximum global coordinate value in the z dimension. Return type None SEE ALSO: setUniformCoordinatesExplicit, setUniformCoordinatesProduct, DMStagSetUniformCoordinates Source code at petsc4py/PETSc/DMStag.pyx:610 setUniformCoordinatesExplicit(xmin=0, xmax=1, ymin=0, ymax=1, zmin=0, zmax=1) Set coordinates to be a uniform grid, storing all values. Collective. Parameters • xmin (float) -- The minimum global coordinate value in the x dimension. • xmax (float) -- The maximum global coordinate value in the x dimension. • ymin (float) -- The minimum global coordinate value in the y dimension. • ymax (float) -- The maximum global coordinate value in the y dimension. • zmin (float) -- The minimum global coordinate value in the z dimension. • zmax (float) -- The maximum global coordinate value in the z dimension. Return type None SEE ALSO: setUniformCoordinatesProduct, setUniformCoordinates, DMStagSetUniformCoordinatesExplicit Source code at petsc4py/PETSc/DMStag.pyx:530 setUniformCoordinatesProduct(xmin=0, xmax=1, ymin=0, ymax=1, zmin=0, zmax=1) Create uniform coordinates, as a product of 1D arrays. Collective. The per-dimension 1-dimensional DMStag objects that comprise the product always have active 0-cells (vertices, element boundaries) and 1-cells (element centers). Parameters • xmin (float) -- The minimum global coordinate value in the x dimension. • xmax (float) -- The maximum global coordinate value in the x dimension. • ymin (float) -- The minimum global coordinate value in the y dimension. • ymax (float) -- The maximum global coordinate value in the y dimension. • zmin (float) -- The minimum global coordinate value in the z dimension. • zmax (float) -- The maximum global coordinate value in the z dimension. Return type None SEE ALSO: setUniformCoordinatesExplicit, setUniformCoordinates, DMStagSetUniformCoordinatesProduct Source code at petsc4py/PETSc/DMStag.pyx:568 Attributes Documentation boundary_types Boundary types in each dimension. Source code at petsc4py/PETSc/DMStag.pyx:866 corners The lower left corner and size of local region in each dimension. Source code at petsc4py/PETSc/DMStag.pyx:881 dim The dimension. Source code at petsc4py/PETSc/DMStag.pyx:836 dofs The number of DOFs associated with each stratum of the grid. Source code at petsc4py/PETSc/DMStag.pyx:841 entries_per_element The number of entries per element in the local representation. Source code at petsc4py/PETSc/DMStag.pyx:846 ghost_corners The lower left corner and size of local region in each dimension. Source code at petsc4py/PETSc/DMStag.pyx:886 global_sizes Global element counts in each dimension. Source code at petsc4py/PETSc/DMStag.pyx:851 local_sizes Local elementwise sizes in each dimension. Source code at petsc4py/PETSc/DMStag.pyx:856 proc_sizes The number of processes in each dimension in the global decomposition. Source code at petsc4py/PETSc/DMStag.pyx:861 stencil_type Stencil type. Source code at petsc4py/PETSc/DMStag.pyx:871 stencil_width Elementwise stencil width. Source code at petsc4py/PETSc/DMStag.pyx:876 petsc4py.PETSc.DMSwarm class petsc4py.PETSc.DMSwarm Bases: DM A DM object used to represent arrays of data (fields) of arbitrary type. Enumerations ┌───────────────┬─────────────────────────┐ │ CollectType │ Swarm collection types. │ ├───────────────┼─────────────────────────┤ │ MigrateType │ Swarm migration types. │ ├───────────────┼─────────────────────────┤ │ PICLayoutType │ Swarm PIC layout types. │ ├───────────────┼─────────────────────────┤ │ Type │ Swarm types. │ └───────────────┴─────────────────────────┘ petsc4py.PETSc.DMSwarm.CollectType class petsc4py.PETSc.DMSwarm.CollectType Bases: object Swarm collection types. Attributes Summary ┌─────────────────────────┬───────────────────────────────────────┐ │ COLLECT_BASIC │ Constant COLLECT_BASIC of type int │ ├─────────────────────────┼───────────────────────────────────────┤ │ COLLECT_DMDABOUNDINGBOX │ Constant COLLECT_DMDABOUNDINGBOX of │ │ │ type int │ ├─────────────────────────┼───────────────────────────────────────┤ │ COLLECT_GENERAL │ Constant COLLECT_GENERAL of type int │ ├─────────────────────────┼───────────────────────────────────────┤ │ COLLECT_USER │ Constant COLLECT_USER of type int │ └─────────────────────────┴───────────────────────────────────────┘ Attributes Documentation COLLECT_BASIC: int = COLLECT_BASIC Constant COLLECT_BASIC of type int COLLECT_DMDABOUNDINGBOX: int = COLLECT_DMDABOUNDINGBOX Constant COLLECT_DMDABOUNDINGBOX of type int COLLECT_GENERAL: int = COLLECT_GENERAL Constant COLLECT_GENERAL of type int COLLECT_USER: int = COLLECT_USER Constant COLLECT_USER of type int petsc4py.PETSc.DMSwarm.MigrateType class petsc4py.PETSc.DMSwarm.MigrateType Bases: object Swarm migration types. Attributes Summary ┌────────────────────────┬───────────────────────────────────────┐ │ MIGRATE_BASIC │ Constant MIGRATE_BASIC of type int │ ├────────────────────────┼───────────────────────────────────────┤ │ MIGRATE_DMCELLEXACT │ Constant MIGRATE_DMCELLEXACT of type │ │ │ int │ ├────────────────────────┼───────────────────────────────────────┤ │ MIGRATE_DMCELLNSCATTER │ Constant MIGRATE_DMCELLNSCATTER of │ │ │ type int │ ├────────────────────────┼───────────────────────────────────────┤ │ MIGRATE_USER │ Constant MIGRATE_USER of type int │ └────────────────────────┴───────────────────────────────────────┘ Attributes Documentation MIGRATE_BASIC: int = MIGRATE_BASIC Constant MIGRATE_BASIC of type int MIGRATE_DMCELLEXACT: int = MIGRATE_DMCELLEXACT Constant MIGRATE_DMCELLEXACT of type int MIGRATE_DMCELLNSCATTER: int = MIGRATE_DMCELLNSCATTER Constant MIGRATE_DMCELLNSCATTER of type int MIGRATE_USER: int = MIGRATE_USER Constant MIGRATE_USER of type int petsc4py.PETSc.DMSwarm.PICLayoutType class petsc4py.PETSc.DMSwarm.PICLayoutType Bases: object Swarm PIC layout types. Attributes Summary ┌────────────────────┬───────────────────────────────────────┐ │ LAYOUT_GAUSS │ Constant LAYOUT_GAUSS of type int │ ├────────────────────┼───────────────────────────────────────┤ │ LAYOUT_REGULAR │ Constant LAYOUT_REGULAR of type int │ ├────────────────────┼───────────────────────────────────────┤ │ LAYOUT_SUBDIVISION │ Constant LAYOUT_SUBDIVISION of type ‐ │ │ │ int │ └────────────────────┴───────────────────────────────────────┘ Attributes Documentation LAYOUT_GAUSS: int = LAYOUT_GAUSS Constant LAYOUT_GAUSS of type int LAYOUT_REGULAR: int = LAYOUT_REGULAR Constant LAYOUT_REGULAR of type int LAYOUT_SUBDIVISION: int = LAYOUT_SUBDIVISION Constant LAYOUT_SUBDIVISION of type int petsc4py.PETSc.DMSwarm.Type class petsc4py.PETSc.DMSwarm.Type Bases: object Swarm types. Attributes Summary ┌───────┬────────────────────────────┐ │ BASIC │ Constant BASIC of type int │ ├───────┼────────────────────────────┤ │ PIC │ Constant PIC of type int │ └───────┴────────────────────────────┘ Attributes Documentation BASIC: int = BASIC Constant BASIC of type int PIC: int = PIC Constant PIC of type int Methods Summary ┌──────────────────────────────────────────┬───────────────────────────────────────┐ │ addNPoints(npoints) │ Add space for a number of new points │ │ │ in the DMSwarm. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ addPoint() │ Add space for one new point in the │ │ │ DMSwarm. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ collectViewCreate() │ Apply a collection method and gather │ │ │ points in neighbor ranks. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ collectViewDestroy() │ Reset the DMSwarm to the size prior │ │ │ to calling collectViewCreate. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ copyPoint(pi, pj) │ Copy point pi to point pj in the │ │ │ DMSwarm. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ create([comm]) │ Create an empty DM object and set its │ │ │ type to DM.Type.SWARM. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ createGlobalVectorFromField(fieldname) │ Create a global Vec object associated │ │ │ with a given field. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ createLocalVectorFromField(fieldname) │ Create a local Vec object associated │ │ │ with a given field. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ destroyGlobalVectorFromField(fieldname) │ Destroy the global Vec object │ │ │ associated with a given field. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ destroyLocalVectorFromField(fieldname) │ Destroy the local Vec object │ │ │ associated with a given field. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ finalizeFieldRegister() │ Finalize the registration of fields │ │ │ to a DMSwarm. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ getCellDM() │ Return DM cell attached to DMSwarm. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ getField(fieldname) │ Return arrays storing all entries │ │ │ associated with a field. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ getLocalSize() │ Return the local length of fields │ │ │ registered. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ getSize() │ Return the total length of fields │ │ │ registered. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ initializeFieldRegister() │ Initiate the registration of fields │ │ │ to a DMSwarm. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ insertPointUsingCellDM(layoutType, │ Insert point coordinates within each │ │ fill_param) │ cell. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ migrate([remove_sent_points]) │ Relocate points defined in the │ │ │ DMSwarm to other MPI ranks. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ projectFields(dm, fieldnames, vecs[, │ Project a set of DMSwarm fields onto │ │ mode]) │ the cell DM. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ registerField(fieldname, blocksize[, │ Register a field to a DMSwarm with a │ │ dtype]) │ native PETSc data type. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ removePoint() │ Remove the last point from the │ │ │ DMSwarm. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ removePointAtIndex(index) │ Remove a specific point from the │ │ │ DMSwarm. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ restoreField(fieldname) │ Restore accesses associated with a │ │ │ registered field. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ setCellDM(dm) │ Attach a DM to a DMSwarm. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ setLocalSizes(nlocal, buffer) │ Set the length of all registered │ │ │ fields on the DMSwarm. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ setPointCoordinates(coordinates[, ...]) │ Set point coordinates in a DMSwarm │ │ │ from a user-defined list. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ setPointCoordinatesCellwise(coordinates) │ Insert point coordinates within each │ │ │ cell. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ setPointsUniformCoordinates(min, max, │ Set point coordinates in a DMSwarm on │ │ npoints) │ a regular (ijk) grid. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ setType(dmswarm_type) │ Set particular flavor of DMSwarm. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ sortGetAccess() │ Setup up a DMSwarm point sort │ │ │ context. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ sortGetIsValid() │ Return whether the sort context is │ │ │ up-to-date. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ sortGetNumberOfPointsPerCell(e) │ Return the number of points in a │ │ │ cell. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ sortGetPointsPerCell(e) │ Create an array of point indices for │ │ │ all points in a cell. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ sortGetSizes() │ Return the sizes associated with a │ │ │ DMSwarm point sorting context. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ sortRestoreAccess() │ Invalidate the DMSwarm point sorting │ │ │ context. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ vectorDefineField(fieldname) │ Set the field from which to define a │ │ │ Vec object. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ viewFieldsXDMF(filename, fieldnames) │ Write a selection of DMSwarm fields │ │ │ to an XDMF3 file. │ ├──────────────────────────────────────────┼───────────────────────────────────────┤ │ viewXDMF(filename) │ Write this DMSwarm fields to an XDMF3 │ │ │ file. │ └──────────────────────────────────────────┴───────────────────────────────────────┘ Methods Documentation addNPoints(npoints) Add space for a number of new points in the DMSwarm. Not collective. Parameters npoints (int) -- The number of new points to add. Return type None SEE ALSO: DMSwarmAddNPoints Source code at petsc4py/PETSc/DMSwarm.pyx:329 addPoint() Add space for one new point in the DMSwarm. Not collective. SEE ALSO: DMSwarmAddPoint Source code at petsc4py/PETSc/DMSwarm.pyx:317 Return type None collectViewCreate() Apply a collection method and gather points in neighbor ranks. Collective. SEE ALSO: collectViewDestroy, DMSwarmCollectViewCreate Source code at petsc4py/PETSc/DMSwarm.pyx:445 Return type None collectViewDestroy() Reset the DMSwarm to the size prior to calling collectViewCreate. Collective. SEE ALSO: collectViewCreate, DMSwarmCollectViewDestroy Source code at petsc4py/PETSc/DMSwarm.pyx:457 Return type None copyPoint(pi, pj) Copy point pi to point pj in the DMSwarm. Not collective. Parameters • pi (int) -- The index of the point to copy (source). • pj (int) -- The point index where the copy should be located (destination). Return type None SEE ALSO: DMSwarmCopyPoint Source code at petsc4py/PETSc/DMSwarm.pyx:377 create(comm=None) Create an empty DM object and set its type to DM.Type.SWARM. Collective. DMs are the abstract objects in PETSc that mediate between meshes and discretizations and the algebraic solvers, time integrators, and optimization algorithms. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: DMCreate, DMSetType Source code at petsc4py/PETSc/DMSwarm.pyx:39 createGlobalVectorFromField(fieldname) Create a global Vec object associated with a given field. Collective. The vector must be returned to the DMSwarm using a matching call to destroyGlobalVectorFromField. Parameters fieldname (str) -- The textual name given to a registered field. Return type Vec SEE ALSO: destroyGlobalVectorFromField, DMSwarmCreateGlobalVectorFromField Source code at petsc4py/PETSc/DMSwarm.pyx:65 createLocalVectorFromField(fieldname) Create a local Vec object associated with a given field. Collective. The vector must be returned to the DMSwarm using a matching call to destroyLocalVectorFromField. Parameters fieldname (str) -- The textual name given to a registered field. Return type Vec SEE ALSO: destroyLocalVectorFromField, DMSwarmCreateLocalVectorFromField Source code at petsc4py/PETSc/DMSwarm.pyx:109 destroyGlobalVectorFromField(fieldname) Destroy the global Vec object associated with a given field. Collective. Parameters fieldname (str) -- The textual name given to a registered field. Return type None SEE ALSO: createGlobalVectorFromField, DMSwarmDestroyGlobalVectorFromField Source code at petsc4py/PETSc/DMSwarm.pyx:89 destroyLocalVectorFromField(fieldname) Destroy the local Vec object associated with a given field. Collective. Parameters fieldname (str) -- The textual name given to a registered field. Return type None SEE ALSO: createLocalVectorFromField, DMSwarmDestroyLocalVectorFromField Source code at petsc4py/PETSc/DMSwarm.pyx:133 finalizeFieldRegister() Finalize the registration of fields to a DMSwarm. Collective. SEE ALSO: initializeFieldRegister, DMSwarmFinalizeFieldRegister Source code at petsc4py/PETSc/DMSwarm.pyx:167 Return type None getCellDM() Return DM cell attached to DMSwarm. Collective. SEE ALSO: setCellDM, DMSwarmGetCellDM Source code at petsc4py/PETSc/DMSwarm.pyx:486 Return type DM getField(fieldname) Return arrays storing all entries associated with a field. Not collective. The returned array contains underlying values of the field. The array must be returned to the DMSwarm using a matching call to restoreField. Parameters fieldname (str) -- The textual name to identify this field. Returns The type of the entries in the array will match the type of the field. Return type numpy.ndarray SEE ALSO: restoreField, DMSwarmGetField Source code at petsc4py/PETSc/DMSwarm.pyx:231 getLocalSize() Return the local length of fields registered. Not collective. SEE ALSO: DMSwarmGetLocalSize Source code at petsc4py/PETSc/DMSwarm.pyx:398 Return type int getSize() Return the total length of fields registered. Collective. SEE ALSO: DMSwarmGetSize Source code at petsc4py/PETSc/DMSwarm.pyx:412 Return type int initializeFieldRegister() Initiate the registration of fields to a DMSwarm. Collective. After all fields have been registered, you must call finalizeFieldRegister. SEE ALSO: finalizeFieldRegister, DMSwarmInitializeFieldRegister Source code at petsc4py/PETSc/DMSwarm.pyx:153 Return type None insertPointUsingCellDM(layoutType, fill_param) Insert point coordinates within each cell. Not collective. Parameters • layout_type -- Method used to fill each cell with the cell DM. • fill_param (int) -- Parameter controlling how many points per cell are added (the meaning of this parameter is dependent on the layout type). • layoutType (PICLayoutType) Return type None SEE ALSO: DMSwarmInsertPointsUsingCellDM Source code at petsc4py/PETSc/DMSwarm.pyx:601 migrate(remove_sent_points=False) Relocate points defined in the DMSwarm to other MPI ranks. Collective. Parameters remove_sent_points (bool) -- Flag indicating if sent points should be removed from the current MPI rank. Return type None SEE ALSO: DMSwarmMigrate Source code at petsc4py/PETSc/DMSwarm.pyx:426 projectFields(dm, fieldnames, vecs, mode=None) Project a set of DMSwarm fields onto the cell DM. Collective. Parameters • dm (DM) -- The continuum DM. • fieldnames (Sequence[str]) -- The textual names of the swarm fields to project. • vecs (Sequence[Vec]) • mode (ScatterModeSpec) Return type None SEE ALSO: DMSwarmProjectFields Source code at petsc4py/PETSc/DMSwarm.pyx:810 registerField(fieldname, blocksize, dtype=ScalarType) Register a field to a DMSwarm with a native PETSc data type. Collective. Parameters • fieldname (str) -- The textual name to identify this field. • blocksize (int) -- The number of each data type. • dtype (dtype) -- A valid PETSc data type. Return type None SEE ALSO: DMSwarmRegisterPetscDatatypeField Source code at petsc4py/PETSc/DMSwarm.pyx:201 removePoint() Remove the last point from the DMSwarm. Not collective. SEE ALSO: DMSwarmRemovePoint Source code at petsc4py/PETSc/DMSwarm.pyx:347 Return type None removePointAtIndex(index) Remove a specific point from the DMSwarm. Not collective. Parameters index (int) -- Index of point to remove Return type None SEE ALSO: DMSwarmRemovePointAtIndex Source code at petsc4py/PETSc/DMSwarm.pyx:359 restoreField(fieldname) Restore accesses associated with a registered field. Not collective. Parameters fieldname (str) -- The textual name to identify this field. Return type None SEE ALSO: getField, DMSwarmRestoreField Source code at petsc4py/PETSc/DMSwarm.pyx:274 setCellDM(dm) Attach a DM to a DMSwarm. Collective. Parameters dm (DM) -- The DM to attach to the DMSwarm. Return type None SEE ALSO: getCellDM, DMSwarmSetCellDM Source code at petsc4py/PETSc/DMSwarm.pyx:469 setLocalSizes(nlocal, buffer) Set the length of all registered fields on the DMSwarm. Not collective. Parameters • nlocal (int) -- The length of each registered field. • buffer (int) -- The length of the buffer used for efficient dynamic resizing. Return type Self SEE ALSO: DMSwarmSetLocalSizes Source code at petsc4py/PETSc/DMSwarm.pyx:179 setPointCoordinates(coordinates, redundant=False, mode=None) Set point coordinates in a DMSwarm from a user-defined list. Collective. Parameters • coordinates (Sequence[float]) -- The coordinate values. • redundant (bool) -- If set to True, it is assumed that coordinates are only valid on rank 0 and should be broadcast to other ranks. • mode (InsertMode | None) -- Indicates whether to append points to the swarm (‐ InsertMode.ADD), or override existing points (InsertMode.INSERT). Return type None SEE ALSO: DMSwarmSetPointCoordinates Source code at petsc4py/PETSc/DMSwarm.pyx:565 setPointCoordinatesCellwise(coordinates) Insert point coordinates within each cell. Not collective. Point coordinates are defined over the reference cell. Parameters coordinates (Sequence[float]) -- The coordinates (defined in the local coordinate system for each cell) to insert. Return type None SEE ALSO: DMSwarmSetPointCoordinatesCellwise Source code at petsc4py/PETSc/DMSwarm.pyx:623 setPointsUniformCoordinates(min, max, npoints, mode=None) Set point coordinates in a DMSwarm on a regular (ijk) grid. Collective. Parameters • min (Sequence[float]) -- Minimum coordinate values in the x, y, z directions (array of length dim). • max (Sequence[float]) -- Maximum coordinate values in the x, y, z directions (array of length dim). • npoints (Sequence[int]) -- Number of points in each spatial direction (array of length dim). • mode (InsertMode | None) -- Indicates whether to append points to the swarm (‐ InsertMode.ADD), or override existing points (InsertMode.INSERT). Return type Self SEE ALSO: DMSwarmSetPointsUniformCoordinates Source code at petsc4py/PETSc/DMSwarm.pyx:521 setType(dmswarm_type) Set particular flavor of DMSwarm. Collective. Parameters dmswarm_type (Type | str) -- The DMSwarm type. Return type None SEE ALSO: DMSwarmSetType Source code at petsc4py/PETSc/DMSwarm.pyx:503 sortGetAccess() Setup up a DMSwarm point sort context. Not collective. The point sort context is used for efficient traversal of points within a cell. You must call sortRestoreAccess when you no longer need access to the sort context. SEE ALSO: sortRestoreAccess, DMSwarmSortGetAccess Source code at petsc4py/PETSc/DMSwarm.pyx:698 Return type None sortGetIsValid() Return whether the sort context is up-to-date. Not collective. Returns the flag associated with a DMSwarm point sorting context. SEE ALSO: DMSwarmSortGetIsValid Source code at petsc4py/PETSc/DMSwarm.pyx:772 Return type bool sortGetNumberOfPointsPerCell(e) Return the number of points in a cell. Not collective. Parameters e (int) -- The index of the cell. Return type int SEE ALSO: DMSwarmSortGetNumberOfPointsPerCell Source code at petsc4py/PETSc/DMSwarm.pyx:752 sortGetPointsPerCell(e) Create an array of point indices for all points in a cell. Not collective. Parameters e (int) -- The index of the cell. Return type list[int] SEE ALSO: DMSwarmSortGetPointsPerCell Source code at petsc4py/PETSc/DMSwarm.pyx:728 sortGetSizes() Return the sizes associated with a DMSwarm point sorting context. Not collective. Returns • ncells (int) -- Number of cells within the sort context. • npoints (int) -- Number of points used to create the sort context. Return type tuple[int, int] SEE ALSO: DMSwarmSortGetSizes Source code at petsc4py/PETSc/DMSwarm.pyx:788 sortRestoreAccess() Invalidate the DMSwarm point sorting context. Not collective. SEE ALSO: sortGetAccess, DMSwarmSortRestoreAccess Source code at petsc4py/PETSc/DMSwarm.pyx:716 Return type None vectorDefineField(fieldname) Set the field from which to define a Vec object. Collective. The field will be used when DM.createLocalVec, or DM.createGlobalVec is called. Parameters fieldname (str) -- The textual name given to a registered field. Return type None SEE ALSO: DMSwarmVectorDefineField Source code at petsc4py/PETSc/DMSwarm.pyx:295 viewFieldsXDMF(filename, fieldnames) Write a selection of DMSwarm fields to an XDMF3 file. Collective. Parameters • filename (str) -- The file name of the XDMF file (must have the extension .xmf). • fieldnames (Sequence[str]) -- Array containing the textual names of fields to write. Return type None SEE ALSO: DMSwarmViewFieldsXDMF Source code at petsc4py/PETSc/DMSwarm.pyx:650 viewXDMF(filename) Write this DMSwarm fields to an XDMF3 file. Collective. Parameters filename (str) -- The file name of the XDMF file (must have the extension .xmf). Return type None SEE ALSO: DMSwarmViewXDMF Source code at petsc4py/PETSc/DMSwarm.pyx:679 petsc4py.PETSc.DS class petsc4py.PETSc.DS Bases: Object Discrete System object. Enumerations ┌──────┬────────────────────────────┐ │ Type │ The Discrete System types. │ └──────┴────────────────────────────┘ petsc4py.PETSc.DS.Type class petsc4py.PETSc.DS.Type Bases: object The Discrete System types. Attributes Summary ┌───────┬──────────────────────────┐ │ BASIC │ Object BASIC of type str │ └───────┴──────────────────────────┘ Attributes Documentation BASIC: str = BASIC Object BASIC of type str Methods Summary ┌────────────────────────────┬───────────────────────────────────────┐ │ create([comm]) │ Create an empty DS. │ ├────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy the discrete system. │ ├────────────────────────────┼───────────────────────────────────────┤ │ getComponents() │ Return the number of components for │ │ │ each field on an evaluation point. │ ├────────────────────────────┼───────────────────────────────────────┤ │ getCoordinateDimension() │ Return the coordinate dimension of │ │ │ the DS. │ ├────────────────────────────┼───────────────────────────────────────┤ │ getDimensions() │ Return the size of the space for each │ │ │ field on an evaluation point. │ ├────────────────────────────┼───────────────────────────────────────┤ │ getFieldIndex(disc) │ Return the index of the given field. │ ├────────────────────────────┼───────────────────────────────────────┤ │ getNumFields() │ Return the number of fields in the │ │ │ DS. │ ├────────────────────────────┼───────────────────────────────────────┤ │ getSpatialDimension() │ Return the spatial dimension of the │ │ │ DS. │ ├────────────────────────────┼───────────────────────────────────────┤ │ getTotalComponents() │ Return the total number of components │ │ │ in this system. │ ├────────────────────────────┼───────────────────────────────────────┤ │ getTotalDimensions() │ Return the total size of the │ │ │ approximation space for this system. │ ├────────────────────────────┼───────────────────────────────────────┤ │ getType() │ Return the type of the discrete │ │ │ system. │ ├────────────────────────────┼───────────────────────────────────────┤ │ setDiscretisation(f, disc) │ Set the discretization object for the │ │ │ given field. │ ├────────────────────────────┼───────────────────────────────────────┤ │ setFromOptions() │ Set parameters in a DS from the │ │ │ options database. │ ├────────────────────────────┼───────────────────────────────────────┤ │ setType(ds_type) │ Build a particular type of a discrete │ │ │ system. │ ├────────────────────────────┼───────────────────────────────────────┤ │ setUp() │ Construct data structures for the │ │ │ discrete system. │ ├────────────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ View a discrete system. │ └────────────────────────────┴───────────────────────────────────────┘ Methods Documentation create(comm=None) Create an empty DS. Collective. The type can then be set with setType. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: setType, destroy, PetscDSCreate Source code at petsc4py/PETSc/DS.pyx:53 destroy() Destroy the discrete system. Collective. SEE ALSO: create, PetscDSDestroy Source code at petsc4py/PETSc/DS.pyx:40 Return type Self getComponents() Return the number of components for each field on an evaluation point. Not collective. SEE ALSO: PetscDSGetComponents Source code at petsc4py/PETSc/DS.pyx:246 Return type ArrayInt getCoordinateDimension() Return the coordinate dimension of the DS. Not collective. The coordinate dimension of the DS is the dimension of the space into which the discretiaztions are embedded. SEE ALSO: PetscDSGetCoordinateDimension Source code at petsc4py/PETSc/DS.pyx:153 Return type int getDimensions() Return the size of the space for each field on an evaluation point. Not collective. SEE ALSO: PetscDSGetDimensions Source code at petsc4py/PETSc/DS.pyx:231 Return type ArrayInt getFieldIndex(disc) Return the index of the given field. Not collective. Parameters disc (Object) -- The discretization object. Return type int SEE ALSO: PetscDSGetFieldIndex Source code at petsc4py/PETSc/DS.pyx:184 getNumFields() Return the number of fields in the DS. Not collective. SEE ALSO: PetscDSGetNumFields Source code at petsc4py/PETSc/DS.pyx:170 Return type int getSpatialDimension() Return the spatial dimension of the DS. Not collective. The spatial dimension of the DS is the topological dimension of the discretizations. SEE ALSO: PetscDSGetSpatialDimension Source code at petsc4py/PETSc/DS.pyx:136 Return type int getTotalComponents() Return the total number of components in this system. Not collective. SEE ALSO: PetscDSGetTotalComponents Source code at petsc4py/PETSc/DS.pyx:217 Return type int getTotalDimensions() Return the total size of the approximation space for this system. Not collective. SEE ALSO: PetscDSGetTotalDimension Source code at petsc4py/PETSc/DS.pyx:203 Return type int getType() Return the type of the discrete system. Not collective. SEE ALSO: setType, PetscDSGetType Source code at petsc4py/PETSc/DS.pyx:95 Return type str setDiscretisation(f, disc) Set the discretization object for the given field. Not collective. Parameters • f (int) -- The field number. • disc (Object) -- The discretization object. Return type None SEE ALSO: PetscDSSetDiscretization Source code at petsc4py/PETSc/DS.pyx:261 setFromOptions() Set parameters in a DS from the options database. Collective. SEE ALSO: Working with PETSc options, PetscDSSetFromOptions Source code at petsc4py/PETSc/DS.pyx:109 Return type None setType(ds_type) Build a particular type of a discrete system. Collective. Parameters ds_type (Type | str) -- The type of the discrete system. Return type None SEE ALSO: getType, PetscDSSetType Source code at petsc4py/PETSc/DS.pyx:76 setUp() Construct data structures for the discrete system. Collective. SEE ALSO: PetscDSSetUp Source code at petsc4py/PETSc/DS.pyx:121 Return type Self view(viewer=None) View a discrete system. Collective. Parameters viewer (Viewer | None) -- A Viewer to display the system. Return type None SEE ALSO: PetscDSView Source code at petsc4py/PETSc/DS.pyx:21 petsc4py.PETSc.Device class petsc4py.PETSc.Device Bases: object The device object. Represents a handle to an accelerator (which may be the host). SEE ALSO: DeviceContext, PetscDevice Enumerations ┌──────┬─────────────────────┐ │ Type │ The type of device. │ └──────┴─────────────────────┘ petsc4py.PETSc.Device.Type class petsc4py.PETSc.Device.Type Bases: object The type of device. SEE ALSO: Device, Device.create, Device.getDeviceType, Device.type, PetscDeviceType Attributes Summary ┌─────────┬──────────────────────────────┐ │ CUDA │ Constant CUDA of type int │ ├─────────┼──────────────────────────────┤ │ DEFAULT │ Constant DEFAULT of type int │ ├─────────┼──────────────────────────────┤ │ HIP │ Constant HIP of type int │ ├─────────┼──────────────────────────────┤ │ HOST │ Constant HOST of type int │ ├─────────┼──────────────────────────────┤ │ SYCL │ Constant SYCL of type int │ └─────────┴──────────────────────────────┘ Attributes Documentation CUDA: int = CUDA Constant CUDA of type int DEFAULT: int = DEFAULT Constant DEFAULT of type int HIP: int = HIP Constant HIP of type int HOST: int = HOST Constant HOST of type int SYCL: int = SYCL Constant SYCL of type int Methods Summary ┌─────────────────────────────┬───────────────────────────────────────┐ │ configure() │ Configure and setup a device object. │ ├─────────────────────────────┼───────────────────────────────────────┤ │ create([dtype, device_id]) │ Create a device object. │ ├─────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy a device object. │ ├─────────────────────────────┼───────────────────────────────────────┤ │ getDeviceId() │ Return the device id. │ ├─────────────────────────────┼───────────────────────────────────────┤ │ getDeviceType() │ Return the type of the device. │ ├─────────────────────────────┼───────────────────────────────────────┤ │ setDefaultType(device_type) │ Set the device type to be used as the │ │ │ default in subsequent calls to │ │ │ create. │ ├─────────────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ View a device object. │ └─────────────────────────────┴───────────────────────────────────────┘ Attributes Summary ┌───────────┬──────────────────┐ │ device_id │ The device id. │ ├───────────┼──────────────────┤ │ type │ The device type. │ └───────────┴──────────────────┘ Methods Documentation configure() Configure and setup a device object. Not collective. SEE ALSO: create, PetscDeviceConfigure Source code at petsc4py/PETSc/Device.pyx:132 Return type None classmethod create(dtype=None, device_id=DECIDE) Create a device object. Not collective. Parameters • dtype (Type | None) -- The type of device to create (or None for the default). • device_id (int) -- The numeric id of the device to create. Return type Device SEE ALSO: destroy, PetscDeviceCreate Source code at petsc4py/PETSc/Device.pyx:94 destroy() Destroy a device object. Not collective. SEE ALSO: create, PetscDeviceDestroy Source code at petsc4py/PETSc/Device.pyx:120 Return type None getDeviceId() Return the device id. Not collective. SEE ALSO: create, PetscDeviceGetDeviceId Source code at petsc4py/PETSc/Device.pyx:180 Return type int getDeviceType() Return the type of the device. Not collective. SEE ALSO: type, PetscDeviceGetType Source code at petsc4py/PETSc/Device.pyx:165 Return type str static setDefaultType(device_type) Set the device type to be used as the default in subsequent calls to create. Not collective. SEE ALSO: create, PetscDeviceSetDefaultDeviceType Source code at petsc4py/PETSc/Device.pyx:195 Parameters device_type (Type | str) Return type None view(viewer=None) View a device object. Collective. Parameters viewer (Viewer | None) -- A Viewer instance or None for the default viewer. Return type None SEE ALSO: PetscDeviceView Source code at petsc4py/PETSc/Device.pyx:144 Attributes Documentation device_id The device id. Source code at petsc4py/PETSc/Device.pyx:215 type The device type. Source code at petsc4py/PETSc/Device.pyx:210 petsc4py.PETSc.DeviceContext class petsc4py.PETSc.DeviceContext Bases: Object DeviceContext object. Represents an abstract handle to a device context. SEE ALSO: Device, PetscDeviceContext Enumerations ┌────────────────┬──────────────────────────────┐ │ DeviceJoinMode │ The type of join to perform. │ ├────────────────┼──────────────────────────────┤ │ StreamType │ The type of stream. │ └────────────────┴──────────────────────────────┘ petsc4py.PETSc.DeviceContext.DeviceJoinMode class petsc4py.PETSc.DeviceContext.DeviceJoinMode Bases: object The type of join to perform. SEE ALSO: DeviceContext, DeviceContext.join, DeviceContext.fork, PetscDeviceContextJoinMode Attributes Summary ┌─────────┬──────────────────────────────┐ │ DESTROY │ Constant DESTROY of type int │ ├─────────┼──────────────────────────────┤ │ NO_SYNC │ Constant NO_SYNC of type int │ ├─────────┼──────────────────────────────┤ │ SYNC │ Constant SYNC of type int │ └─────────┴──────────────────────────────┘ Attributes Documentation DESTROY: int = DESTROY Constant DESTROY of type int NO_SYNC: int = NO_SYNC Constant NO_SYNC of type int SYNC: int = SYNC Constant SYNC of type int petsc4py.PETSc.DeviceContext.StreamType class petsc4py.PETSc.DeviceContext.StreamType Bases: object The type of stream. SEE ALSO: DeviceContext, DeviceContext.getStreamType, DeviceContext.setStreamType, PetscStreamType Attributes Summary ┌──────────────────────────┬───────────────────────────────────────┐ │ DEFAULT │ Constant DEFAULT of type int │ ├──────────────────────────┼───────────────────────────────────────┤ │ DEFAULT_WITH_BARRIER │ Constant DEFAULT_WITH_BARRIER of type │ │ │ int │ ├──────────────────────────┼───────────────────────────────────────┤ │ NONBLOCKING │ Constant NONBLOCKING of type int │ ├──────────────────────────┼───────────────────────────────────────┤ │ NONBLOCKING_WITH_BARRIER │ Constant NONBLOCKING_WITH_BARRIER of │ │ │ type int │ └──────────────────────────┴───────────────────────────────────────┘ Attributes Documentation DEFAULT: int = DEFAULT Constant DEFAULT of type int DEFAULT_WITH_BARRIER: int = DEFAULT_WITH_BARRIER Constant DEFAULT_WITH_BARRIER of type int NONBLOCKING: int = NONBLOCKING Constant NONBLOCKING of type int NONBLOCKING_WITH_BARRIER: int = NONBLOCKING_WITH_BARRIER Constant NONBLOCKING_WITH_BARRIER of type int Methods Summary ┌──────────────────────────────┬───────────────────────────────────────┐ │ create() │ Create an empty DeviceContext. │ ├──────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy a device context. │ ├──────────────────────────────┼───────────────────────────────────────┤ │ duplicate() │ Duplicate a the device context. │ ├──────────────────────────────┼───────────────────────────────────────┤ │ fork(n[, stream_type]) │ Create multiple device contexts which │ │ │ are all logically dependent on this │ │ │ one. │ ├──────────────────────────────┼───────────────────────────────────────┤ │ getCurrent() │ Return the current device context. │ ├──────────────────────────────┼───────────────────────────────────────┤ │ getDevice() │ Get the Device which this instance is │ │ │ attached to. │ ├──────────────────────────────┼───────────────────────────────────────┤ │ getStreamType() │ Return the StreamType. │ ├──────────────────────────────┼───────────────────────────────────────┤ │ idle() │ Return whether the underlying stream │ │ │ for the device context is idle. │ ├──────────────────────────────┼───────────────────────────────────────┤ │ join(join_mode, py_sub_ctxs) │ Join a set of device contexts on this │ │ │ one. │ ├──────────────────────────────┼───────────────────────────────────────┤ │ setCurrent(dctx) │ Set the current device context. │ ├──────────────────────────────┼───────────────────────────────────────┤ │ setDevice(device) │ Set the Device which this │ │ │ DeviceContext is attached to. │ ├──────────────────────────────┼───────────────────────────────────────┤ │ setFromOptions([comm]) │ Configure the DeviceContext from the │ │ │ options database. │ ├──────────────────────────────┼───────────────────────────────────────┤ │ setStreamType(stream_type) │ Set the StreamType. │ ├──────────────────────────────┼───────────────────────────────────────┤ │ setUp() │ Set up the internal data structures │ │ │ for using the device context. │ ├──────────────────────────────┼───────────────────────────────────────┤ │ synchronize() │ Synchronize a device context. │ ├──────────────────────────────┼───────────────────────────────────────┤ │ waitFor(other) │ Make this instance wait for other. │ └──────────────────────────────┴───────────────────────────────────────┘ Attributes Summary ┌─────────────┬───────────────────────────────────────┐ │ current │ The current global device context. │ ├─────────────┼───────────────────────────────────────┤ │ device │ The device associated to the device │ │ │ context. │ ├─────────────┼───────────────────────────────────────┤ │ stream_type │ The stream type. │ └─────────────┴───────────────────────────────────────┘ Methods Documentation create() Create an empty DeviceContext. Not collective. SEE ALSO: destroy, Device, PetscDeviceContextCreate Source code at petsc4py/PETSc/Device.pyx:240 Return type Self destroy() Destroy a device context. Not collective. SEE ALSO: create, PetscDeviceContextDestroy Source code at petsc4py/PETSc/Device.pyx:255 Return type Self duplicate() Duplicate a the device context. Not collective. SEE ALSO: create, PetscDeviceContextDuplicate Source code at petsc4py/PETSc/Device.pyx:348 Return type DeviceContext fork(n, stream_type=None) Create multiple device contexts which are all logically dependent on this one. Not collective. Parameters • n (int) -- The number of device contexts to create. • stream_type (StreamType | str | None) -- The type of stream of the forked device context. Return type list[DeviceContext] Examples The device contexts created must be destroyed using join. >>> dctx = PETSc.DeviceContext().getCurrent() >>> dctxs = dctx.fork(4) >>> ... # perform computations >>> # we can mix various join modes >>> dctx.join(PETSc.DeviceContext.JoinMode.SYNC, dctxs[0:2]) >>> dctx.join(PETSc.DeviceContext.JoinMode.SYNC, dctxs[2:]) >>> ... # some more computations and joins >>> # dctxs must be all destroyed with joinMode.DESTROY >>> dctx.join(PETSc.DeviceContext.JoinMode.DESTROY, dctxs) SEE ALSO: join, waitFor, PetscDeviceContextFork Source code at petsc4py/PETSc/Device.pyx:399 static getCurrent() Return the current device context. Not collective. SEE ALSO: current, setCurrent, PetscDeviceContextGetCurrentContext Source code at petsc4py/PETSc/Device.pyx:519 Return type DeviceContext getDevice() Get the Device which this instance is attached to. Not collective. SEE ALSO: setDevice, device, Device, PetscDeviceContextGetDevice Source code at petsc4py/PETSc/Device.pyx:302 Return type Device getStreamType() Return the StreamType. Not collective. SEE ALSO: stream_type, setStreamType, PetscDeviceContextGetStreamType Source code at petsc4py/PETSc/Device.pyx:268 Return type str idle() Return whether the underlying stream for the device context is idle. Not collective. SEE ALSO: synchronize, PetscDeviceContextQueryIdle Source code at petsc4py/PETSc/Device.pyx:363 Return type bool join(join_mode, py_sub_ctxs) Join a set of device contexts on this one. Not collective. Parameters • join_mode (DeviceJoinMode | str) -- The type of join to perform. • py_sub_ctxs (list[DeviceContext]) -- The list of device contexts to join. Return type None SEE ALSO: fork, waitFor, PetscDeviceContextJoin Source code at petsc4py/PETSc/Device.pyx:448 static setCurrent(dctx) Set the current device context. Not collective. Parameters dctx (DeviceContext | None) -- The DeviceContext to set as current (or None to use the default context). Return type None SEE ALSO: current, getCurrent, PetscDeviceContextSetCurrentContext Source code at petsc4py/PETSc/Device.pyx:535 setDevice(device) Set the Device which this DeviceContext is attached to. Collective. Parameters device (Device) -- The Device to which this instance is attached to. Return type None SEE ALSO: getDevice, device, Device, PetscDeviceContextSetDevice Source code at petsc4py/PETSc/Device.pyx:317 setFromOptions(comm=None) Configure the DeviceContext from the options database. Collective. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type None SEE ALSO: Sys.getDefaultComm, PetscDeviceContextSetFromOptions Source code at petsc4py/PETSc/Device.pyx:500 setStreamType(stream_type) Set the StreamType. Not collective. Parameters stream_type (StreamType | str) -- The type of stream to set Return type None SEE ALSO: stream_type, getStreamType, PetscDeviceContextSetStreamType Source code at petsc4py/PETSc/Device.pyx:283 setUp() Set up the internal data structures for using the device context. Not collective. SEE ALSO: create, PetscDeviceContextSetUp Source code at petsc4py/PETSc/Device.pyx:336 Return type None synchronize() Synchronize a device context. Not collective. Notes The underlying stream is considered idle after this routine returns, i.e. idle will return True. SEE ALSO: idle, PetscDeviceContextSynchronize Source code at petsc4py/PETSc/Device.pyx:483 Return type None waitFor(other) Make this instance wait for other. Not collective. Parameters other (DeviceContext | None) -- The other DeviceContext to wait for Return type None SEE ALSO: fork, join, PetscDeviceContextWaitForContext Source code at petsc4py/PETSc/Device.pyx:378 Attributes Documentation current The current global device context. Source code at petsc4py/PETSc/Device.pyx:574 device The device associated to the device context. Source code at petsc4py/PETSc/Device.pyx:566 stream_type The stream type. Source code at petsc4py/PETSc/Device.pyx:558 petsc4py.PETSc.DualSpace class petsc4py.PETSc.DualSpace Bases: Object Dual space to a linear space. Enumerations ┌──────┬───────────────────────┐ │ Type │ The dual space types. │ └──────┴───────────────────────┘ petsc4py.PETSc.DualSpace.Type class petsc4py.PETSc.DualSpace.Type Bases: object The dual space types. Attributes Summary ┌──────────┬─────────────────────────────┐ │ BDM │ Object BDM of type str │ ├──────────┼─────────────────────────────┤ │ LAGRANGE │ Object LAGRANGE of type str │ ├──────────┼─────────────────────────────┤ │ REFINED │ Object REFINED of type str │ ├──────────┼─────────────────────────────┤ │ SIMPLE │ Object SIMPLE of type str │ └──────────┴─────────────────────────────┘ Attributes Documentation BDM: str = BDM Object BDM of type str LAGRANGE: str = LAGRANGE Object LAGRANGE of type str REFINED: str = REFINED Object REFINED of type str SIMPLE: str = SIMPLE Object SIMPLE of type str Methods Summary ┌───────────────────────────────────────┬───────────────────────────────────────┐ │ create([comm]) │ Create an empty DualSpace object. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy the DualSpace object. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ duplicate() │ Create a duplicate DualSpace object │ │ │ that is not set up. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getDM() │ Return the DM representing the │ │ │ reference cell of a DualSpace. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getDimension() │ Return the dimension of the dual │ │ │ space. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getFunctional(i) │ Return the i-th basis functional in │ │ │ the dual space. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getInteriorDimension() │ Return the interior dimension of the │ │ │ dual space. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getLagrangeContinuity() │ Return whether the element is │ │ │ continuous. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getLagrangeTensor() │ Return the tensor nature of the dual │ │ │ space. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getLagrangeTrimmed() │ Return the trimmed nature of the dual │ │ │ space. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getNumComponents() │ Return the number of components for │ │ │ this space. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getNumDof() │ Return the number of degrees of │ │ │ freedom for each spatial dimension. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getOrder() │ Return the order of the dual space. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getType() │ Return the type of the dual space │ │ │ object. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setDM(dm) │ Set the DM representing the reference │ │ │ cell. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setLagrangeContinuity(continuous) │ Indicate whether the element is │ │ │ continuous. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setLagrangeTensor(tensor) │ Set the tensor nature of the dual │ │ │ space. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setLagrangeTrimmed(trimmed) │ Set the trimmed nature of the dual │ │ │ space. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setNumComponents(nc) │ Set the number of components for this │ │ │ space. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setOrder(order) │ Set the order of the dual space. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setSimpleDimension(dim) │ Set the number of functionals in the │ │ │ dual space basis. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setSimpleFunctional(func, functional) │ Set the given basis element for this │ │ │ dual space. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setType(dualspace_type) │ Build a particular type of dual │ │ │ space. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setUp() │ Construct a basis for a DualSpace. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ View a DualSpace. │ └───────────────────────────────────────┴───────────────────────────────────────┘ Methods Documentation create(comm=None) Create an empty DualSpace object. Collective. The type can then be set with setType. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: PetscDualSpaceCreate Source code at petsc4py/PETSc/Space.pyx:594 destroy() Destroy the DualSpace object. Collective. SEE ALSO: PetscDualSpaceDestroy Source code at petsc4py/PETSc/Space.pyx:636 Return type Self duplicate() Create a duplicate DualSpace object that is not set up. Collective. SEE ALSO: PetscDualSpaceDuplicate Source code at petsc4py/PETSc/Space.pyx:649 Return type DualSpace getDM() Return the DM representing the reference cell of a DualSpace. Not collective. SEE ALSO: setDM, PetscDualSpaceGetDM Source code at petsc4py/PETSc/Space.pyx:662 Return type DM getDimension() Return the dimension of the dual space. Not collective. The dimension of the dual space, i.e. the number of basis functionals. SEE ALSO: PetscDualSpaceGetDimension Source code at petsc4py/PETSc/Space.pyx:696 Return type int getFunctional(i) Return the i-th basis functional in the dual space. Not collective. Parameters i (int) -- The basis number. Return type Quad SEE ALSO: PetscDualSpaceGetFunctional Source code at petsc4py/PETSc/Space.pyx:826 getInteriorDimension() Return the interior dimension of the dual space. Not collective. The interior dimension of the dual space, i.e. the number of basis functionals assigned to the interior of the reference domain. SEE ALSO: PetscDualSpaceGetInteriorDimension Source code at petsc4py/PETSc/Space.pyx:847 Return type int getLagrangeContinuity() Return whether the element is continuous. Not collective. SEE ALSO: setLagrangeContinuity, PetscDualSpaceLagrangeGetContinuity Source code at petsc4py/PETSc/Space.pyx:864 Return type bool getLagrangeTensor() Return the tensor nature of the dual space. Not collective. SEE ALSO: setLagrangeTensor, PetscDualSpaceLagrangeGetTensor Source code at petsc4py/PETSc/Space.pyx:896 Return type bool getLagrangeTrimmed() Return the trimmed nature of the dual space. Not collective. SEE ALSO: setLagrangeTrimmed, PetscDualSpaceLagrangeGetTrimmed Source code at petsc4py/PETSc/Space.pyx:928 Return type bool getNumComponents() Return the number of components for this space. Not collective. SEE ALSO: setNumComponents, PetscDualSpaceGetNumComponents Source code at petsc4py/PETSc/Space.pyx:712 Return type int getNumDof() Return the number of degrees of freedom for each spatial dimension. Not collective. SEE ALSO: PetscDualSpaceGetNumDof Source code at petsc4py/PETSc/Space.pyx:810 Return type ArrayInt getOrder() Return the order of the dual space. Not collective. SEE ALSO: setOrder, PetscDualSpaceGetOrder Source code at petsc4py/PETSc/Space.pyx:778 Return type int getType() Return the type of the dual space object. Not collective. SEE ALSO: setType, PetscDualSpaceGetType Source code at petsc4py/PETSc/Space.pyx:744 Return type str setDM(dm) Set the DM representing the reference cell. Not collective. Parameters dm (DM) -- The reference cell. Return type None SEE ALSO: getDM, PetscDualSpaceSetDM Source code at petsc4py/PETSc/Space.pyx:679 setLagrangeContinuity(continuous) Indicate whether the element is continuous. Not collective. Parameters continuous (bool) -- The flag for element continuity. Return type None SEE ALSO: getLagrangeContinuity, PetscDualSpaceLagrangeSetContinuity Source code at petsc4py/PETSc/Space.pyx:878 setLagrangeTensor(tensor) Set the tensor nature of the dual space. Not collective. Parameters tensor (bool) -- Whether the dual space has tensor layout (vs. simplicial). Return type None SEE ALSO: getLagrangeTensor, PetscDualSpaceLagrangeSetTensor Source code at petsc4py/PETSc/Space.pyx:910 setLagrangeTrimmed(trimmed) Set the trimmed nature of the dual space. Not collective. Parameters trimmed (bool) -- Whether the dual space represents to dual basis of a trimmed polynomial space (e.g. Raviart-Thomas and higher order / other form degree variants). Return type None SEE ALSO: getLagrangeTrimmed, PetscDualSpaceLagrangeSetTrimmed Source code at petsc4py/PETSc/Space.pyx:942 setNumComponents(nc) Set the number of components for this space. Logically collective. Parameters nc (int) -- The number of components Return type None SEE ALSO: getNumComponents, PetscDualSpaceSetNumComponents Source code at petsc4py/PETSc/Space.pyx:726 setOrder(order) Set the order of the dual space. Not collective. Parameters order (int) -- The order. Return type None SEE ALSO: getOrder, PetscDualSpaceSetOrder Source code at petsc4py/PETSc/Space.pyx:792 setSimpleDimension(dim) Set the number of functionals in the dual space basis. Logically collective. Parameters dim (int) -- The basis dimension. Return type None SEE ALSO: PetscDualSpaceSimpleSetDimension Source code at petsc4py/PETSc/Space.pyx:962 setSimpleFunctional(func, functional) Set the given basis element for this dual space. Not collective. Parameters • func (int) -- The basis index. • functional (Quad) -- The basis functional. Return type None SEE ALSO: PetscDualSpaceSimpleSetFunctional Source code at petsc4py/PETSc/Space.pyx:980 setType(dualspace_type) Build a particular type of dual space. Collective. Parameters dualspace_type (Type | str) -- The kind of space. Return type Self SEE ALSO: getType, PetscDualSpaceSetType Source code at petsc4py/PETSc/Space.pyx:758 setUp() Construct a basis for a DualSpace. Collective. SEE ALSO: PetscDualSpaceSetUp Source code at petsc4py/PETSc/Space.pyx:582 Return type None view(viewer=None) View a DualSpace. Collective. Parameters viewer (Viewer | None) -- A Viewer to display the DualSpace. Return type None SEE ALSO: PetscDualSpaceView Source code at petsc4py/PETSc/Space.pyx:617 petsc4py.PETSc.FE class petsc4py.PETSc.FE Bases: Object A PETSc object that manages a finite element space. Enumerations ┌──────┬───────────────────────────┐ │ Type │ The finite element types. │ └──────┴───────────────────────────┘ petsc4py.PETSc.FE.Type class petsc4py.PETSc.FE.Type Bases: object The finite element types. Attributes Summary ┌───────────┬──────────────────────────────┐ │ BASIC │ Object BASIC of type str │ ├───────────┼──────────────────────────────┤ │ COMPOSITE │ Object COMPOSITE of type str │ ├───────────┼──────────────────────────────┤ │ OPENCL │ Object OPENCL of type str │ └───────────┴──────────────────────────────┘ Attributes Documentation BASIC: str = BASIC Object BASIC of type str COMPOSITE: str = COMPOSITE Object COMPOSITE of type str OPENCL: str = OPENCL Object OPENCL of type str Methods Summary ┌───────────────────────────────────────┬───────────────────────────────────────┐ │ create([comm]) │ Create an empty FE object. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createDefault(dim, nc, isSimplex[, │ Create a FE for basic FEM │ │ qorder, ...]) │ computation. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createLagrange(dim, nc, isSimplex, │ Create a FE for the basic Lagrange │ │ k[, ...]) │ space of degree k. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy the FE object. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getBasisSpace() │ Return the Space used for the │ │ │ approximation of the FE solution. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getDimension() │ Return the dimension of the finite │ │ │ element space on a cell. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getDualSpace() │ Return the DualSpace used to define │ │ │ the inner product for the FE. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getFaceQuadrature() │ Return the Quad used to calculate │ │ │ inner products on faces. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getNumComponents() │ Return the number of components in │ │ │ the element. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getNumDof() │ Return the number of DOFs. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getQuadrature() │ Return the Quad used to calculate │ │ │ inner products. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getSpatialDimension() │ Return the spatial dimension of the │ │ │ element. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getTileSizes() │ Return the tile sizes for evaluation. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setBasisSpace(sp) │ Set the Space used for the │ │ │ approximation of the solution. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setDualSpace(dspace) │ Set the DualSpace used to define the │ │ │ inner product. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFaceQuadrature(quad) │ Set the Quad used to calculate inner │ │ │ products on faces. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFromOptions() │ Set parameters in a FE from the │ │ │ options database. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setNumComponents(comp) │ Set the number of field components in │ │ │ the element. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setQuadrature(quad) │ Set the Quad used to calculate inner │ │ │ products. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setTileSizes(blockSize, numBlocks, │ Set the tile sizes for evaluation. │ │ ...) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setType(fe_type) │ Build a particular FE. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setUp() │ Construct data structures for the FE │ │ │ after the Type has been set. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ View a FE object. │ └───────────────────────────────────────┴───────────────────────────────────────┘ Methods Documentation create(comm=None) Create an empty FE object. Collective. The type can then be set with setType. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: setType, PetscFECreate Source code at petsc4py/PETSc/FE.pyx:53 createDefault(dim, nc, isSimplex, qorder=DETERMINE, prefix=None, comm=None) Create a FE for basic FEM computation. Collective. Parameters • dim (int) -- The spatial dimension. • nc (int) -- The number of components. • isSimplex (bool) -- Flag for simplex reference cell, otherwise it's a tensor product. • qorder (int) -- The quadrature order or DETERMINE to use Space polynomial degree. • prefix (str) -- The options prefix, or None. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: PetscFECreateDefault Source code at petsc4py/PETSc/FE.pyx:76 createLagrange(dim, nc, isSimplex, k, qorder=DETERMINE, comm=None) Create a FE for the basic Lagrange space of degree k. Collective. Parameters • dim (int) -- The spatial dimension. • nc (int) -- The number of components. • isSimplex (bool) -- Flag for simplex reference cell, otherwise it's a tensor product. • k (int) -- The degree of the space. • qorder (int) -- The quadrature order or DETERMINE to use Space polynomial degree. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: PetscFECreateLagrange Source code at petsc4py/PETSc/FE.pyx:122 destroy() Destroy the FE object. Collective. SEE ALSO: PetscFEDestroy Source code at petsc4py/PETSc/FE.pyx:40 Return type Self getBasisSpace() Return the Space used for the approximation of the FE solution. Not collective. SEE ALSO: setBasisSpace, PetscFEGetBasisSpace Source code at petsc4py/PETSc/FE.pyx:387 Return type Space getDimension() Return the dimension of the finite element space on a cell. Not collective. SEE ALSO: PetscFEGetDimension Source code at petsc4py/PETSc/FE.pyx:181 Return type int getDualSpace() Return the DualSpace used to define the inner product for the FE. Not collective. SEE ALSO: setDualSpace, DualSpace, PetscFEGetDualSpace Source code at petsc4py/PETSc/FE.pyx:443 Return type DualSpace getFaceQuadrature() Return the Quad used to calculate inner products on faces. Not collective. SEE ALSO: setFaceQuadrature, PetscFEGetFaceQuadrature Source code at petsc4py/PETSc/FE.pyx:316 Return type Quad getNumComponents() Return the number of components in the element. Not collective. SEE ALSO: setNumComponents, PetscFEGetNumComponents Source code at petsc4py/PETSc/FE.pyx:209 Return type int getNumDof() Return the number of DOFs. Not collective. Return the number of DOFs (dual basis vectors) associated with mesh points on the reference cell of a given dimension. SEE ALSO: PetscFEGetNumDof Source code at petsc4py/PETSc/FE.pyx:241 Return type ndarray getQuadrature() Return the Quad used to calculate inner products. Not collective. SEE ALSO: setQuadrature, PetscFEGetQuadrature Source code at petsc4py/PETSc/FE.pyx:166 Return type Quad getSpatialDimension() Return the spatial dimension of the element. Not collective. SEE ALSO: PetscFEGetSpatialDimension Source code at petsc4py/PETSc/FE.pyx:195 Return type int getTileSizes() Return the tile sizes for evaluation. Not collective. Returns • blockSize (int) -- The number of elements in a block. • numBlocks (int) -- The number of blocks in a batch. • batchSize (int) -- The number of elements in a batch. • numBatches (int) -- The number of batches in a chunk. Return type tuple(int, int, int, int) SEE ALSO: setTileSizes, PetscFEGetTileSizes Source code at petsc4py/PETSc/FE.pyx:260 setBasisSpace(sp) Set the Space used for the approximation of the solution. Not collective. Parameters sp (Space) -- The Space object. Return type None SEE ALSO: getBasisSpace, PetscFESetBasisSpace Source code at petsc4py/PETSc/FE.pyx:402 setDualSpace(dspace) Set the DualSpace used to define the inner product. Not collective. Parameters dspace (DualSpace) -- The DualSpace object. Return type None SEE ALSO: getDualSpace, DualSpace, PetscFESetDualSpace Source code at petsc4py/PETSc/FE.pyx:458 setFaceQuadrature(quad) Set the Quad used to calculate inner products on faces. Not collective. Parameters quad (Quad) -- The Quad object. Return type Quad SEE ALSO: getFaceQuadrature, PetscFESetFaceQuadrature Source code at petsc4py/PETSc/FE.pyx:349 setFromOptions() Set parameters in a FE from the options database. Collective. SEE ALSO: Working with PETSc options, PetscFESetFromOptions Source code at petsc4py/PETSc/FE.pyx:419 Return type None setNumComponents(comp) Set the number of field components in the element. Not collective. Parameters comp (int) -- The number of field components. Return type None SEE ALSO: getNumComponents, PetscFESetNumComponents Source code at petsc4py/PETSc/FE.pyx:223 setQuadrature(quad) Set the Quad used to calculate inner products. Not collective. Parameters quad (Quad) -- The Quad object. Return type Self SEE ALSO: getQuadrature, PetscFESetQuadrature Source code at petsc4py/PETSc/FE.pyx:331 setTileSizes(blockSize, numBlocks, batchSize, numBatches) Set the tile sizes for evaluation. Not collective. Parameters • blockSize (int) -- The number of elements in a block. • numBlocks (int) -- The number of blocks in a batch. • batchSize (int) -- The number of elements in a batch. • numBatches (int) -- The number of batches in a chunk. Return type None SEE ALSO: getTileSizes, PetscFESetTileSizes Source code at petsc4py/PETSc/FE.pyx:286 setType(fe_type) Build a particular FE. Collective. Parameters fe_type (Type | str) -- The kind of FEM space. Return type Self SEE ALSO: PetscFESetType Source code at petsc4py/PETSc/FE.pyx:367 setUp() Construct data structures for the FE after the Type has been set. Collective. SEE ALSO: PetscFESetUp Source code at petsc4py/PETSc/FE.pyx:431 Return type None view(viewer=None) View a FE object. Collective. Parameters viewer (Viewer | None) -- A Viewer to display the graph. Return type None SEE ALSO: PetscFEView Source code at petsc4py/PETSc/FE.pyx:21 petsc4py.PETSc.IS class petsc4py.PETSc.IS Bases: Object A collection of indices. IS objects are used to index into vectors and matrices and to set up vector scatters. SEE ALSO: IS Enumerations ┌──────┬──────────────────────┐ │ Type │ The index set types. │ └──────┴──────────────────────┘ petsc4py.PETSc.IS.Type class petsc4py.PETSc.IS.Type Bases: object The index set types. Attributes Summary ┌─────────┬────────────────────────────┐ │ BLOCK │ Object BLOCK of type str │ ├─────────┼────────────────────────────┤ │ GENERAL │ Object GENERAL of type str │ ├─────────┼────────────────────────────┤ │ STRIDE │ Object STRIDE of type str │ └─────────┴────────────────────────────┘ Attributes Documentation BLOCK: str = BLOCK Object BLOCK of type str GENERAL: str = GENERAL Object GENERAL of type str STRIDE: str = STRIDE Object STRIDE of type str Methods Summary ┌───────────────────────────────────────┬───────────────────────────────────────┐ │ allGather() │ Concatenate index sets stored across │ │ │ processors. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ buildTwoSided([toindx]) │ Create an index set describing a │ │ │ global mapping. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ complement(nmin, nmax) │ Create a complement index set. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ copy([result]) │ Copy the contents of the index set │ │ │ into another. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ create([comm]) │ Create an IS. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createBlock(bsize, indices[, comm]) │ Create a blocked index set. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createGeneral(indices[, comm]) │ Create an IS with indices. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createStride(size[, first, step, │ Create an index set consisting of │ │ comm]) │ evenly spaced values. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy the index set. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ difference(iset) │ Return the difference between two │ │ │ index sets. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ duplicate() │ Create a copy of the index set. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ embed(iset, drop) │ Embed self into iset. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ equal(iset) │ Return whether the index sets have │ │ │ the same set of indices or not. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ expand(iset) │ Return the union of two (possibly │ │ │ unsorted) index sets. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getBlockIndices() │ Return the indices of an index set │ │ │ with type IS.Type.BLOCK. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getBlockSize() │ Return the number of elements in a │ │ │ block. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getIndices() │ Return the indices of the index set. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getInfo() │ Return stride information for an │ │ │ index set with type IS.Type.STRIDE. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getLocalSize() │ Return the process-local length of │ │ │ the index set. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getSize() │ Return the global length of an index │ │ │ set. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getSizes() │ Return the local and global sizes of │ │ │ the index set. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getStride() │ Return size and stride information. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getType() │ Return the index set type associated │ │ │ with the IS. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ invertPermutation([nlocal]) │ Invert the index set. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ isIdentity() │ Return whether the index set has been │ │ │ declared as an identity. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ isPermutation() │ Return whether an index set has been │ │ │ declared to be a permutation. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ isSorted() │ Return whether the indices have been │ │ │ sorted. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ load(viewer) │ Load a stored index set. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ renumber([mult]) │ Renumber the non-negative entries of │ │ │ an index set, starting from 0. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setBlockIndices(bsize, indices) │ Set the indices for an index set with │ │ │ type IS.Type.BLOCK. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setBlockSize(bs) │ Set the block size of the index set. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setIdentity() │ Mark the index set as being an │ │ │ identity. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setIndices(indices) │ Set the indices of an index set. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setPermutation() │ Mark the index set as being a │ │ │ permutation. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setStride(size[, first, step]) │ Set the stride information for an │ │ │ index set with type IS.Type.STRIDE. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setType(is_type) │ Set the type of the index set. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ sort() │ Sort the indices of an index set. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ sum(iset) │ Return the union of two (sorted) │ │ │ index sets. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ toGeneral() │ Convert the index set type to │ │ │ IS.Type.GENERAL. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ union(iset) │ Return the union of two (possibly │ │ │ unsorted) index sets. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ Display the index set. │ └───────────────────────────────────────┴───────────────────────────────────────┘ Attributes Summary ┌─────────────┬───────────────────────────────────────┐ │ array │ View of the index set as an array of │ │ │ integers. │ ├─────────────┼───────────────────────────────────────┤ │ block_size │ The number of elements in a block. │ ├─────────────┼───────────────────────────────────────┤ │ identity │ True if index set is an identity, ‐ │ │ │ False otherwise. │ ├─────────────┼───────────────────────────────────────┤ │ indices │ The indices of the index set. │ ├─────────────┼───────────────────────────────────────┤ │ local_size │ The local size of the index set. │ ├─────────────┼───────────────────────────────────────┤ │ permutation │ True if index set is a permutation, ‐ │ │ │ False otherwise. │ ├─────────────┼───────────────────────────────────────┤ │ size │ The global size of the index set. │ ├─────────────┼───────────────────────────────────────┤ │ sizes │ The local and global sizes of the │ │ │ index set. │ ├─────────────┼───────────────────────────────────────┤ │ sorted │ True if index set is sorted, False │ │ │ otherwise. │ └─────────────┴───────────────────────────────────────┘ Methods Documentation allGather() Concatenate index sets stored across processors. Collective. The returned index set will be the same on every processor. SEE ALSO: ISAllGather Source code at petsc4py/PETSc/IS.pyx:304 Return type IS buildTwoSided(toindx=None) Create an index set describing a global mapping. Collective. This function generates an index set that contains new numbers from remote or local on the index set. Parameters toindx (IS | None) -- Index set describing which indices to send, default is to send natural numbering. Returns New index set containing the new numbers from remote or local. Return type IS SEE ALSO: ISBuildTwoSided Source code at petsc4py/PETSc/IS.pyx:333 complement(nmin, nmax) Create a complement index set. Collective. The complement set of indices is all indices that are not in the provided set (and within the provided bounds). Parameters • nmin (int) -- Minimum index that can be found in the local part of the complement index set. • nmax (int) -- One greater than the maximum index that can be found in the local part of the complement index set. Return type IS Notes For a parallel index set, this will generate the local part of the complement on each process. To generate the entire complement (on each process) of a parallel index set, first call IS.allGather and then call this method. SEE ALSO: IS.allGather, ISComplement Source code at petsc4py/PETSc/IS.pyx:674 copy(result=None) Copy the contents of the index set into another. Collective. Parameters result (IS | None) -- The target index set. If None then IS.duplicate is called first. Returns The copied index set. If result is not None then this is returned here. Return type IS SEE ALSO: IS.duplicate, ISCopy Source code at petsc4py/PETSc/IS.pyx:253 create(comm=None) Create an IS. Collective. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: ISCreate Source code at petsc4py/PETSc/IS.pyx:88 createBlock(bsize, indices, comm=None) Create a blocked index set. Collective. Parameters • bsize (int) -- Block size. • indices (Sequence[int]) -- Integer array of indices. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: ISCreateBlock Source code at petsc4py/PETSc/IS.pyx:171 createGeneral(indices, comm=None) Create an IS with indices. Collective. Parameters • indices (Sequence[int]) -- Integer array. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: ISCreateGeneral Source code at petsc4py/PETSc/IS.pyx:142 createStride(size, first=0, step=0, comm=None) Create an index set consisting of evenly spaced values. Collective. Parameters • size (int) -- The length of the locally owned portion of the index set. • first (int) -- The first element of the index set. • step (int) -- The difference between adjacent indices. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: ISCreateStride Source code at petsc4py/PETSc/IS.pyx:204 destroy() Destroy the index set. Collective. SEE ALSO: ISDestroy Source code at petsc4py/PETSc/IS.pyx:75 Return type Self difference(iset) Return the difference between two index sets. Collective. Parameters iset (IS) -- Index set to compute the difference with. Returns Index set representing the difference between self and iset. Return type IS SEE ALSO: ISDifference Source code at petsc4py/PETSc/IS.pyx:650 duplicate() Create a copy of the index set. Collective. SEE ALSO: IS.copy, ISDuplicate Source code at petsc4py/PETSc/IS.pyx:239 Return type IS embed(iset, drop) Embed self into iset. Not collective. The embedding is performed by finding the locations in iset that have the same indices as self. Parameters • iset (IS) -- The index set to embed into. • drop (bool) -- Flag indicating whether to drop indices from self that are not in iset. Returns The embedded index set. Return type IS SEE ALSO: ISEmbed Source code at petsc4py/PETSc/IS.pyx:710 equal(iset) Return whether the index sets have the same set of indices or not. Collective. Parameters iset (IS) -- The index set to compare indices with. Return type bool SEE ALSO: ISEqual Source code at petsc4py/PETSc/IS.pyx:550 expand(iset) Return the union of two (possibly unsorted) index sets. Collective. To compute the union, expand concatenates the two index sets and removes any duplicates. Parameters iset (IS) -- Index set to compute the union with. Returns The new, combined, index set. Return type IS SEE ALSO: ISExpand Source code at petsc4py/PETSc/IS.pyx:588 getBlockIndices() Return the indices of an index set with type IS.Type.BLOCK. Not collective. SEE ALSO: ISBlockGetIndices Source code at petsc4py/PETSc/IS.pyx:833 Return type ArrayInt getBlockSize() Return the number of elements in a block. Not collective. SEE ALSO: ISGetBlockSize Source code at petsc4py/PETSc/IS.pyx:437 Return type int getIndices() Return the indices of the index set. Not collective. SEE ALSO: ISGetIndices Source code at petsc4py/PETSc/IS.pyx:789 Return type ArrayInt getInfo() Return stride information for an index set with type IS.Type.STRIDE. Not collective. Returns • first (int) -- First element of the index set. • step (int) -- Difference between adjacent indices. Return type tuple[int, int] SEE ALSO: IS.getStride, ISStrideGetInfo Source code at petsc4py/PETSc/IS.pyx:903 getLocalSize() Return the process-local length of the index set. Not collective. SEE ALSO: ISGetLocalSize Source code at petsc4py/PETSc/IS.pyx:401 Return type int getSize() Return the global length of an index set. Not collective. SEE ALSO: ISGetSize Source code at petsc4py/PETSc/IS.pyx:387 Return type int getSizes() Return the local and global sizes of the index set. Not collective. Returns • local_size (int) -- The local size. • global_size (int) -- The global size. Return type tuple[int, int] SEE ALSO: IS.getLocalSize, IS.getSize Source code at petsc4py/PETSc/IS.pyx:415 getStride() Return size and stride information. Not collective. Returns • size (int) -- Length of the locally owned portion of the index set. • first (int) -- First element of the index set. • step (int) -- Difference between adjacent indices. Return type tuple[int, int, int] SEE ALSO: ISGetLocalSize, ISStrideGetInfo Source code at petsc4py/PETSc/IS.pyx:879 getType() Return the index set type associated with the IS. Not collective. SEE ALSO: ISGetType Source code at petsc4py/PETSc/IS.pyx:128 Return type str invertPermutation(nlocal=None) Invert the index set. Collective. For this to be correct the index set must be a permutation. Parameters nlocal (int | None) -- The number of indices on this processor in the resulting index set, defaults to PETSC_DECIDE. Return type IS SEE ALSO: ISInvertPermutation Source code at petsc4py/PETSc/IS.pyx:363 isIdentity() Return whether the index set has been declared as an identity. Collective. SEE ALSO: ISIdentity Source code at petsc4py/PETSc/IS.pyx:536 Return type bool isPermutation() Return whether an index set has been declared to be a permutation. Logically collective. SEE ALSO: ISPermutation Source code at petsc4py/PETSc/IS.pyx:509 Return type bool isSorted() Return whether the indices have been sorted. Collective. SEE ALSO: ISSorted Source code at petsc4py/PETSc/IS.pyx:482 Return type bool load(viewer) Load a stored index set. Collective. Parameters viewer (Viewer) -- Binary file viewer, either Viewer.Type.BINARY or Viewer.Type.HDF5. Return type Self SEE ALSO: ISLoad Source code at petsc4py/PETSc/IS.pyx:281 renumber(mult=None) Renumber the non-negative entries of an index set, starting from 0. Collective. Parameters mult (IS | None) -- The multiplicity of each entry in self, default implies a multiplicity of 1. Returns • int -- One past the largest entry of the new index set. • IS -- The renumbered index set. Return type tuple[int, IS] SEE ALSO: ISRenumber Source code at petsc4py/PETSc/IS.pyx:741 setBlockIndices(bsize, indices) Set the indices for an index set with type IS.Type.BLOCK. Collective. Parameters • bsize (int) -- Number of elements in each block. • indices (Sequence[int]) -- List of integers. Return type None SEE ALSO: ISBlockSetIndices Source code at petsc4py/PETSc/IS.pyx:810 setBlockSize(bs) Set the block size of the index set. Logically collective. Parameters bs (int) -- Block size. Return type None SEE ALSO: ISSetBlockSize Source code at petsc4py/PETSc/IS.pyx:451 setIdentity() Mark the index set as being an identity. Logically collective. SEE ALSO: ISSetIdentity Source code at petsc4py/PETSc/IS.pyx:523 Return type Self setIndices(indices) Set the indices of an index set. Logically collective. The index set is assumed to be of type IS.Type.GENERAL. SEE ALSO: ISGeneralSetIndices Source code at petsc4py/PETSc/IS.pyx:772 Parameters indices (Sequence[int]) Return type None setPermutation() Mark the index set as being a permutation. Logically collective. SEE ALSO: ISSetPermutation Source code at petsc4py/PETSc/IS.pyx:496 Return type Self setStride(size, first=0, step=1) Set the stride information for an index set with type IS.Type.STRIDE. Logically collective. Parameters • size (int) -- Length of the locally owned portion of the index set. • first (int) -- First element of the index set. • step (int) -- Difference between adjacent indices. Return type None SEE ALSO: ISStrideSetStride Source code at petsc4py/PETSc/IS.pyx:855 setType(is_type) Set the type of the index set. Collective. Parameters is_type (Type | str) -- The index set type. Return type None SEE ALSO: ISSetType Source code at petsc4py/PETSc/IS.pyx:109 sort() Sort the indices of an index set. Collective. SEE ALSO: ISSort Source code at petsc4py/PETSc/IS.pyx:469 Return type Self sum(iset) Return the union of two (sorted) index sets. Collective. Parameters iset (IS) -- The index set to compute the union with. Return type IS SEE ALSO: ISSum Source code at petsc4py/PETSc/IS.pyx:569 toGeneral() Convert the index set type to IS.Type.GENERAL. Collective. SEE ALSO: ISToGeneral, ISType Source code at petsc4py/PETSc/IS.pyx:320 Return type Self union(iset) Return the union of two (possibly unsorted) index sets. Collective. This function will call either ISSum or ISExpand depending on whether or not the input sets are already sorted. Sequential only (as ISSum is sequential only). Parameters iset (IS) -- Index set to compute the union with. Returns The new, combined, index set. Return type IS SEE ALSO: IS.expand, IS.sum Source code at petsc4py/PETSc/IS.pyx:615 view(viewer=None) Display the index set. Collective. Parameters viewer (Viewer | None) -- Viewer used to display the IS. Return type None SEE ALSO: ISView Source code at petsc4py/PETSc/IS.pyx:56 Attributes Documentation array View of the index set as an array of integers. Not collective. Source code at petsc4py/PETSc/IS.pyx:1032 block_size The number of elements in a block. Not collective. SEE ALSO: IS.getBlockSize Source code at petsc4py/PETSc/IS.pyx:1006 identity True if index set is an identity, False otherwise. Collective. SEE ALSO: IS.isIdentity Source code at petsc4py/PETSc/IS.pyx:939 indices The indices of the index set. Not collective. SEE ALSO: IS.getIndices Source code at petsc4py/PETSc/IS.pyx:1019 local_size The local size of the index set. Not collective. SEE ALSO: IS.getLocalSize Source code at petsc4py/PETSc/IS.pyx:993 permutation True if index set is a permutation, False otherwise. Logically collective. SEE ALSO: IS.isPermutation Source code at petsc4py/PETSc/IS.pyx:926 size The global size of the index set. Not collective. SEE ALSO: IS.getSize Source code at petsc4py/PETSc/IS.pyx:980 sizes The local and global sizes of the index set. Not collective. SEE ALSO: IS.getSizes Source code at petsc4py/PETSc/IS.pyx:967 sorted True if index set is sorted, False otherwise. Collective. SEE ALSO: IS.isSorted Source code at petsc4py/PETSc/IS.pyx:952 petsc4py.PETSc.InsertMode class petsc4py.PETSc.InsertMode Bases: object Insertion mode. Most commonly used insertion modes are: INSERT Insert provided value/s discarding previous value/s. ADD Add provided value/s to current value/s. MAX Insert the maximum of provided value/s and current value/s. SEE ALSO: InsertMode Attributes Summary ┌───────────────────┬───────────────────────────────────────┐ │ ADD │ Constant ADD of type int │ ├───────────────────┼───────────────────────────────────────┤ │ ADD_ALL │ Constant ADD_ALL of type int │ ├───────────────────┼───────────────────────────────────────┤ │ ADD_ALL_VALUES │ Constant ADD_ALL_VALUES of type int │ ├───────────────────┼───────────────────────────────────────┤ │ ADD_BC │ Constant ADD_BC of type int │ ├───────────────────┼───────────────────────────────────────┤ │ ADD_BC_VALUES │ Constant ADD_BC_VALUES of type int │ ├───────────────────┼───────────────────────────────────────┤ │ ADD_VALUES │ Constant ADD_VALUES of type int │ ├───────────────────┼───────────────────────────────────────┤ │ INSERT │ Constant INSERT of type int │ ├───────────────────┼───────────────────────────────────────┤ │ INSERT_ALL │ Constant INSERT_ALL of type int │ ├───────────────────┼───────────────────────────────────────┤ │ INSERT_ALL_VALUES │ Constant INSERT_ALL_VALUES of type ‐ │ │ │ int │ ├───────────────────┼───────────────────────────────────────┤ │ INSERT_BC │ Constant INSERT_BC of type int │ ├───────────────────┼───────────────────────────────────────┤ │ INSERT_BC_VALUES │ Constant INSERT_BC_VALUES of type int │ ├───────────────────┼───────────────────────────────────────┤ │ INSERT_VALUES │ Constant INSERT_VALUES of type int │ ├───────────────────┼───────────────────────────────────────┤ │ MAX │ Constant MAX of type int │ ├───────────────────┼───────────────────────────────────────┤ │ MAX_VALUES │ Constant MAX_VALUES of type int │ ├───────────────────┼───────────────────────────────────────┤ │ NOT_SET_VALUES │ Constant NOT_SET_VALUES of type int │ └───────────────────┴───────────────────────────────────────┘ Attributes Documentation ADD: int = ADD Constant ADD of type int ADD_ALL: int = ADD_ALL Constant ADD_ALL of type int ADD_ALL_VALUES: int = ADD_ALL_VALUES Constant ADD_ALL_VALUES of type int ADD_BC: int = ADD_BC Constant ADD_BC of type int ADD_BC_VALUES: int = ADD_BC_VALUES Constant ADD_BC_VALUES of type int ADD_VALUES: int = ADD_VALUES Constant ADD_VALUES of type int INSERT: int = INSERT Constant INSERT of type int INSERT_ALL: int = INSERT_ALL Constant INSERT_ALL of type int INSERT_ALL_VALUES: int = INSERT_ALL_VALUES Constant INSERT_ALL_VALUES of type int INSERT_BC: int = INSERT_BC Constant INSERT_BC of type int INSERT_BC_VALUES: int = INSERT_BC_VALUES Constant INSERT_BC_VALUES of type int INSERT_VALUES: int = INSERT_VALUES Constant INSERT_VALUES of type int MAX: int = MAX Constant MAX of type int MAX_VALUES: int = MAX_VALUES Constant MAX_VALUES of type int NOT_SET_VALUES: int = NOT_SET_VALUES Constant NOT_SET_VALUES of type int petsc4py.PETSc.KSP class petsc4py.PETSc.KSP Bases: Object Abstract PETSc object that manages all Krylov methods. This is the object that manages the linear solves in PETSc (even those such as direct solvers that do no use Krylov accelerators). Notes When a direct solver is used, but no Krylov solver is used, the KSP object is still used but with a Type.PREONLY, meaning that only application of the preconditioner is used as the linear solver. SEE ALSO: create, setType, SNES, TS, PC, Type.CG, Type.GMRES, KSP Enumerations ┌─────────────────┬───────────────────────────────┐ │ ConvergedReason │ KSP Converged Reason. │ ├─────────────────┼───────────────────────────────┤ │ HPDDMType │ The HPDDM Krylov solver type. │ ├─────────────────┼───────────────────────────────┤ │ NormType │ KSP norm type. │ ├─────────────────┼───────────────────────────────┤ │ Type │ KSP Type. │ └─────────────────┴───────────────────────────────┘ petsc4py.PETSc.KSP.ConvergedReason class petsc4py.PETSc.KSP.ConvergedReason Bases: object KSP Converged Reason. CONVERGED_ITERATING Still iterating ITERATING Still iterating CONVERGED_RTOL_NORMAL Undocumented. CONVERGED_ATOL_NORMAL Undocumented. CONVERGED_RTOL ∥r∥ <= rtolnorm(b) or rtolnorm(b - Ax₀) CONVERGED_ATOL ∥r∥ <= atol CONVERGED_ITS Used by the Type.PREONLY solver after the single iteration of the preconditioner is applied. Also used when the KSPConvergedSkip convergence test routine is set in KSP. CONVERGED_NEG_CURVE Undocumented. CONVERGED_STEP_LENGTH Undocumented. CONVERGED_HAPPY_BREAKDOWN Undocumented. DIVERGED_NULL Undocumented. DIVERGED_MAX_IT Ran out of iterations before any convergence criteria was reached. DIVERGED_DTOL norm(r) >= dtol*norm(b) DIVERGED_BREAKDOWN A breakdown in the Krylov method was detected so the method could not continue to enlarge the Krylov space. Could be due to a singular matrix or preconditioner. In KSPHPDDM, this is also returned when some search directions within a block are colinear. DIVERGED_BREAKDOWN_BICG A breakdown in the KSPBICG method was detected so the method could not continue to enlarge the Krylov space. DIVERGED_NONSYMMETRIC It appears the operator or preconditioner is not symmetric and this Krylov method (‐ Type.CG, Type.MINRES, Type.CR) requires symmetry. DIVERGED_INDEFINITE_PC It appears the preconditioner is indefinite (has both positive and negative eigenvalues) and this Krylov method (Type.CG) requires it to be positive definite. DIVERGED_NANORINF Undocumented. DIVERGED_INDEFINITE_MAT Undocumented. DIVERGED_PCSETUP_FAILED It was not possible to build or use the requested preconditioner. This is usually due to a zero pivot in a factorization. It can also result from a failure in a subpreconditioner inside a nested preconditioner such as PC.Type.FIELDSPLIT. SEE ALSO: None Attributes Summary ┌───────────────────────────┬───────────────────────────────────────┐ │ CONVERGED_ATOL │ Constant CONVERGED_ATOL of type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ CONVERGED_ATOL_NORMAL │ Constant CONVERGED_ATOL_NORMAL of │ │ │ type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ CONVERGED_HAPPY_BREAKDOWN │ Constant CONVERGED_HAPPY_BREAKDOWN of │ │ │ type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ CONVERGED_ITERATING │ Constant CONVERGED_ITERATING of type │ │ │ int │ ├───────────────────────────┼───────────────────────────────────────┤ │ CONVERGED_ITS │ Constant CONVERGED_ITS of type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ CONVERGED_NEG_CURVE │ Constant CONVERGED_NEG_CURVE of type │ │ │ int │ ├───────────────────────────┼───────────────────────────────────────┤ │ CONVERGED_RTOL │ Constant CONVERGED_RTOL of type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ CONVERGED_RTOL_NORMAL │ Constant CONVERGED_RTOL_NORMAL of │ │ │ type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ CONVERGED_STEP_LENGTH │ Constant CONVERGED_STEP_LENGTH of │ │ │ type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ DIVERGED_BREAKDOWN │ Constant DIVERGED_BREAKDOWN of type ‐ │ │ │ int │ ├───────────────────────────┼───────────────────────────────────────┤ │ DIVERGED_BREAKDOWN_BICG │ Constant DIVERGED_BREAKDOWN_BICG of │ │ │ type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ DIVERGED_DTOL │ Constant DIVERGED_DTOL of type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ DIVERGED_INDEFINITE_MAT │ Constant DIVERGED_INDEFINITE_MAT of │ │ │ type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ DIVERGED_INDEFINITE_PC │ Constant DIVERGED_INDEFINITE_PC of │ │ │ type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ DIVERGED_MAX_IT │ Constant DIVERGED_MAX_IT of type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ DIVERGED_NANORINF │ Constant DIVERGED_NANORINF of type ‐ │ │ │ int │ ├───────────────────────────┼───────────────────────────────────────┤ │ DIVERGED_NONSYMMETRIC │ Constant DIVERGED_NONSYMMETRIC of │ │ │ type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ DIVERGED_NULL │ Constant DIVERGED_NULL of type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ DIVERGED_PCSETUP_FAILED │ Constant DIVERGED_PCSETUP_FAILED of │ │ │ type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ ITERATING │ Constant ITERATING of type int │ └───────────────────────────┴───────────────────────────────────────┘ Attributes Documentation CONVERGED_ATOL: int = CONVERGED_ATOL Constant CONVERGED_ATOL of type int CONVERGED_ATOL_NORMAL: int = CONVERGED_ATOL_NORMAL Constant CONVERGED_ATOL_NORMAL of type int CONVERGED_HAPPY_BREAKDOWN: int = CONVERGED_HAPPY_BREAKDOWN Constant CONVERGED_HAPPY_BREAKDOWN of type int CONVERGED_ITERATING: int = CONVERGED_ITERATING Constant CONVERGED_ITERATING of type int CONVERGED_ITS: int = CONVERGED_ITS Constant CONVERGED_ITS of type int CONVERGED_NEG_CURVE: int = CONVERGED_NEG_CURVE Constant CONVERGED_NEG_CURVE of type int CONVERGED_RTOL: int = CONVERGED_RTOL Constant CONVERGED_RTOL of type int CONVERGED_RTOL_NORMAL: int = CONVERGED_RTOL_NORMAL Constant CONVERGED_RTOL_NORMAL of type int CONVERGED_STEP_LENGTH: int = CONVERGED_STEP_LENGTH Constant CONVERGED_STEP_LENGTH of type int DIVERGED_BREAKDOWN: int = DIVERGED_BREAKDOWN Constant DIVERGED_BREAKDOWN of type int DIVERGED_BREAKDOWN_BICG: int = DIVERGED_BREAKDOWN_BICG Constant DIVERGED_BREAKDOWN_BICG of type int DIVERGED_DTOL: int = DIVERGED_DTOL Constant DIVERGED_DTOL of type int DIVERGED_INDEFINITE_MAT: int = DIVERGED_INDEFINITE_MAT Constant DIVERGED_INDEFINITE_MAT of type int DIVERGED_INDEFINITE_PC: int = DIVERGED_INDEFINITE_PC Constant DIVERGED_INDEFINITE_PC of type int DIVERGED_MAX_IT: int = DIVERGED_MAX_IT Constant DIVERGED_MAX_IT of type int DIVERGED_NANORINF: int = DIVERGED_NANORINF Constant DIVERGED_NANORINF of type int DIVERGED_NONSYMMETRIC: int = DIVERGED_NONSYMMETRIC Constant DIVERGED_NONSYMMETRIC of type int DIVERGED_NULL: int = DIVERGED_NULL Constant DIVERGED_NULL of type int DIVERGED_PCSETUP_FAILED: int = DIVERGED_PCSETUP_FAILED Constant DIVERGED_PCSETUP_FAILED of type int ITERATING: int = ITERATING Constant ITERATING of type int petsc4py.PETSc.KSP.HPDDMType class petsc4py.PETSc.KSP.HPDDMType Bases: object The HPDDM Krylov solver type. Attributes Summary ┌─────────┬──────────────────────────────┐ │ BCG │ Constant BCG of type int │ ├─────────┼──────────────────────────────┤ │ BFBCG │ Constant BFBCG of type int │ ├─────────┼──────────────────────────────┤ │ BGCRODR │ Constant BGCRODR of type int │ ├─────────┼──────────────────────────────┤ │ BGMRES │ Constant BGMRES of type int │ ├─────────┼──────────────────────────────┤ │ CG │ Constant CG of type int │ ├─────────┼──────────────────────────────┤ │ GCRODR │ Constant GCRODR of type int │ ├─────────┼──────────────────────────────┤ │ GMRES │ Constant GMRES of type int │ ├─────────┼──────────────────────────────┤ │ PREONLY │ Constant PREONLY of type int │ └─────────┴──────────────────────────────┘ Attributes Documentation BCG: int = BCG Constant BCG of type int BFBCG: int = BFBCG Constant BFBCG of type int BGCRODR: int = BGCRODR Constant BGCRODR of type int BGMRES: int = BGMRES Constant BGMRES of type int CG: int = CG Constant CG of type int GCRODR: int = GCRODR Constant GCRODR of type int GMRES: int = GMRES Constant GMRES of type int PREONLY: int = PREONLY Constant PREONLY of type int petsc4py.PETSc.KSP.NormType class petsc4py.PETSc.KSP.NormType Bases: object KSP norm type. The available norm types are: NONE Skips computing the norm, this should generally only be used if you are using the Krylov method as a smoother with a fixed small number of iterations. Implicitly sets KSPConvergedSkip as KSP convergence test. Note that certain algorithms such as Type.GMRES ALWAYS require the norm calculation, for these methods the norms are still computed, they are just not used in the convergence test. PRECONDITIONED The default for left preconditioned solves, uses the l₂ norm of the preconditioned residual P⁻¹(b - Ax). UNPRECONDITIONED Uses the l₂ norm of the true b - Ax residual. NATURAL Supported by Type.CG, Type.CR, Type.CGNE, Type.CGS. Attributes Summary ┌───────────────────────┬───────────────────────────────────────┐ │ DEFAULT │ Constant DEFAULT of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ NATURAL │ Constant NATURAL of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ NO │ Constant NO of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ NONE │ Constant NONE of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ NORM_DEFAULT │ Constant NORM_DEFAULT of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ NORM_NATURAL │ Constant NORM_NATURAL of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ NORM_NONE │ Constant NORM_NONE of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ NORM_PRECONDITIONED │ Constant NORM_PRECONDITIONED of type │ │ │ int │ ├───────────────────────┼───────────────────────────────────────┤ │ NORM_UNPRECONDITIONED │ Constant NORM_UNPRECONDITIONED of │ │ │ type int │ ├───────────────────────┼───────────────────────────────────────┤ │ PRECONDITIONED │ Constant PRECONDITIONED of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ UNPRECONDITIONED │ Constant UNPRECONDITIONED of type int │ └───────────────────────┴───────────────────────────────────────┘ Attributes Documentation DEFAULT: int = DEFAULT Constant DEFAULT of type int NATURAL: int = NATURAL Constant NATURAL of type int NO: int = NO Constant NO of type int NONE: int = NONE Constant NONE of type int NORM_DEFAULT: int = NORM_DEFAULT Constant NORM_DEFAULT of type int NORM_NATURAL: int = NORM_NATURAL Constant NORM_NATURAL of type int NORM_NONE: int = NORM_NONE Constant NORM_NONE of type int NORM_PRECONDITIONED: int = NORM_PRECONDITIONED Constant NORM_PRECONDITIONED of type int NORM_UNPRECONDITIONED: int = NORM_UNPRECONDITIONED Constant NORM_UNPRECONDITIONED of type int PRECONDITIONED: int = PRECONDITIONED Constant PRECONDITIONED of type int UNPRECONDITIONED: int = UNPRECONDITIONED Constant UNPRECONDITIONED of type int petsc4py.PETSc.KSP.Type class petsc4py.PETSc.KSP.Type Bases: object KSP Type. The available types are: RICHARDSON The preconditioned Richardson iterative method KSPRICHARDSON. CHEBYSHEV The preconditioned Chebyshev iterative method. KSPCHEBYSHEV. CG The Preconditioned Conjugate Gradient (PCG) iterative method. KSPCG GROPPCG A pipelined conjugate gradient method (Gropp). KSPGROPPCG PIPECG A pipelined conjugate gradient method. KSPPIPECG PIPECGRR Pipelined Conjugate Gradients with Residual Replacement. KSPPIPECGRR PIPELCG Deep pipelined (length l) Conjugate Gradient method. KSPPIPELCG PIPEPRCG Pipelined predict-and-recompute conjugate gradient method. KSPPIPEPRCG PIPECG2 Pipelined conjugate gradient method with a single non-blocking reduction per two iterations. KSPPIPECG2 CGNE Applies the preconditioned conjugate gradient method to the normal equations without explicitly forming AᵀA. KSPCGNE NASH Conjugate gradient method subject to a constraint on the solution norm. KSPNASH STCG Conjugate gradient method subject to a constraint on the solution norm. KSPSTCG GLTR Conjugate gradient method subject to a constraint on the solution norm. KSPGLTR FCG Flexible Conjugate Gradient method (FCG). Unlike most KSP methods this allows the preconditioner to be nonlinear. KSPFCG PIPEFCG Pipelined, Flexible Conjugate Gradient method. KSPPIPEFCG GMRES Generalized Minimal Residual method with restart. KSPGMRES PIPEFGMRES Pipelined (1-stage) Flexible Generalized Minimal Residual method. KSPPIPEFGMRES FGMRES Implements the Flexible Generalized Minimal Residual method. KSPFGMRES LGMRES Augments the standard Generalized Minimal Residual method approximation space with approximations to the error from previous restart cycles. KSPLGMRES DGMRES Deflated Generalized Minimal Residual method. In this implementation, the adaptive strategy allows to switch to the deflated GMRES when the stagnation occurs. ‐ KSPDGMRES PGMRES Pipelined Generalized Minimal Residual method. KSPPGMRES TCQMR A variant of Quasi Minimal Residual (QMR). KSPTCQMR BCGS Stabilized version of Biconjugate Gradient (BiCGStab) method. KSPBCGS IBCGS Improved Stabilized version of BiConjugate Gradient (IBiCGStab) method in an alternative form to have only a single global reduction operation instead of the usual 3 (or 4). KSPIBCGS QMRCGS Quasi- Minimal Residual variant of the Bi-CGStab algorithm (QMRCGStab) method. ‐ KSPQMRCGS FBCGS Flexible Stabilized version of BiConjugate Gradient (BiCGStab) method. KSPFBCGS FBCGSR A mathematically equivalent variant of flexible stabilized BiConjugate Gradient (BiCGStab). KSPFBCGSR BCGSL Variant of the L-step stabilized BiConjugate Gradient (BiCGStab(L)) algorithm. Uses "L-step" Minimal Residual (MR) polynomials. The variation concerns cases when some parameters are negative due to round-off. KSPBCGSL PIPEBCGS Pipelined stabilized BiConjugate Gradient (BiCGStab) method. KSPPIPEBCGS CGS Conjugate Gradient Squared method. KSPCGS TFQMR A Transpose Tree Quasi- Minimal Residual (QMR). KSPCR CR (Preconditioned) Conjugate Residuals (CR) method. KSPCR PIPECR Pipelined Conjugate Residual (CR) method. KSPPIPECR LSQR Least squares solver. KSPLSQR PREONLY Applies ONLY the preconditioner exactly once. This may be used in inner iterations, where it is desired to allow multiple iterations as well as the "0-iteration" case. It is commonly used with the direct solver preconditioners like PCLU and PCCHOLESKY. There is an alias of KSPNONE. KSPPREONLY NONE No solver KSPNONE QCG Conjugate Gradient (CG) method subject to a constraint on the solution norm. KSPQCG BICG Implements the Biconjugate gradient method (BiCG). Similar to running the conjugate gradient on the normal equations. KSPBICG MINRES Minimum Residual (MINRES) method. KSPMINRES SYMMLQ Symmetric LQ method (SymmLQ). Uses LQ decomposition (lower trapezoidal). KSPSYMMLQ LCD Left Conjugate Direction (LCD) method. KSPLCD PYTHON Python shell solver. Call Python function to implement solver. KSPPYTHON GCR Preconditioned flexible Generalized Conjugate Residual (GCR) method. KSPGCR PIPEGCR Pipelined Generalized Conjugate Residual method. KSPPIPEGCR TSIRM Two-Stage Iteration with least-squares Residual Minimization method. KSPTSIRM CGLS Conjugate Gradient method for Least-Squares problems. Supports non-square (rectangular) matrices. KSPCGLS FETIDP Dual-Primal (DP) Finite Element Tearing and Interconnect (FETI) method. KSPFETIDP HPDDM Interface with the HPDDM library. This KSP may be used to further select methods that are currently not implemented natively in PETSc, e.g., GCRODR, a recycled Krylov method which is similar to KSPLGMRES. KSPHPDDM SEE ALSO: Working with PETSc options, KSPType Attributes Summary ┌────────────┬───────────────────────────────┐ │ BCGS │ Object BCGS of type str │ ├────────────┼───────────────────────────────┤ │ BCGSL │ Object BCGSL of type str │ ├────────────┼───────────────────────────────┤ │ BICG │ Object BICG of type str │ ├────────────┼───────────────────────────────┤ │ CG │ Object CG of type str │ ├────────────┼───────────────────────────────┤ │ CGLS │ Object CGLS of type str │ ├────────────┼───────────────────────────────┤ │ CGNE │ Object CGNE of type str │ ├────────────┼───────────────────────────────┤ │ CGS │ Object CGS of type str │ ├────────────┼───────────────────────────────┤ │ CHEBYSHEV │ Object CHEBYSHEV of type str │ ├────────────┼───────────────────────────────┤ │ CR │ Object CR of type str │ ├────────────┼───────────────────────────────┤ │ DGMRES │ Object DGMRES of type str │ ├────────────┼───────────────────────────────┤ │ FBCGS │ Object FBCGS of type str │ ├────────────┼───────────────────────────────┤ │ FBCGSR │ Object FBCGSR of type str │ ├────────────┼───────────────────────────────┤ │ FCG │ Object FCG of type str │ ├────────────┼───────────────────────────────┤ │ FETIDP │ Object FETIDP of type str │ ├────────────┼───────────────────────────────┤ │ FGMRES │ Object FGMRES of type str │ ├────────────┼───────────────────────────────┤ │ GCR │ Object GCR of type str │ ├────────────┼───────────────────────────────┤ │ GLTR │ Object GLTR of type str │ ├────────────┼───────────────────────────────┤ │ GMRES │ Object GMRES of type str │ ├────────────┼───────────────────────────────┤ │ GROPPCG │ Object GROPPCG of type str │ ├────────────┼───────────────────────────────┤ │ HPDDM │ Object HPDDM of type str │ ├────────────┼───────────────────────────────┤ │ IBCGS │ Object IBCGS of type str │ ├────────────┼───────────────────────────────┤ │ LCD │ Object LCD of type str │ ├────────────┼───────────────────────────────┤ │ LGMRES │ Object LGMRES of type str │ ├────────────┼───────────────────────────────┤ │ LSQR │ Object LSQR of type str │ ├────────────┼───────────────────────────────┤ │ MINRES │ Object MINRES of type str │ ├────────────┼───────────────────────────────┤ │ NASH │ Object NASH of type str │ ├────────────┼───────────────────────────────┤ │ NONE │ Object NONE of type str │ ├────────────┼───────────────────────────────┤ │ PGMRES │ Object PGMRES of type str │ ├────────────┼───────────────────────────────┤ │ PIPEBCGS │ Object PIPEBCGS of type str │ ├────────────┼───────────────────────────────┤ │ PIPECG │ Object PIPECG of type str │ ├────────────┼───────────────────────────────┤ │ PIPECG2 │ Object PIPECG2 of type str │ ├────────────┼───────────────────────────────┤ │ PIPECGRR │ Object PIPECGRR of type str │ ├────────────┼───────────────────────────────┤ │ PIPECR │ Object PIPECR of type str │ ├────────────┼───────────────────────────────┤ │ PIPEFCG │ Object PIPEFCG of type str │ ├────────────┼───────────────────────────────┤ │ PIPEFGMRES │ Object PIPEFGMRES of type str │ ├────────────┼───────────────────────────────┤ │ PIPEGCR │ Object PIPEGCR of type str │ ├────────────┼───────────────────────────────┤ │ PIPELCG │ Object PIPELCG of type str │ ├────────────┼───────────────────────────────┤ │ PIPEPRCG │ Object PIPEPRCG of type str │ ├────────────┼───────────────────────────────┤ │ PREONLY │ Object PREONLY of type str │ ├────────────┼───────────────────────────────┤ │ PYTHON │ Object PYTHON of type str │ ├────────────┼───────────────────────────────┤ │ QCG │ Object QCG of type str │ ├────────────┼───────────────────────────────┤ │ QMRCGS │ Object QMRCGS of type str │ ├────────────┼───────────────────────────────┤ │ RICHARDSON │ Object RICHARDSON of type str │ ├────────────┼───────────────────────────────┤ │ STCG │ Object STCG of type str │ ├────────────┼───────────────────────────────┤ │ SYMMLQ │ Object SYMMLQ of type str │ ├────────────┼───────────────────────────────┤ │ TCQMR │ Object TCQMR of type str │ ├────────────┼───────────────────────────────┤ │ TFQMR │ Object TFQMR of type str │ ├────────────┼───────────────────────────────┤ │ TSIRM │ Object TSIRM of type str │ └────────────┴───────────────────────────────┘ Attributes Documentation BCGS: str = BCGS Object BCGS of type str BCGSL: str = BCGSL Object BCGSL of type str BICG: str = BICG Object BICG of type str CG: str = CG Object CG of type str CGLS: str = CGLS Object CGLS of type str CGNE: str = CGNE Object CGNE of type str CGS: str = CGS Object CGS of type str CHEBYSHEV: str = CHEBYSHEV Object CHEBYSHEV of type str CR: str = CR Object CR of type str DGMRES: str = DGMRES Object DGMRES of type str FBCGS: str = FBCGS Object FBCGS of type str FBCGSR: str = FBCGSR Object FBCGSR of type str FCG: str = FCG Object FCG of type str FETIDP: str = FETIDP Object FETIDP of type str FGMRES: str = FGMRES Object FGMRES of type str GCR: str = GCR Object GCR of type str GLTR: str = GLTR Object GLTR of type str GMRES: str = GMRES Object GMRES of type str GROPPCG: str = GROPPCG Object GROPPCG of type str HPDDM: str = HPDDM Object HPDDM of type str IBCGS: str = IBCGS Object IBCGS of type str LCD: str = LCD Object LCD of type str LGMRES: str = LGMRES Object LGMRES of type str LSQR: str = LSQR Object LSQR of type str MINRES: str = MINRES Object MINRES of type str NASH: str = NASH Object NASH of type str NONE: str = NONE Object NONE of type str PGMRES: str = PGMRES Object PGMRES of type str PIPEBCGS: str = PIPEBCGS Object PIPEBCGS of type str PIPECG: str = PIPECG Object PIPECG of type str PIPECG2: str = PIPECG2 Object PIPECG2 of type str PIPECGRR: str = PIPECGRR Object PIPECGRR of type str PIPECR: str = PIPECR Object PIPECR of type str PIPEFCG: str = PIPEFCG Object PIPEFCG of type str PIPEFGMRES: str = PIPEFGMRES Object PIPEFGMRES of type str PIPEGCR: str = PIPEGCR Object PIPEGCR of type str PIPELCG: str = PIPELCG Object PIPELCG of type str PIPEPRCG: str = PIPEPRCG Object PIPEPRCG of type str PREONLY: str = PREONLY Object PREONLY of type str PYTHON: str = PYTHON Object PYTHON of type str QCG: str = QCG Object QCG of type str QMRCGS: str = QMRCGS Object QMRCGS of type str RICHARDSON: str = RICHARDSON Object RICHARDSON of type str STCG: str = STCG Object STCG of type str SYMMLQ: str = SYMMLQ Object SYMMLQ of type str TCQMR: str = TCQMR Object TCQMR of type str TFQMR: str = TFQMR Object TFQMR of type str TSIRM: str = TSIRM Object TSIRM of type str Methods Summary ┌───────────────────────────────────────┬───────────────────────────────────────┐ │ addConvergenceTest(converged[, args, │ Add the function to be used to │ │ kargs, ...]) │ determine convergence. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ appendOptionsPrefix(prefix) │ Append to prefix used for all KSP │ │ │ options in the database. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ buildResidual([r]) │ Return the residual of the linear │ │ │ system. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ buildSolution([x]) │ Return the solution vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ callConvergenceTest(its, rnorm) │ Call the convergence test callback. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ computeEigenvalues() │ Compute the extreme eigenvalues for │ │ │ the preconditioned operator. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ computeExtremeSingularValues() │ Compute the extreme singular values │ │ │ for the preconditioned operator. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ create([comm]) │ Create the KSP context. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createPython([context, comm]) │ Create a linear solver of Python │ │ │ type. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy KSP context. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getAppCtx() │ Return the user-defined context for │ │ │ the linear solver. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getCGObjectiveValue() │ Return the CG objective function │ │ │ value. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getComputeEigenvalues() │ Return flag indicating whether │ │ │ eigenvalues will be calculated. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getComputeSingularValues() │ Return flag indicating whether │ │ │ singular values will be calculated. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getConvergedReason() │ Use reason property. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getConvergenceHistory() │ Return array containing the residual │ │ │ history. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getConvergenceTest() │ Return the function to be used to │ │ │ determine convergence. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getDM() │ Return the DM that may be used by │ │ │ some preconditioners. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getErrorIfNotConverged() │ Return the flag indicating the solver │ │ │ will error if divergent. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getHPDDMType() │ Return the Krylov solver type. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getInitialGuessKnoll() │ Determine whether the KSP solver is │ │ │ using the Knoll trick. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getInitialGuessNonzero() │ Determine whether the KSP solver uses │ │ │ a zero initial guess. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getIterationNumber() │ Use its property. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getMonitor() │ Return function used to monitor the │ │ │ residual. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getNormType() │ Return the norm that is used for │ │ │ convergence testing. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getOperators() │ Return the matrix associated with the │ │ │ linear system. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getOptionsPrefix() │ Return the prefix used for all KSP │ │ │ options in the database. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getPC() │ Return the preconditioner. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getPCSide() │ Return the preconditioning side. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getPythonContext() │ Return the instance of the class │ │ │ implementing Python methods. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getPythonType() │ Return the fully qualified Python │ │ │ name of the class used by the solver. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getResidualNorm() │ Use norm property. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getRhs() │ Return the right-hand side vector for │ │ │ the linear system. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getSolution() │ Return the solution for the linear │ │ │ system to be solved. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getTolerances() │ Return various tolerances used by the │ │ │ KSP convergence tests. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getType() │ Return the KSP type as a string from │ │ │ the KSP object. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getWorkVecs([right, left]) │ Create working vectors. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ logConvergenceHistory(rnorm) │ Add residual to convergence history. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ matSolve(B, X) │ Solve a linear system with multiple │ │ │ right-hand sides. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ matSolveTranspose(B, X) │ Solve the transpose of a linear │ │ │ system with multiple RHS. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ monitor(its, rnorm) │ Run the user provided monitor │ │ │ routines, if they exist. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ monitorCancel() │ Clear all monitors for a KSP object. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ reset() │ Resets a KSP context. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setAppCtx(appctx) │ Set the optional user-defined context │ │ │ for the linear solver. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setComputeEigenvalues(flag) │ Set a flag to compute eigenvalues. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setComputeOperators(operators[, args, │ Set routine to compute the linear │ │ kargs]) │ operators. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setComputeRHS(rhs[, args, kargs]) │ Set routine to compute the right-hand │ │ │ side of the linear system. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setComputeSingularValues(flag) │ Set flag to calculate singular │ │ │ values. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setConvergedReason(reason) │ Use reason property. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setConvergenceHistory([length, │ Set the array used to hold the │ │ reset]) │ residual history. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setConvergenceTest(converged[, args, │ Set the function to be used to │ │ kargs]) │ determine convergence. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setDM(dm) │ Set the DM that may be used by some │ │ │ preconditioners. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setDMActive(flag) │ DM should be used to generate system │ │ │ matrix & RHS vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setErrorIfNotConverged(flag) │ Cause solve to generate an error if │ │ │ not converged. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFromOptions() │ Set KSP options from the options │ │ │ database. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setGMRESRestart(restart) │ Set number of iterations at which KSP │ │ │ restarts. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setHPDDMType(hpddm_type) │ Set the Krylov solver type. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setInitialGuessKnoll(flag) │ Tell solver to use PC.apply to │ │ │ compute the initial guess. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setInitialGuessNonzero(flag) │ Tell the iterative solver that the │ │ │ initial guess is nonzero. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setIterationNumber(its) │ Use its property. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setMonitor(monitor[, args, kargs]) │ Set additional function to monitor │ │ │ the residual. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setNormType(normtype) │ Set the norm that is used for │ │ │ convergence testing. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setOperators([A, P]) │ Set matrix associated with the linear │ │ │ system. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setOptionsPrefix(prefix) │ Set the prefix used for all KSP │ │ │ options in the database. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setPC(pc) │ Set the preconditioner. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setPCSide(side) │ Set the preconditioning side. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setPostSolve(postsolve[, args, │ Set the function that is called at │ │ kargs]) │ the end of each KSP.solve. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setPreSolve(presolve[, args, kargs]) │ Set the function that is called at │ │ │ the beginning of each KSP.solve. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setPythonContext([context]) │ Set the instance of the class │ │ │ implementing Python methods. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setPythonType(py_type) │ Set the fully qualified Python name │ │ │ of the class to be used. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setResidualNorm(rnorm) │ Use norm property. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setTolerances([rtol, atol, divtol, │ Set various tolerances used by the │ │ max_it]) │ KSP convergence testers. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setType(ksp_type) │ Build the KSP data structure for a │ │ │ particular Type. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setUp() │ Set up internal data structures for │ │ │ an iterative solver. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setUpOnBlocks() │ Set up the preconditioner for each │ │ │ block in a block method. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setUseFischerGuess(model, size) │ Use the Paul Fischer algorithm to │ │ │ compute initial guesses. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ solve(b, x) │ Solve the linear system. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ solveTranspose(b, x) │ Solve the transpose of a linear │ │ │ system. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ Print the KSP data structure. │ └───────────────────────────────────────┴───────────────────────────────────────┘ Attributes Summary ┌───────────────┬───────────────────────────────────────┐ │ appctx │ The solver application context. │ ├───────────────┼───────────────────────────────────────┤ │ atol │ The absolute tolerance of the solver. │ ├───────────────┼───────────────────────────────────────┤ │ divtol │ The divergence tolerance of the │ │ │ solver. │ ├───────────────┼───────────────────────────────────────┤ │ dm │ The solver DM. │ ├───────────────┼───────────────────────────────────────┤ │ guess_knoll │ Whether solver uses Knoll trick. │ ├───────────────┼───────────────────────────────────────┤ │ guess_nonzero │ Whether guess is non-zero. │ ├───────────────┼───────────────────────────────────────┤ │ history │ The convergence history of the │ │ │ solver. │ ├───────────────┼───────────────────────────────────────┤ │ is_converged │ Boolean indicating if the solver has │ │ │ converged. │ ├───────────────┼───────────────────────────────────────┤ │ is_diverged │ Boolean indicating if the solver has │ │ │ failed. │ ├───────────────┼───────────────────────────────────────┤ │ is_iterating │ Boolean indicating if the solver has │ │ │ not converged yet. │ ├───────────────┼───────────────────────────────────────┤ │ its │ The current number of iterations the │ │ │ solver has taken. │ ├───────────────┼───────────────────────────────────────┤ │ mat_op │ The system matrix operator. │ ├───────────────┼───────────────────────────────────────┤ │ mat_pc │ The preconditioner operator. │ ├───────────────┼───────────────────────────────────────┤ │ max_it │ The maximum number of iteration the │ │ │ solver may take. │ ├───────────────┼───────────────────────────────────────┤ │ norm │ The norm of the residual at the │ │ │ current iteration. │ ├───────────────┼───────────────────────────────────────┤ │ norm_type │ The norm used by the solver. │ ├───────────────┼───────────────────────────────────────┤ │ pc │ The PC of the solver. │ ├───────────────┼───────────────────────────────────────┤ │ pc_side │ The side on which preconditioning is │ │ │ performed. │ ├───────────────┼───────────────────────────────────────┤ │ reason │ The converged reason. │ ├───────────────┼───────────────────────────────────────┤ │ rtol │ The relative tolerance of the solver. │ ├───────────────┼───────────────────────────────────────┤ │ vec_rhs │ The right-hand side vector. │ ├───────────────┼───────────────────────────────────────┤ │ vec_sol │ The solution vector. │ └───────────────┴───────────────────────────────────────┘ Methods Documentation addConvergenceTest(converged, args=None, kargs=None, prepend=False) Add the function to be used to determine convergence. Logically collective. Parameters • converged (KSPConvergenceTestFunction) -- Callback which computes the convergence. • args (tuple[Any, ...] | None) -- Positional arguments for callback function. • kargs (dict[str, Any] | None) -- Keyword arguments for callback function. • prepend (bool) -- Whether to prepend this call before the default convergence test or call it after. Return type None Notes Cannot be mixed with a call to setConvergenceTest. It can only be called once. If called multiple times, it will generate an error. SEE ALSO: setTolerances, getConvergenceTest, setConvergenceTest, KSPSetConvergenceTest, ‐ KSPConvergedDefault Source code at petsc4py/PETSc/KSP.pyx:1065 appendOptionsPrefix(prefix) Append to prefix used for all KSP options in the database. Logically collective. Parameters prefix (str | None) -- The options prefix to append. Return type None Notes A hyphen (-) must NOT be given at the beginning of the prefix name. The first character of all runtime options is AUTOMATICALLY the hyphen. SEE ALSO: KSPAppendOptionsPrefix Source code at petsc4py/PETSc/KSP.pyx:575 buildResidual(r=None) Return the residual of the linear system. Collective. Parameters r (Vec | None) -- Optional vector to use for the result. Return type Vec SEE ALSO: buildSolution, KSPBuildResidual Source code at petsc4py/PETSc/KSP.pyx:2063 buildSolution(x=None) Return the solution vector. Collective. Parameters x (Vec | None) -- Optional vector to store the solution. Return type Vec SEE ALSO: buildResidual, KSPBuildSolution Source code at petsc4py/PETSc/KSP.pyx:2041 callConvergenceTest(its, rnorm) Call the convergence test callback. Collective. Parameters • its (int) -- Number of iterations. • rnorm (float) -- The residual norm. Return type None Notes This functionality is implemented in petsc4py. Source code at petsc4py/PETSc/KSP.pyx:1121 computeEigenvalues() Compute the extreme eigenvalues for the preconditioned operator. Not collective. SEE ALSO: KSPComputeEigenvalues Source code at petsc4py/PETSc/KSP.pyx:2085 Return type ArrayComplex computeExtremeSingularValues() Compute the extreme singular values for the preconditioned operator. Collective. Returns • smax (float) -- The maximum singular value. • smin (float) -- The minimum singular value. Return type tuple[float, float] SEE ALSO: KSPComputeExtremeSingularValues Source code at petsc4py/PETSc/KSP.pyx:2108 create(comm=None) Create the KSP context. Collective. SEE ALSO: KSPCreate Source code at petsc4py/PETSc/KSP.pyx:457 Parameters comm (Comm | None) Return type Self createPython(context=None, comm=None) Create a linear solver of Python type. Collective. Parameters • context (Any) -- An instance of the Python class implementing the required methods. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: PETSc Python linear solver type, setType, setPythonContext, Type.PYTHON Source code at petsc4py/PETSc/KSP.pyx:2154 destroy() Destroy KSP context. Collective. SEE ALSO: KSPDestroy Source code at petsc4py/PETSc/KSP.pyx:444 Return type Self getAppCtx() Return the user-defined context for the linear solver. Not collective. SEE ALSO: setAppCtx Source code at petsc4py/PETSc/KSP.pyx:640 Return type Any getCGObjectiveValue() Return the CG objective function value. Not collective. SEE ALSO: KSPCGGetObjFcn Source code at petsc4py/PETSc/KSP.pyx:1882 Return type float getComputeEigenvalues() Return flag indicating whether eigenvalues will be calculated. Not collective. Return the flag indicating that the extreme eigenvalues values will be calculated via a Lanczos or Arnoldi process as the linear system is solved. SEE ALSO: setComputeEigenvalues, KSPSetComputeEigenvalues Source code at petsc4py/PETSc/KSP.pyx:1430 Return type bool getComputeSingularValues() Return flag indicating whether singular values will be calculated. Not collective. Return the flag indicating whether the extreme singular values will be calculated via a Lanczos or Arnoldi process as the linear system is solved. SEE ALSO: setComputeSingularValues, KSPGetComputeSingularValues Source code at petsc4py/PETSc/KSP.pyx:1474 Return type bool getConvergedReason() Use reason property. Source code at petsc4py/PETSc/KSP.pyx:1876 Return type ConvergedReason getConvergenceHistory() Return array containing the residual history. Not collective. SEE ALSO: setConvergenceHistory, KSPGetResidualHistory Source code at petsc4py/PETSc/KSP.pyx:1188 Return type ArrayReal getConvergenceTest() Return the function to be used to determine convergence. Logically collective. SEE ALSO: setTolerances, setConvergenceTest, KSPGetConvergenceTest, KSPConvergedDefault Source code at petsc4py/PETSc/KSP.pyx:1108 Return type KSPConvergenceTestFunction getDM() Return the DM that may be used by some preconditioners. Not collective. SEE ALSO: PETSc.KSP, DM, KSPGetDM Source code at petsc4py/PETSc/KSP.pyx:654 Return type DM getErrorIfNotConverged() Return the flag indicating the solver will error if divergent. Not collective. SEE ALSO: KSPGetErrorIfNotConverged Source code at petsc4py/PETSc/KSP.pyx:1946 Return type bool getHPDDMType() Return the Krylov solver type. Not collective. SEE ALSO: KSPHPDDMGetType Source code at petsc4py/PETSc/KSP.pyx:1914 Return type HPDDMType getInitialGuessKnoll() Determine whether the KSP solver is using the Knoll trick. Not collective. This uses the Knoll trick; using PC.apply to compute the initial guess. SEE ALSO: KSPGetInitialGuessKnoll Source code at petsc4py/PETSc/KSP.pyx:1550 Return type bool getInitialGuessNonzero() Determine whether the KSP solver uses a zero initial guess. Not collective. SEE ALSO: KSPGetInitialGuessNonzero Source code at petsc4py/PETSc/KSP.pyx:1516 Return type bool getIterationNumber() Use its property. Source code at petsc4py/PETSc/KSP.pyx:1854 Return type int getMonitor() Return function used to monitor the residual. Not collective. SEE ALSO: Working with PETSc options, setMonitor, monitor, monitorCancel, KSPGetMonitorContext Source code at petsc4py/PETSc/KSP.pyx:1266 Return type KSPMonitorFunction getNormType() Return the norm that is used for convergence testing. Not collective. SEE ALSO: NormType, setNormType, KSPGetNormType, KSPConvergedSkip Source code at petsc4py/PETSc/KSP.pyx:1390 Return type NormType getOperators() Return the matrix associated with the linear system. Collective. Return the matrix associated with the linear system and a (possibly) different one used to construct the preconditioner. Returns • A (Mat) -- Matrix that defines the linear system. • P (Mat) -- Matrix to be used in constructing the preconditioner, usually the same as A. Return type tuple[Mat, Mat] SEE ALSO: PETSc.KSP, solve, setOperators, KSPGetOperators Source code at petsc4py/PETSc/KSP.pyx:850 getOptionsPrefix() Return the prefix used for all KSP options in the database. Not collective. SEE ALSO: KSPGetOptionsPrefix Source code at petsc4py/PETSc/KSP.pyx:561 Return type str getPC() Return the preconditioner. Not collective. SEE ALSO: PETSc.KSP, setPC, KSPGetPC Source code at petsc4py/PETSc/KSP.pyx:897 Return type PC getPCSide() Return the preconditioning side. Not collective. SEE ALSO: Working with PETSc options, setPCSide, setNormType, getNormType, KSPGetPCSide Source code at petsc4py/PETSc/KSP.pyx:1349 Return type Side getPythonContext() Return the instance of the class implementing Python methods. Not collective. SEE ALSO: PETSc Python linear solver type, setPythonContext Source code at petsc4py/PETSc/KSP.pyx:2195 Return type Any getPythonType() Return the fully qualified Python name of the class used by the solver. Not collective. SEE ALSO: PETSc Python linear solver type, setPythonContext, setPythonType, KSPPythonGetType Source code at petsc4py/PETSc/KSP.pyx:2225 Return type str getResidualNorm() Use norm property. Source code at petsc4py/PETSc/KSP.pyx:1865 Return type float getRhs() Return the right-hand side vector for the linear system. Not collective. SEE ALSO: KSPGetRhs Source code at petsc4py/PETSc/KSP.pyx:1960 Return type Vec getSolution() Return the solution for the linear system to be solved. Not collective. Note that this may not be the solution that is stored during the iterative process. SEE ALSO: KSPGetSolution Source code at petsc4py/PETSc/KSP.pyx:1975 Return type Vec getTolerances() Return various tolerances used by the KSP convergence tests. Not collective. Return the relative, absolute, divergence, and maximum iteration tolerances used by the default KSP convergence tests. Returns • rtol (float) -- The relative convergence tolerance • atol (float) -- The absolute convergence tolerance • dtol (float) -- The divergence tolerance • maxits (int) -- Maximum number of iterations Return type tuple[float, float, float, int] SEE ALSO: setTolerances, KSPGetTolerances Source code at petsc4py/PETSc/KSP.pyx:971 getType() Return the KSP type as a string from the KSP object. Not collective. SEE ALSO: KSPGetType Source code at petsc4py/PETSc/KSP.pyx:509 Return type str getWorkVecs(right=None, left=None) Create working vectors. Collective. Parameters • right (int | None) -- Number of right hand vectors to allocate. • left (int | None) -- Number of left hand vectors to allocate. Returns • R (list of Vec) -- List of correctly allocated right hand vectors. • L (list of Vec) -- List of correctly allocated left hand vectors. Return type tuple[list[Vec], list[Vec]] | list[Vec] | None Source code at petsc4py/PETSc/KSP.pyx:1993 logConvergenceHistory(rnorm) Add residual to convergence history. Logically collective. Parameters rnorm (float) -- Residual norm to be added to convergence history. Return type None Source code at petsc4py/PETSc/KSP.pyx:1203 matSolve(B, X) Solve a linear system with multiple right-hand sides. Collective. These are stored as a Mat.Type.DENSE. Unlike solve, B and X must be different matrices. Parameters • B (Mat) -- Block of right-hand sides. • X (Mat) -- Block of solutions. Return type None SEE ALSO: solve, KSPMatSolve Source code at petsc4py/PETSc/KSP.pyx:1808 matSolveTranspose(B, X) Solve the transpose of a linear system with multiple RHS. Collective. Parameters • B (Mat) -- Block of right-hand sides. • X (Mat) -- Block of solutions. Return type None SEE ALSO: solveTranspose, KSPMatSolve Source code at petsc4py/PETSc/KSP.pyx:1830 monitor(its, rnorm) Run the user provided monitor routines, if they exist. Collective. Notes This routine is called by the KSP implementations. It does not typically need to be called by the user. SEE ALSO: setMonitor, KSPMonitor Source code at petsc4py/PETSc/KSP.pyx:1294 Parameters • its (int) • rnorm (float) Return type None monitorCancel() Clear all monitors for a KSP object. Logically collective. SEE ALSO: Working with PETSc options, getMonitor, setMonitor, monitor, KSPMonitorCancel Source code at petsc4py/PETSc/KSP.pyx:1279 Return type None reset() Resets a KSP context. Collective. Resets a KSP context to the kspsetupcalled = 0 state and removes any allocated Vecs and Mats. SEE ALSO: KSPReset Source code at petsc4py/PETSc/KSP.pyx:1607 Return type None setAppCtx(appctx) Set the optional user-defined context for the linear solver. Not collective. Parameters appctx (Any) -- The user defined context Return type None Notes The user context is a way for users to attach any information to the KSP that they may need later when interacting with the solver. SEE ALSO: getAppCtx Source code at petsc4py/PETSc/KSP.pyx:617 setComputeEigenvalues(flag) Set a flag to compute eigenvalues. Logically collective. Set a flag so that the extreme eigenvalues values will be calculated via a Lanczos or Arnoldi process as the linear system is solved. Parameters flag (bool) -- Boolean whether to compute eigenvalues (or not). Return type None Notes Currently this option is not valid for all iterative methods. SEE ALSO: getComputeEigenvalues, KSPSetComputeEigenvalues Source code at petsc4py/PETSc/KSP.pyx:1404 setComputeOperators(operators, args=None, kargs=None) Set routine to compute the linear operators. Logically collective. Parameters • operators (KSPOperatorsFunction) -- Function which computes the operators. • args (tuple[Any, ...] | None) -- Positional arguments for callback function operators. • kargs (dict[str, Any] | None) -- Keyword arguments for callback function operators. Return type None Notes The user provided function Operators will be called automatically at the very next call to solve. It will NOT be called at future solve calls unless either setComputeOperators or setOperators is called before that solve is called. This allows the same system to be solved several times with different right-hand side functions, but is a confusing API since one might expect it to be called for each solve. To reuse the same preconditioner for the next solve and not compute a new one based on the most recently computed matrix call KSPSetReusePreconditioner. SEE ALSO: PETSc.KSP, solve, setOperators, KSPSetComputeOperators, KSPSetReusePreconditioner Source code at petsc4py/PETSc/KSP.pyx:764 setComputeRHS(rhs, args=None, kargs=None) Set routine to compute the right-hand side of the linear system. Logically collective. Parameters • rhs (KSPRHSFunction) -- Function which computes the right-hand side. • args (tuple[Any, ...] | None) -- Positional arguments for callback function rhs. • kargs (dict[str, Any] | None) -- Keyword arguments for callback function rhs. Return type None Notes The routine you provide will be called each time you call solve to prepare the new right-hand side for that solve. SEE ALSO: PETSc.KSP, solve, KSPSetComputeRHS Source code at petsc4py/PETSc/KSP.pyx:730 setComputeSingularValues(flag) Set flag to calculate singular values. Logically collective. Set a flag so that the extreme singular values will be calculated via a Lanczos or Arnoldi process as the linear system is solved. Parameters flag (bool) -- Boolean whether to compute singular values (or not). Return type None Notes Currently this option is not valid for all iterative methods. SEE ALSO: getComputeSingularValues, KSPSetComputeSingularValues Source code at petsc4py/PETSc/KSP.pyx:1448 setConvergedReason(reason) Use reason property. Source code at petsc4py/PETSc/KSP.pyx:1871 Parameters reason (ConvergedReason) Return type None setConvergenceHistory(length=None, reset=False) Set the array used to hold the residual history. Not collective. If set, this array will contain the residual norms computed at each iteration of the solver. Parameters • length (int | None) -- Length of array to store history in. • reset (bool) -- True indicates the history counter is reset to zero for each new linear solve. Return type None Notes If length is not provided or None then a default array of length 10000 is allocated. If the array is not long enough then once the iterations is longer than the array length solve stops recording the history. SEE ALSO: getConvergenceHistory, KSPSetResidualHistory Source code at petsc4py/PETSc/KSP.pyx:1144 setConvergenceTest(converged, args=None, kargs=None) Set the function to be used to determine convergence. Logically collective. Parameters • converged (KSPConvergenceTestFunction) -- Callback which computes the convergence. • args (tuple[Any, ...] | None) -- Positional arguments for callback function. • kargs (dict[str, Any] | None) -- Keyword arguments for callback function. Return type None Notes Must be called after the KSP type has been set so put this after a call to setType, or setFromOptions. The default is a combination of relative and absolute tolerances. The residual value that is tested may be an approximation; routines that need exact values should compute them. SEE ALSO: addConvergenceTest, ConvergedReason, setTolerances, getConvergenceTest, buildResidual, ‐ KSPSetConvergenceTest, KSPConvergedDefault Source code at petsc4py/PETSc/KSP.pyx:1000 setDM(dm) Set the DM that may be used by some preconditioners. Logically collective. Parameters dm (DM) -- The DM object, cannot be None. Return type None Notes If this is used then the KSP will attempt to use the DM to create the matrix and use the routine set with DM.setKSPComputeOperators. Use setDMActive(False) to instead use the matrix you have provided with setOperators. A DM can only be used for solving one problem at a time because information about the problem is stored on the DM, even when not using interfaces like DM.setKSPComputeOperators. Use DM.clone to get a distinct DM when solving different problems using the same function space. SEE ALSO: PETSc.KSP, DM, DM.setKSPComputeOperators, setOperators, DM.clone, KSPSetDM Source code at petsc4py/PETSc/KSP.pyx:671 setDMActive(flag) DM should be used to generate system matrix & RHS vector. Logically collective. Parameters flag (bool) -- Whether to use the DM. Return type None Notes By default setDM sets the DM as active, call setDMActive(False) after setDM(dm) to not have the KSP object use the DM to generate the matrices. SEE ALSO: PETSc.KSP, DM, setDM, KSPSetDMActive Source code at petsc4py/PETSc/KSP.pyx:704 setErrorIfNotConverged(flag) Cause solve to generate an error if not converged. Logically collective. Parameters flag (bool) -- True enables this behavior. Return type None SEE ALSO: KSPSetErrorIfNotConverged Source code at petsc4py/PETSc/KSP.pyx:1928 setFromOptions() Set KSP options from the options database. Collective. This routine must be called before setUp if the user is to be allowed to set the Krylov type. SEE ALSO: Working with PETSc options, KSPSetFromOptions Source code at petsc4py/PETSc/KSP.pyx:600 Return type None setGMRESRestart(restart) Set number of iterations at which KSP restarts. Logically collective. Suitable KSPs are: KSPGMRES, KSPFGMRES and KSPLGMRES. Parameters restart (int) -- Integer restart value. Return type None SEE ALSO: KSPGMRESSetRestart Source code at petsc4py/PETSc/KSP.pyx:2132 setHPDDMType(hpddm_type) Set the Krylov solver type. Collective. Parameters hpddm_type (HPDDMType) -- The type of Krylov solver to use. Return type None SEE ALSO: KSPHPDDMSetType Source code at petsc4py/PETSc/KSP.pyx:1896 setInitialGuessKnoll(flag) Tell solver to use PC.apply to compute the initial guess. Logically collective. This is the Knoll trick. Parameters flag (bool) -- True uses Knoll trick. Return type None SEE ALSO: KSPSetInitialGuessKnoll Source code at petsc4py/PETSc/KSP.pyx:1530 setInitialGuessNonzero(flag) Tell the iterative solver that the initial guess is nonzero. Logically collective. Otherwise KSP assumes the initial guess is to be zero (and thus zeros it out before solving). Parameters flag (bool) -- True indicates the guess is non-zero, False indicates the guess is zero. Return type None SEE ALSO: KSPSetInitialGuessNonzero Source code at petsc4py/PETSc/KSP.pyx:1494 setIterationNumber(its) Use its property. Source code at petsc4py/PETSc/KSP.pyx:1849 Parameters its (int) Return type None setMonitor(monitor, args=None, kargs=None) Set additional function to monitor the residual. Logically collective. Set an ADDITIONAL function to be called at every iteration to monitor the residual/error etc. Parameters • monitor (KSPMonitorFunction) -- Callback which monitors the convergence. • args (tuple[Any, ...] | None) -- Positional arguments for callback function. • kargs (dict[str, Any] | None) -- Keyword arguments for callback function. Return type None Notes The default is to do nothing. To print the residual, or preconditioned residual if setNormType(NORM_PRECONDITIONED) was called, use monitor as the monitoring routine, with a PETSc.Viewer.ASCII as the context. Several different monitoring routines may be set by calling setMonitor multiple times; all will be called in the order in which they were set. SEE ALSO: Working with PETSc options, getMonitor, monitor, monitorCancel, KSPMonitorSet Source code at petsc4py/PETSc/KSP.pyx:1219 setNormType(normtype) Set the norm that is used for convergence testing. Logically collective. Parameters normtype (NormType) -- The norm type to use (see NormType). Return type None Notes Not all combinations of preconditioner side (see setPCSide) and norm type are supported by all Krylov methods. If only one is set, PETSc tries to automatically change the other to find a compatible pair. If no such combination is supported, PETSc will generate an error. SEE ALSO: NormType, Working with PETSc options, setUp, solve, destroy, setPCSide, getPCSide, NormType, KSPSetNormType, KSPConvergedSkip, KSPSetCheckNormIteration Source code at petsc4py/PETSc/KSP.pyx:1363 setOperators(A=None, P=None) Set matrix associated with the linear system. Collective. Set the matrix associated with the linear system and a (possibly) different one from which the preconditioner will be built. Parameters • A (Mat | None) -- Matrix that defines the linear system. • P (Mat | None) -- Matrix to be used in constructing the preconditioner, usually the same as A. Return type None Notes If you know the operator A has a null space you can use Mat.setNullSpace and Mat.setTransposeNullSpace to supply the null space to A and the KSP solvers will automatically use that null space as needed during the solution process. All future calls to setOperators must use the same size matrices! Passing None for A or P removes the matrix that is currently used. SEE ALSO: PETSc.KSP, solve, setComputeOperators, KSPSetOperators Source code at petsc4py/PETSc/KSP.pyx:809 setOptionsPrefix(prefix) Set the prefix used for all KSP options in the database. Logically collective. Parameters prefix (str | None) -- The options prefix. Return type None Notes A hyphen (-) must NOT be given at the beginning of the prefix name. The first character of all runtime options is AUTOMATICALLY the hyphen. For example, to distinguish between the runtime options for two different KSP contexts, one could call ` KSPSetOptionsPrefix(ksp1, "sys1_") KSPSetOptionsPrefix(ksp2, "sys2_") ` This would enable use of different options for each system, such as ` -sys1_ksp_type gmres -sys1_ksp_rtol 1.e-3 -sys2_ksp_type bcgs -sys2_ksp_rtol 1.e-4 ` SEE ALSO: Working with PETSc options, KSPSetOptionsPrefix Source code at petsc4py/PETSc/KSP.pyx:523 setPC(pc) Set the preconditioner. Collective. Set the preconditioner to be used to calculate the application of the preconditioner on a vector. Parameters pc (PC) -- The preconditioner object Return type None SEE ALSO: PETSc.KSP, getPC, KSPSetPC Source code at petsc4py/PETSc/KSP.pyx:877 setPCSide(side) Set the preconditioning side. Logically collective. Parameters side (Side) -- The preconditioning side (see PC.Side). Return type None Notes Left preconditioning is used by default for most Krylov methods except Type.FGMRES which only supports right preconditioning. For methods changing the side of the preconditioner changes the norm type that is used, see setNormType. Symmetric preconditioning is currently available only for the Type.QCG method. Note, however, that symmetric preconditioning can be emulated by using either right or left preconditioning and a pre or post processing step. Setting the PC side often affects the default norm type. See setNormType for details. SEE ALSO: PC.Side, Working with PETSc options, getPCSide, setNormType, getNormType, KSPSetPCSide Source code at petsc4py/PETSc/KSP.pyx:1315 setPostSolve(postsolve, args=None, kargs=None) Set the function that is called at the end of each KSP.solve. Logically collective. Parameters • postsolve (KSPPostSolveFunction | None) -- The callback function. • args (tuple[Any, ...] | None) -- Positional arguments for the callback function. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback function. Return type None SEE ALSO: solve, KSPSetPreSolve, KSPSetPostSolve Source code at petsc4py/PETSc/KSP.pyx:1670 setPreSolve(presolve, args=None, kargs=None) Set the function that is called at the beginning of each KSP.solve. Logically collective. Parameters • presolve (KSPPreSolveFunction | None) -- The callback function. • args (tuple[Any, ...] | None) -- Positional arguments for the callback function. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback function. Return type None SEE ALSO: solve, KSPSetPreSolve, KSPSetPostSolve Source code at petsc4py/PETSc/KSP.pyx:1637 setPythonContext(context=None) Set the instance of the class implementing Python methods. Not collective. SEE ALSO: PETSc Python linear solver type, getPythonContext Source code at petsc4py/PETSc/KSP.pyx:2183 Parameters context (Any | None) Return type None setPythonType(py_type) Set the fully qualified Python name of the class to be used. Collective. SEE ALSO: PETSc Python linear solver type, setPythonContext, getPythonType, KSPPythonSetType Source code at petsc4py/PETSc/KSP.pyx:2210 Parameters py_type (str) Return type None setResidualNorm(rnorm) Use norm property. Source code at petsc4py/PETSc/KSP.pyx:1860 Parameters rnorm (float) Return type None setTolerances(rtol=None, atol=None, divtol=None, max_it=None) Set various tolerances used by the KSP convergence testers. Logically collective. Set the relative, absolute, divergence, and maximum iteration tolerances used by the default KSP convergence testers. Parameters • rtol (float | None) -- The relative convergence tolerance, relative decrease in the (possibly preconditioned) residual norm. Or DETERMINE to use the value when the object's type was set. • atol (float | None) -- The absolute convergence tolerance absolute size of the (possibly preconditioned) residual norm. Or DETERMINE to use the value when the object's type was set. • dtol -- The divergence tolerance, amount (possibly preconditioned) residual norm can increase before KSPConvergedDefault concludes that the method is diverging. Or DETERMINE to use the value when the object's type was set. • max_it (int | None) -- Maximum number of iterations to use. Or DETERMINE to use the value when the object's type was set. • divtol (float | None) Return type None Notes Use None to retain the default value of any of the tolerances. SEE ALSO: Working with PETSc options, getTolerances, setConvergenceTest, KSPSetTolerances, ‐ KSPConvergedDefault Source code at petsc4py/PETSc/KSP.pyx:914 setType(ksp_type) Build the KSP data structure for a particular Type. Logically collective. Parameters ksp_type (Type | str) -- KSP Type object Return type None Notes See Type for available methods (for instance, Type.CG or Type.GMRES). Normally, it is best to use the setFromOptions command and then set the KSP type from the options database rather than by using this routine. Using the options database provides the user with maximum flexibility in evaluating the many different Krylov methods. This method is provided for those situations where it is necessary to set the iterative solver independently of the command line or options database. This might be the case, for example, when the choice of iterative solver changes during the execution of the program, and the user's application is taking responsibility for choosing the appropriate method. In other words, this routine is not for beginners. SEE ALSO: KSPSetType Source code at petsc4py/PETSc/KSP.pyx:473 setUp() Set up internal data structures for an iterative solver. Collective. SEE ALSO: KSPSetUp Source code at petsc4py/PETSc/KSP.pyx:1595 Return type None setUpOnBlocks() Set up the preconditioner for each block in a block method. Collective. Methods include: block Jacobi, block Gauss-Seidel, and overlapping Schwarz methods. SEE ALSO: KSPSetUpOnBlocks Source code at petsc4py/PETSc/KSP.pyx:1622 Return type None setUseFischerGuess(model, size) Use the Paul Fischer algorithm to compute initial guesses. Logically collective. Use the Paul Fischer algorithm or its variants to compute initial guesses for a set of solves with related right hand sides. Parameters • model (int) -- Use model 1, model 2, model 3, any other number to turn it off. • size (int) -- Size of subspace used to generate initial guess. Return type None SEE ALSO: KSPSetUseFischerGuess Source code at petsc4py/PETSc/KSP.pyx:1567 solve(b, x) Solve the linear system. Collective. Parameters • b (Vec) -- Right hand side vector. • x (Vec) -- Solution vector. Return type None Notes If one uses setDM then x or b need not be passed. Use getSolution to access the solution in this case. The operator is specified with setOperators. solve will normally return without generating an error regardless of whether the linear system was solved or if constructing the preconditioner failed. Call getConvergedReason to determine if the solver converged or failed and why. The option -ksp_error_if_not_converged or function setErrorIfNotConverged will cause solve to error as soon as an error occurs in the linear solver. In inner solves, DIVERGED_MAX_IT is not treated as an error because when using nested solvers it may be fine that inner solvers in the preconditioner do not converge during the solution process. The number of iterations can be obtained from its. If you provide a matrix that has a Mat.setNullSpace and Mat.setTransposeNullSpace this will use that information to solve singular systems in the least squares sense with a norm minimizing solution. Ax = b where b = bₚ + bₜ where bₜ is not in the range of A (and hence by the fundamental theorem of linear algebra is in the nullspace(Aᵀ), see Mat.setNullSpace. KSP first removes bₜ producing the linear system Ax = bₚ (which has multiple solutions) and solves this to find the ∥x∥ minimizing solution (and hence it finds the solution x orthogonal to the nullspace(A). The algorithm is simply in each iteration of the Krylov method we remove the nullspace(A) from the search direction thus the solution which is a linear combination of the search directions has no component in the nullspace(A). We recommend always using Type.GMRES for such singular systems. If nullspace(A) = nullspace(Aᵀ) (note symmetric matrices always satisfy this property) then both left and right preconditioning will work If nullspace(A) != nullspace(Aᵀ) then left preconditioning will work but right preconditioning may not work (or it may). If using a direct method (e.g., via the KSP solver Type.PREONLY and a preconditioner such as PC.Type.LU or PC.Type.ILU, then its=1. See setTolerances for more details. Understanding Convergence The routines setMonitor and computeEigenvalues provide information on additional options to monitor convergence and print eigenvalue information. SEE ALSO: create, setUp, destroy, setTolerances, is_converged, solveTranspose, its, Mat.setNullSpace, Mat.setTransposeNullSpace, Type, setErrorIfNotConverged, KSPSolve Source code at petsc4py/PETSc/KSP.pyx:1703 solveTranspose(b, x) Solve the transpose of a linear system. Collective. Parameters • b (Vec) -- Right hand side vector. • x (Vec) -- Solution vector. Return type None Notes For complex numbers this solve the non-Hermitian transpose system. SEE ALSO: solve, KSPSolveTranspose Source code at petsc4py/PETSc/KSP.pyx:1784 view(viewer=None) Print the KSP data structure. Collective. Parameters viewer (Viewer | None) -- Viewer used to display the KSP. Return type None SEE ALSO: KSPView Source code at petsc4py/PETSc/KSP.pyx:425 Attributes Documentation appctx The solver application context. Source code at petsc4py/PETSc/KSP.pyx:2242 atol The absolute tolerance of the solver. Source code at petsc4py/PETSc/KSP.pyx:2335 divtol The divergence tolerance of the solver. Source code at petsc4py/PETSc/KSP.pyx:2343 dm The solver DM. Source code at petsc4py/PETSc/KSP.pyx:2252 guess_knoll Whether solver uses Knoll trick. Source code at petsc4py/PETSc/KSP.pyx:2294 guess_nonzero Whether guess is non-zero. Source code at petsc4py/PETSc/KSP.pyx:2286 history The convergence history of the solver. Source code at petsc4py/PETSc/KSP.pyx:2377 is_converged Boolean indicating if the solver has converged. Source code at petsc4py/PETSc/KSP.pyx:2397 is_diverged Boolean indicating if the solver has failed. Source code at petsc4py/PETSc/KSP.pyx:2402 is_iterating Boolean indicating if the solver has not converged yet. Source code at petsc4py/PETSc/KSP.pyx:2392 its The current number of iterations the solver has taken. Source code at petsc4py/PETSc/KSP.pyx:2361 mat_op The system matrix operator. Source code at petsc4py/PETSc/KSP.pyx:2274 mat_pc The preconditioner operator. Source code at petsc4py/PETSc/KSP.pyx:2279 max_it The maximum number of iteration the solver may take. Source code at petsc4py/PETSc/KSP.pyx:2351 norm The norm of the residual at the current iteration. Source code at petsc4py/PETSc/KSP.pyx:2369 norm_type The norm used by the solver. Source code at petsc4py/PETSc/KSP.pyx:2317 pc The PC of the solver. Source code at petsc4py/PETSc/KSP.pyx:2304 pc_side The side on which preconditioning is performed. Source code at petsc4py/PETSc/KSP.pyx:2309 reason The converged reason. Source code at petsc4py/PETSc/KSP.pyx:2384 rtol The relative tolerance of the solver. Source code at petsc4py/PETSc/KSP.pyx:2327 vec_rhs The right-hand side vector. Source code at petsc4py/PETSc/KSP.pyx:2267 vec_sol The solution vector. Source code at petsc4py/PETSc/KSP.pyx:2262 petsc4py.PETSc.LGMap class petsc4py.PETSc.LGMap Bases: Object Mapping from a local to a global ordering. SEE ALSO: ISLocalToGlobalMapping Enumerations ┌───────────┬───────────────────────────────────────┐ │ GLMapMode │ Enum describing mapping behavior when │ │ │ global indices are missing. │ ├───────────┼───────────────────────────────────────┤ │ Type │ Local to global map types. │ └───────────┴───────────────────────────────────────┘ petsc4py.PETSc.LGMap.GLMapMode class petsc4py.PETSc.LGMap.GLMapMode Bases: object Enum describing mapping behavior when global indices are missing. MASK Give missing global indices a local index of -1. DROP Drop missing global indices. SEE ALSO: ISGlobalToLocalMappingMode Attributes Summary ┌──────┬───────────────────────────┐ │ DROP │ Constant DROP of type int │ ├──────┼───────────────────────────┤ │ MASK │ Constant MASK of type int │ └──────┴───────────────────────────┘ Attributes Documentation DROP: int = DROP Constant DROP of type int MASK: int = MASK Constant MASK of type int petsc4py.PETSc.LGMap.Type class petsc4py.PETSc.LGMap.Type Bases: object Local to global map types. Attributes Summary ┌───────┬──────────────────────────┐ │ BASIC │ Object BASIC of type str │ ├───────┼──────────────────────────┤ │ HASH │ Object HASH of type str │ └───────┴──────────────────────────┘ Attributes Documentation BASIC: str = BASIC Object BASIC of type str HASH: str = HASH Object HASH of type str Methods Summary ┌────────────────────────────────────┬───────────────────────────────────────┐ │ apply(indices[, result]) │ Convert a locally numbered list of │ │ │ integers to a global numbering. │ ├────────────────────────────────────┼───────────────────────────────────────┤ │ applyBlock(indices[, result]) │ Convert a local block numbering to a │ │ │ global block numbering. │ ├────────────────────────────────────┼───────────────────────────────────────┤ │ applyBlockInverse(indices[, mode]) │ Compute blocked local numbering from │ │ │ blocked global numbering. │ ├────────────────────────────────────┼───────────────────────────────────────┤ │ applyIS(iset) │ Create an index set with global │ │ │ numbering from a local numbering. │ ├────────────────────────────────────┼───────────────────────────────────────┤ │ applyInverse(indices[, mode]) │ Compute local numbering from global │ │ │ numbering. │ ├────────────────────────────────────┼───────────────────────────────────────┤ │ create(indices[, bsize, comm]) │ Create a local-to-global mapping. │ ├────────────────────────────────────┼───────────────────────────────────────┤ │ createIS(iset) │ Create a local-to-global mapping from │ │ │ an index set. │ ├────────────────────────────────────┼───────────────────────────────────────┤ │ createSF(sf, start) │ Create a local-to-global mapping from │ │ │ a star forest. │ ├────────────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy the local-to-global mapping. │ ├────────────────────────────────────┼───────────────────────────────────────┤ │ getBlockIndices() │ Return the global indices for each │ │ │ local block. │ ├────────────────────────────────────┼───────────────────────────────────────┤ │ getBlockInfo() │ Determine the block indices shared │ │ │ with neighboring processes. │ ├────────────────────────────────────┼───────────────────────────────────────┤ │ getBlockSize() │ Return the block size of the │ │ │ local-to-global mapping. │ ├────────────────────────────────────┼───────────────────────────────────────┤ │ getIndices() │ Return the global indices for each │ │ │ local point in the mapping. │ ├────────────────────────────────────┼───────────────────────────────────────┤ │ getInfo() │ Determine the indices shared with │ │ │ neighboring processes. │ ├────────────────────────────────────┼───────────────────────────────────────┤ │ getSize() │ Return the local size of the │ │ │ local-to-global mapping. │ ├────────────────────────────────────┼───────────────────────────────────────┤ │ setFromOptions() │ Set mapping options from the options │ │ │ database. │ ├────────────────────────────────────┼───────────────────────────────────────┤ │ setType(lgmap_type) │ Set the type of the local-to-global │ │ │ map. │ ├────────────────────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ View the local-to-global mapping. │ └────────────────────────────────────┴───────────────────────────────────────┘ Attributes Summary ┌───────────────┬───────────────────────────────────────┐ │ block_indices │ The global indices for each local │ │ │ block in the mapping. │ ├───────────────┼───────────────────────────────────────┤ │ block_info │ Mapping describing block indices │ │ │ shared with neighboring processes. │ ├───────────────┼───────────────────────────────────────┤ │ block_size │ The block size. │ ├───────────────┼───────────────────────────────────────┤ │ indices │ The global indices for each local │ │ │ point in the mapping. │ ├───────────────┼───────────────────────────────────────┤ │ info │ Mapping describing indices shared │ │ │ with neighboring processes. │ ├───────────────┼───────────────────────────────────────┤ │ size │ The local size. │ └───────────────┴───────────────────────────────────────┘ Methods Documentation apply(indices, result=None) Convert a locally numbered list of integers to a global numbering. Not collective. Parameters • indices (Sequence[int]) -- Input indices in local numbering. • result (ArrayInt | None) -- Array to write the global numbering to. If None then a new array will be allocated. Returns Indices in global numbering. If result is not None then this is returned here. Return type ArrayInt SEE ALSO: LGMap.applyBlock, ISLocalToGlobalMappingApply Source code at petsc4py/PETSc/IS.pyx:1404 applyBlock(indices, result=None) Convert a local block numbering to a global block numbering. Not collective. Parameters • indices (Sequence[int]) -- Input block indices in local numbering. • result (ArrayInt | None) -- Array to write the global numbering to. If None then a new array will be allocated. Returns Block indices in global numbering. If result is not None then this is returned here. Return type ArrayInt SEE ALSO: LGMap.apply, ISLocalToGlobalMappingApplyBlock Source code at petsc4py/PETSc/IS.pyx:1441 applyBlockInverse(indices, mode=None) Compute blocked local numbering from blocked global numbering. Not collective. Parameters • indices (Sequence[int]) -- Indices with a global block numbering. • mode (GLMapMode | str | None) -- Flag indicating what to do with indices that have no local value, defaults to "mask". Returns Indices with a local block numbering. Return type ArrayInt SEE ALSO: ISGlobalToLocalMappingApplyBlock Source code at petsc4py/PETSc/IS.pyx:1542 applyIS(iset) Create an index set with global numbering from a local numbering. Collective. Parameters iset (IS) -- Index set with local numbering. Returns Index set with global numbering. Return type IS SEE ALSO: ISLocalToGlobalMappingApplyIS Source code at petsc4py/PETSc/IS.pyx:1478 applyInverse(indices, mode=None) Compute local numbering from global numbering. Not collective. Parameters • indices (Sequence[int]) -- Indices with a global numbering. • mode (GLMapMode | str | None) -- Flag indicating what to do with indices that have no local value, defaults to "mask". Returns Indices with a local numbering. Return type ArrayInt SEE ALSO: ISGlobalToLocalMappingApply Source code at petsc4py/PETSc/IS.pyx:1503 create(indices, bsize=None, comm=None) Create a local-to-global mapping. Not collective. Parameters • indices (Sequence[int]) -- Global index for each local element. • bsize (int | None) -- Block size, defaults to 1. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: ISLocalToGlobalMappingCreate Source code at petsc4py/PETSc/IS.pyx:1187 createIS(iset) Create a local-to-global mapping from an index set. Not collective. Parameters iset (IS) -- Index set containing the global numbers for each local number. Return type Self SEE ALSO: ISLocalToGlobalMappingCreateIS Source code at petsc4py/PETSc/IS.pyx:1222 createSF(sf, start) Create a local-to-global mapping from a star forest. Collective. Parameters • sf (SF) -- Star forest mapping contiguous local indices to (rank, offset). • start (int) -- First global index on this process. Return type Self SEE ALSO: ISLocalToGlobalMappingCreateSF Source code at petsc4py/PETSc/IS.pyx:1243 destroy() Destroy the local-to-global mapping. Not collective. SEE ALSO: ISLocalToGlobalMappingDestroy Source code at petsc4py/PETSc/IS.pyx:1174 Return type Self getBlockIndices() Return the global indices for each local block. Not collective. SEE ALSO: ISLocalToGlobalMappingGetBlockIndices Source code at petsc4py/PETSc/IS.pyx:1318 Return type ArrayInt getBlockInfo() Determine the block indices shared with neighboring processes. Collective. Returns Mapping from neighboring processor number to an array of shared block indices (in local numbering). Return type dict SEE ALSO: ISLocalToGlobalMappingGetBlockInfo Source code at petsc4py/PETSc/IS.pyx:1373 getBlockSize() Return the block size of the local-to-global mapping. Not collective. SEE ALSO: ISLocalToGlobalMappingGetBlockSize Source code at petsc4py/PETSc/IS.pyx:1280 Return type int getIndices() Return the global indices for each local point in the mapping. Not collective. SEE ALSO: ISLocalToGlobalMappingGetIndices Source code at petsc4py/PETSc/IS.pyx:1294 Return type ArrayInt getInfo() Determine the indices shared with neighboring processes. Collective. Returns Mapping from neighboring processor number to an array of shared indices (in local numbering). Return type dict SEE ALSO: ISLocalToGlobalMappingGetInfo Source code at petsc4py/PETSc/IS.pyx:1344 getSize() Return the local size of the local-to-global mapping. Not collective. SEE ALSO: ISLocalToGlobalMappingGetSize Source code at petsc4py/PETSc/IS.pyx:1266 Return type int setFromOptions() Set mapping options from the options database. Not collective. SEE ALSO: Working with PETSc options, ISLocalToGlobalMappingSetFromOptions Source code at petsc4py/PETSc/IS.pyx:1143 Return type None setType(lgmap_type) Set the type of the local-to-global map. Logically collective. Parameters lgmap_type (Type | str) -- The type of the local-to-global mapping. Return type None Notes Use -islocaltoglobalmapping_type to set the type in the options database. SEE ALSO: Working with PETSc options, ISLocalToGlobalMappingSetType Source code at petsc4py/PETSc/IS.pyx:1119 view(viewer=None) View the local-to-global mapping. Not collective. Parameters viewer (Viewer | None) -- Viewer instance, defaults to an instance of Viewer.Type.ASCII. Return type None SEE ALSO: ISLocalToGlobalMappingView Source code at petsc4py/PETSc/IS.pyx:1155 Attributes Documentation block_indices The global indices for each local block in the mapping. Not collective. SEE ALSO: LGMap.getBlockIndices, ISLocalToGlobalMappingGetBlockIndices Source code at petsc4py/PETSc/IS.pyx:1621 block_info Mapping describing block indices shared with neighboring processes. Collective. SEE ALSO: LGMap.getBlockInfo, ISLocalToGlobalMappingGetBlockInfo Source code at petsc4py/PETSc/IS.pyx:1647 block_size The block size. Not collective. SEE ALSO: LGMap.getBlockSize Source code at petsc4py/PETSc/IS.pyx:1595 indices The global indices for each local point in the mapping. Not collective. SEE ALSO: LGMap.getIndices, ISLocalToGlobalMappingGetIndices Source code at petsc4py/PETSc/IS.pyx:1608 info Mapping describing indices shared with neighboring processes. Collective. SEE ALSO: LGMap.getInfo, ISLocalToGlobalMappingGetInfo Source code at petsc4py/PETSc/IS.pyx:1634 size The local size. Not collective. SEE ALSO: LGMap.getSize Source code at petsc4py/PETSc/IS.pyx:1582 petsc4py.PETSc.Log class petsc4py.PETSc.Log Bases: object Logging support. Methods Summary ┌───────────────────────────────┬───────────────────────────────────────┐ │ Class(name) │ Source code at │ │ │ petsc4py/PETSc/Log.pyx:25 │ ├───────────────────────────────┼───────────────────────────────────────┤ │ Event(name[, klass]) │ Source code at │ │ │ petsc4py/PETSc/Log.pyx:39 │ ├───────────────────────────────┼───────────────────────────────────────┤ │ EventDecorator([name, klass]) │ Decorate a function with a PETSc │ │ │ event. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ Stage(name) │ Source code at │ │ │ petsc4py/PETSc/Log.pyx:11 │ ├───────────────────────────────┼───────────────────────────────────────┤ │ addFlops(flops) │ Add floating point operations to the │ │ │ current event. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ begin() │ Turn on logging of objects and │ │ │ events. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ getCPUTime() │ Return the CPU time. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ getFlops() │ Return the number of flops used on │ │ │ this processor since the program │ │ │ began. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ getTime() │ Return the current time of day in │ │ │ seconds. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ isActive() │ Return whether logging is currently │ │ │ in progress. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ logFlops(flops) │ Add floating point operations to the │ │ │ current event. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ Print the log. │ └───────────────────────────────┴───────────────────────────────────────┘ Methods Documentation classmethod Class(name) Source code at petsc4py/PETSc/Log.pyx:25 Return type LogClass classmethod Event(name, klass=None) Source code at petsc4py/PETSc/Log.pyx:39 Return type LogEvent classmethod EventDecorator(name=None, klass=None) Decorate a function with a PETSc event. Source code at petsc4py/PETSc/Log.pyx:178 Return type Any classmethod Stage(name) Source code at petsc4py/PETSc/Log.pyx:11 Return type LogStage classmethod addFlops(flops) Add floating point operations to the current event. Not collective. Parameters flops (float) -- The number of flops to log. Return type None Notes This method exists for backward compatibility. SEE ALSO: logFlops, PetscLogFlops Source code at petsc4py/PETSc/Log.pyx:108 classmethod begin() Turn on logging of objects and events. Collective. SEE ALSO: PetscLogDefaultBegin Source code at petsc4py/PETSc/Log.pyx:55 Return type None classmethod getCPUTime() Return the CPU time. Source code at petsc4py/PETSc/Log.pyx:171 Return type float classmethod getFlops() Return the number of flops used on this processor since the program began. Not collective. Returns Number of floating point operations. Return type float SEE ALSO: PetscGetFlops Source code at petsc4py/PETSc/Log.pyx:131 classmethod getTime() Return the current time of day in seconds. Collective. Returns wctime -- Current time. Return type float SEE ALSO: PetscTime Source code at petsc4py/PETSc/Log.pyx:151 classmethod isActive() Return whether logging is currently in progress. Not collective. SEE ALSO: PetscLogIsActive Source code at petsc4py/PETSc/Log.pyx:193 Return type bool classmethod logFlops(flops) Add floating point operations to the current event. Not collective. Parameters flops (float) -- The number of flops to log. Return type None SEE ALSO: PetscLogFlops Source code at petsc4py/PETSc/Log.pyx:89 classmethod view(viewer=None) Print the log. Collective. Parameters viewer (Viewer | None) -- A Viewer instance or None for the default viewer. Return type None SEE ALSO: Working with PETSc options, PetscLogView Source code at petsc4py/PETSc/Log.pyx:68 petsc4py.PETSc.LogClass class petsc4py.PETSc.LogClass Bases: object Logging support. Methods Summary ┌─────────────────┬───────────────────────────────────────┐ │ activate() │ Activate the log class. │ ├─────────────────┼───────────────────────────────────────┤ │ deactivate() │ Deactivate the log class. │ ├─────────────────┼───────────────────────────────────────┤ │ getActive() │ Not implemented. │ ├─────────────────┼───────────────────────────────────────┤ │ getName() │ Return the log class name. │ ├─────────────────┼───────────────────────────────────────┤ │ setActive(flag) │ Activate or deactivate the log class. │ └─────────────────┴───────────────────────────────────────┘ Attributes Summary ┌────────┬───────────────────────────┐ │ active │ Log class activation. │ ├────────┼───────────────────────────┤ │ id │ The log class identifier. │ ├────────┼───────────────────────────┤ │ name │ The log class name. │ └────────┴───────────────────────────┘ Methods Documentation activate() Activate the log class. Source code at petsc4py/PETSc/Log.pyx:431 Return type None deactivate() Deactivate the log class. Source code at petsc4py/PETSc/Log.pyx:435 Return type None getActive() Not implemented. Source code at petsc4py/PETSc/Log.pyx:439 Return type bool getName() Return the log class name. Source code at petsc4py/PETSc/Log.pyx:414 Return type str setActive(flag) Activate or deactivate the log class. Source code at petsc4py/PETSc/Log.pyx:444 Parameters flag (bool) Return type None Attributes Documentation active Log class activation. Source code at petsc4py/PETSc/Log.pyx:451 id The log class identifier. Source code at petsc4py/PETSc/Log.pyx:401 name The log class name. Source code at petsc4py/PETSc/Log.pyx:420 petsc4py.PETSc.LogEvent class petsc4py.PETSc.LogEvent Bases: object Logging support. Methods Summary ┌──────────────────────┬───────────────────────────────────────┐ │ activate() │ Indicate that the event should be │ │ │ logged. │ ├──────────────────────┼───────────────────────────────────────┤ │ begin(*objs) │ Log the beginning of a user event. │ ├──────────────────────┼───────────────────────────────────────┤ │ deactivate() │ Indicate that the event should not be │ │ │ logged. │ ├──────────────────────┼───────────────────────────────────────┤ │ end(*objs) │ Log the end of a user event. │ ├──────────────────────┼───────────────────────────────────────┤ │ getActive() │ Not implemented. │ ├──────────────────────┼───────────────────────────────────────┤ │ getActiveAll() │ Not implemented. │ ├──────────────────────┼───────────────────────────────────────┤ │ getName() │ The current event name. │ ├──────────────────────┼───────────────────────────────────────┤ │ getPerfInfo([stage]) │ Get the performance information about │ │ │ the given event in the given event. │ ├──────────────────────┼───────────────────────────────────────┤ │ setActive(flag) │ Indicate whether or not the event │ │ │ should be logged. │ ├──────────────────────┼───────────────────────────────────────┤ │ setActiveAll(flag) │ Turn on logging of all events. │ └──────────────────────┴───────────────────────────────────────┘ Attributes Summary ┌────────────┬───────────────────────────┐ │ active │ Event activation. │ ├────────────┼───────────────────────────┤ │ active_all │ All events activation. │ ├────────────┼───────────────────────────┤ │ id │ The log event identifier. │ ├────────────┼───────────────────────────┤ │ name │ The current event name. │ └────────────┴───────────────────────────┘ Methods Documentation activate() Indicate that the event should be logged. Logically collective. SEE ALSO: PetscLogEventActivate Source code at petsc4py/PETSc/Log.pyx:552 Return type None begin(*objs) Log the beginning of a user event. Collective. Parameters *objs -- objects associated with the event Return type None SEE ALSO: PetscLogEventBegin Source code at petsc4py/PETSc/Log.pyx:496 deactivate() Indicate that the event should not be logged. Logically collective. SEE ALSO: PetscLogEventDeactivate Source code at petsc4py/PETSc/Log.pyx:564 Return type None end(*objs) Log the end of a user event. Collective. Parameters *objs -- Objects associated with the event. Return type None SEE ALSO: PetscLogEventEnd Source code at petsc4py/PETSc/Log.pyx:515 getActive() Not implemented. Source code at petsc4py/PETSc/Log.pyx:576 Return type bool getActiveAll() Not implemented. Source code at petsc4py/PETSc/Log.pyx:609 Return type bool getName() The current event name. Source code at petsc4py/PETSc/Log.pyx:535 Return type str getPerfInfo(stage=None) Get the performance information about the given event in the given event. Not collective. Parameters stage (int | None) -- The stage number. Returns info -- This structure is filled with the performance information. Return type dict SEE ALSO: PetscLogEventGetPerfInfo Source code at petsc4py/PETSc/Log.pyx:643 setActive(flag) Indicate whether or not the event should be logged. Logically collective. Parameters flag (bool) -- Activate or deactivate the event. Return type None SEE ALSO: PetscLogEventDeactivate, PetscLogEventActivate Source code at petsc4py/PETSc/Log.pyx:581 setActiveAll(flag) Turn on logging of all events. Logically collective. Parameters flag (bool) -- Activate (if True) or deactivate (if False) the logging of all events. Return type None SEE ALSO: PetscLogEventSetActiveAll Source code at petsc4py/PETSc/Log.pyx:614 Attributes Documentation active Event activation. Source code at petsc4py/PETSc/Log.pyx:601 active_all All events activation. Source code at petsc4py/PETSc/Log.pyx:633 id The log event identifier. Source code at petsc4py/PETSc/Log.pyx:478 name The current event name. Source code at petsc4py/PETSc/Log.pyx:541 petsc4py.PETSc.LogStage class petsc4py.PETSc.LogStage Bases: object Logging support for different stages. Methods Summary ┌──────────────────┬───────────────────────────────────────┐ │ activate() │ Activate the stage. │ ├──────────────────┼───────────────────────────────────────┤ │ deactivate() │ Deactivate the stage. │ ├──────────────────┼───────────────────────────────────────┤ │ getActive() │ Check if the stage is activated. │ ├──────────────────┼───────────────────────────────────────┤ │ getName() │ Return the current stage name. │ ├──────────────────┼───────────────────────────────────────┤ │ getVisible() │ Return whether the stage is visible. │ ├──────────────────┼───────────────────────────────────────┤ │ pop() │ Pop a stage from the logging stack. │ ├──────────────────┼───────────────────────────────────────┤ │ push() │ Push a stage on the logging stack. │ ├──────────────────┼───────────────────────────────────────┤ │ setActive(flag) │ Activate or deactivate the current │ │ │ stage. │ ├──────────────────┼───────────────────────────────────────┤ │ setVisible(flag) │ Set the visibility of the stage. │ └──────────────────┴───────────────────────────────────────┘ Attributes Summary ┌─────────┬────────────────────────────────┐ │ active │ Whether the stage is activate. │ ├─────────┼────────────────────────────────┤ │ id │ The log stage identifier. │ ├─────────┼────────────────────────────────┤ │ name │ The current stage name. │ ├─────────┼────────────────────────────────┤ │ visible │ Whether the stage is visible. │ └─────────┴────────────────────────────────┘ Methods Documentation activate() Activate the stage. Logically collective. SEE ALSO: PetscLogStageSetActive Source code at petsc4py/PETSc/Log.pyx:279 Return type None deactivate() Deactivate the stage. Logically collective. SEE ALSO: PetscLogStageSetActive Source code at petsc4py/PETSc/Log.pyx:291 Return type None getActive() Check if the stage is activated. Not collective. SEE ALSO: PetscLogStageGetActive Source code at petsc4py/PETSc/Log.pyx:303 Return type bool getName() Return the current stage name. Source code at petsc4py/PETSc/Log.pyx:262 Return type str getVisible() Return whether the stage is visible. Not collective. SEE ALSO: LogStage.setVisible, PetscLogStageSetVisible Source code at petsc4py/PETSc/Log.pyx:341 Return type bool pop() Pop a stage from the logging stack. Logically collective. SEE ALSO: LogStage.push, PetscLogStagePop Source code at petsc4py/PETSc/Log.pyx:247 Return type None push() Push a stage on the logging stack. Logically collective. SEE ALSO: LogStage.pop, PetscLogStagePush Source code at petsc4py/PETSc/Log.pyx:235 Return type None setActive(flag) Activate or deactivate the current stage. Logically collective. SEE ALSO: PetscLogStageSetActive Source code at petsc4py/PETSc/Log.pyx:317 Parameters flag (bool) Return type None setVisible(flag) Set the visibility of the stage. Logically collective. Parameters flag (bool) -- True to make the stage visible, False otherwise. Return type None SEE ALSO: LogStage.getVisible, PetscLogStageSetVisible Source code at petsc4py/PETSc/Log.pyx:355 Attributes Documentation active Whether the stage is activate. Source code at petsc4py/PETSc/Log.pyx:331 id The log stage identifier. Source code at petsc4py/PETSc/Log.pyx:215 name The current stage name. Source code at petsc4py/PETSc/Log.pyx:268 visible Whether the stage is visible. Source code at petsc4py/PETSc/Log.pyx:374 petsc4py.PETSc.Mat class petsc4py.PETSc.Mat Bases: Object Matrix object. Mat is described in the PETSc manual. SEE ALSO: Mat Enumerations ┌─────────────────┬───────────────────────────────────────┐ │ AssemblyType │ Matrix assembly type. │ ├─────────────────┼───────────────────────────────────────┤ │ DuplicateOption │ Matrix duplicate option. │ ├─────────────────┼───────────────────────────────────────┤ │ FactorShiftType │ Factored matrix shift type. │ ├─────────────────┼───────────────────────────────────────┤ │ InfoType │ Matrix info type. │ ├─────────────────┼───────────────────────────────────────┤ │ Option │ Matrix option. │ ├─────────────────┼───────────────────────────────────────┤ │ OrderingType │ Factored matrix ordering type. │ ├─────────────────┼───────────────────────────────────────┤ │ SORType │ Matrix SOR type. │ ├─────────────────┼───────────────────────────────────────┤ │ SolverType │ Factored matrix solver type. │ ├─────────────────┼───────────────────────────────────────┤ │ Stencil │ Associate structured grid coordinates │ │ │ with matrix indices. │ ├─────────────────┼───────────────────────────────────────┤ │ Structure │ Matrix modification structure. │ ├─────────────────┼───────────────────────────────────────┤ │ Type │ Matrix type. │ └─────────────────┴───────────────────────────────────────┘ petsc4py.PETSc.Mat.AssemblyType class petsc4py.PETSc.Mat.AssemblyType Bases: object Matrix assembly type. SEE ALSO: MatAssemblyType Attributes Summary ┌────────────────┬─────────────────────────────────────┐ │ FINAL │ Constant FINAL of type int │ ├────────────────┼─────────────────────────────────────┤ │ FINAL_ASSEMBLY │ Constant FINAL_ASSEMBLY of type int │ ├────────────────┼─────────────────────────────────────┤ │ FLUSH │ Constant FLUSH of type int │ ├────────────────┼─────────────────────────────────────┤ │ FLUSH_ASSEMBLY │ Constant FLUSH_ASSEMBLY of type int │ └────────────────┴─────────────────────────────────────┘ Attributes Documentation FINAL: int = FINAL Constant FINAL of type int FINAL_ASSEMBLY: int = FINAL_ASSEMBLY Constant FINAL_ASSEMBLY of type int FLUSH: int = FLUSH Constant FLUSH of type int FLUSH_ASSEMBLY: int = FLUSH_ASSEMBLY Constant FLUSH_ASSEMBLY of type int petsc4py.PETSc.Mat.DuplicateOption class petsc4py.PETSc.Mat.DuplicateOption Bases: object Matrix duplicate option. SEE ALSO: MatDuplicateOption Attributes Summary ┌───────────────────────┬───────────────────────────────────────┐ │ COPY_VALUES │ Constant COPY_VALUES of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ DO_NOT_COPY_VALUES │ Constant DO_NOT_COPY_VALUES of type ‐ │ │ │ int │ ├───────────────────────┼───────────────────────────────────────┤ │ SHARE_NONZERO_PATTERN │ Constant SHARE_NONZERO_PATTERN of │ │ │ type int │ └───────────────────────┴───────────────────────────────────────┘ Attributes Documentation COPY_VALUES: int = COPY_VALUES Constant COPY_VALUES of type int DO_NOT_COPY_VALUES: int = DO_NOT_COPY_VALUES Constant DO_NOT_COPY_VALUES of type int SHARE_NONZERO_PATTERN: int = SHARE_NONZERO_PATTERN Constant SHARE_NONZERO_PATTERN of type int petsc4py.PETSc.Mat.FactorShiftType class petsc4py.PETSc.Mat.FactorShiftType Bases: object Factored matrix shift type. SEE ALSO: MatFactorShiftType Attributes Summary ┌───────────────────┬───────────────────────────────────────┐ │ INBLOCKS │ Constant INBLOCKS of type int │ ├───────────────────┼───────────────────────────────────────┤ │ NONE │ Constant NONE of type int │ ├───────────────────┼───────────────────────────────────────┤ │ NONZERO │ Constant NONZERO of type int │ ├───────────────────┼───────────────────────────────────────┤ │ NZ │ Constant NZ of type int │ ├───────────────────┼───────────────────────────────────────┤ │ PD │ Constant PD of type int │ ├───────────────────┼───────────────────────────────────────┤ │ POSITIVE_DEFINITE │ Constant POSITIVE_DEFINITE of type ‐ │ │ │ int │ └───────────────────┴───────────────────────────────────────┘ Attributes Documentation INBLOCKS: int = INBLOCKS Constant INBLOCKS of type int NONE: int = NONE Constant NONE of type int NONZERO: int = NONZERO Constant NONZERO of type int NZ: int = NZ Constant NZ of type int PD: int = PD Constant PD of type int POSITIVE_DEFINITE: int = POSITIVE_DEFINITE Constant POSITIVE_DEFINITE of type int petsc4py.PETSc.Mat.InfoType class petsc4py.PETSc.Mat.InfoType Bases: object Matrix info type. Attributes Summary ┌────────────┬─────────────────────────────────┐ │ GLOBAL_MAX │ Constant GLOBAL_MAX of type int │ ├────────────┼─────────────────────────────────┤ │ GLOBAL_SUM │ Constant GLOBAL_SUM of type int │ ├────────────┼─────────────────────────────────┤ │ LOCAL │ Constant LOCAL of type int │ └────────────┴─────────────────────────────────┘ Attributes Documentation GLOBAL_MAX: int = GLOBAL_MAX Constant GLOBAL_MAX of type int GLOBAL_SUM: int = GLOBAL_SUM Constant GLOBAL_SUM of type int LOCAL: int = LOCAL Constant LOCAL of type int petsc4py.PETSc.Mat.Option class petsc4py.PETSc.Mat.Option Bases: object Matrix option. SEE ALSO: MatOption Attributes Summary ┌─────────────────────────────┬───────────────────────────────────────┐ │ ERROR_LOWER_TRIANGULAR │ Constant ERROR_LOWER_TRIANGULAR of │ │ │ type int │ ├─────────────────────────────┼───────────────────────────────────────┤ │ FORCE_DIAGONAL_ENTRIES │ Constant FORCE_DIAGONAL_ENTRIES of │ │ │ type int │ ├─────────────────────────────┼───────────────────────────────────────┤ │ GETROW_UPPERTRIANGULAR │ Constant GETROW_UPPERTRIANGULAR of │ │ │ type int │ ├─────────────────────────────┼───────────────────────────────────────┤ │ HERMITIAN │ Constant HERMITIAN of type int │ ├─────────────────────────────┼───────────────────────────────────────┤ │ IGNORE_LOWER_TRIANGULAR │ Constant IGNORE_LOWER_TRIANGULAR of │ │ │ type int │ ├─────────────────────────────┼───────────────────────────────────────┤ │ IGNORE_OFF_PROC_ENTRIES │ Constant IGNORE_OFF_PROC_ENTRIES of │ │ │ type int │ ├─────────────────────────────┼───────────────────────────────────────┤ │ IGNORE_ZERO_ENTRIES │ Constant IGNORE_ZERO_ENTRIES of type │ │ │ int │ ├─────────────────────────────┼───────────────────────────────────────┤ │ KEEP_NONZERO_PATTERN │ Constant KEEP_NONZERO_PATTERN of type │ │ │ int │ ├─────────────────────────────┼───────────────────────────────────────┤ │ NEW_NONZERO_ALLOCATION_ERR │ Constant NEW_NONZERO_ALLOCATION_ERR │ │ │ of type int │ ├─────────────────────────────┼───────────────────────────────────────┤ │ NEW_NONZERO_LOCATIONS │ Constant NEW_NONZERO_LOCATIONS of │ │ │ type int │ ├─────────────────────────────┼───────────────────────────────────────┤ │ NEW_NONZERO_LOCATION_ERR │ Constant NEW_NONZERO_LOCATION_ERR of │ │ │ type int │ ├─────────────────────────────┼───────────────────────────────────────┤ │ NO_OFF_PROC_ENTRIES │ Constant NO_OFF_PROC_ENTRIES of type │ │ │ int │ ├─────────────────────────────┼───────────────────────────────────────┤ │ NO_OFF_PROC_ZERO_ROWS │ Constant NO_OFF_PROC_ZERO_ROWS of │ │ │ type int │ ├─────────────────────────────┼───────────────────────────────────────┤ │ OPTION_MAX │ Constant OPTION_MAX of type int │ ├─────────────────────────────┼───────────────────────────────────────┤ │ OPTION_MIN │ Constant OPTION_MIN of type int │ ├─────────────────────────────┼───────────────────────────────────────┤ │ ROW_ORIENTED │ Constant ROW_ORIENTED of type int │ ├─────────────────────────────┼───────────────────────────────────────┤ │ SORTED_FULL │ Constant SORTED_FULL of type int │ ├─────────────────────────────┼───────────────────────────────────────┤ │ SPD │ Constant SPD of type int │ ├─────────────────────────────┼───────────────────────────────────────┤ │ STRUCTURALLY_SYMMETRIC │ Constant STRUCTURALLY_SYMMETRIC of │ │ │ type int │ ├─────────────────────────────┼───────────────────────────────────────┤ │ STRUCTURE_ONLY │ Constant STRUCTURE_ONLY of type int │ ├─────────────────────────────┼───────────────────────────────────────┤ │ SUBMAT_SINGLEIS │ Constant SUBMAT_SINGLEIS of type int │ ├─────────────────────────────┼───────────────────────────────────────┤ │ SUBSET_OFF_PROC_ENTRIES │ Constant SUBSET_OFF_PROC_ENTRIES of │ │ │ type int │ ├─────────────────────────────┼───────────────────────────────────────┤ │ SYMMETRIC │ Constant SYMMETRIC of type int │ ├─────────────────────────────┼───────────────────────────────────────┤ │ SYMMETRY_ETERNAL │ Constant SYMMETRY_ETERNAL of type int │ ├─────────────────────────────┼───────────────────────────────────────┤ │ UNUSED_NONZERO_LOCATION_ERR │ Constant UNUSED_NONZERO_LOCATION_ERR │ │ │ of type int │ ├─────────────────────────────┼───────────────────────────────────────┤ │ USE_HASH_TABLE │ Constant USE_HASH_TABLE of type int │ ├─────────────────────────────┼───────────────────────────────────────┤ │ USE_INODES │ Constant USE_INODES of type int │ └─────────────────────────────┴───────────────────────────────────────┘ Attributes Documentation ERROR_LOWER_TRIANGULAR: int = ERROR_LOWER_TRIANGULAR Constant ERROR_LOWER_TRIANGULAR of type int FORCE_DIAGONAL_ENTRIES: int = FORCE_DIAGONAL_ENTRIES Constant FORCE_DIAGONAL_ENTRIES of type int GETROW_UPPERTRIANGULAR: int = GETROW_UPPERTRIANGULAR Constant GETROW_UPPERTRIANGULAR of type int HERMITIAN: int = HERMITIAN Constant HERMITIAN of type int IGNORE_LOWER_TRIANGULAR: int = IGNORE_LOWER_TRIANGULAR Constant IGNORE_LOWER_TRIANGULAR of type int IGNORE_OFF_PROC_ENTRIES: int = IGNORE_OFF_PROC_ENTRIES Constant IGNORE_OFF_PROC_ENTRIES of type int IGNORE_ZERO_ENTRIES: int = IGNORE_ZERO_ENTRIES Constant IGNORE_ZERO_ENTRIES of type int KEEP_NONZERO_PATTERN: int = KEEP_NONZERO_PATTERN Constant KEEP_NONZERO_PATTERN of type int NEW_NONZERO_ALLOCATION_ERR: int = NEW_NONZERO_ALLOCATION_ERR Constant NEW_NONZERO_ALLOCATION_ERR of type int NEW_NONZERO_LOCATIONS: int = NEW_NONZERO_LOCATIONS Constant NEW_NONZERO_LOCATIONS of type int NEW_NONZERO_LOCATION_ERR: int = NEW_NONZERO_LOCATION_ERR Constant NEW_NONZERO_LOCATION_ERR of type int NO_OFF_PROC_ENTRIES: int = NO_OFF_PROC_ENTRIES Constant NO_OFF_PROC_ENTRIES of type int NO_OFF_PROC_ZERO_ROWS: int = NO_OFF_PROC_ZERO_ROWS Constant NO_OFF_PROC_ZERO_ROWS of type int OPTION_MAX: int = OPTION_MAX Constant OPTION_MAX of type int OPTION_MIN: int = OPTION_MIN Constant OPTION_MIN of type int ROW_ORIENTED: int = ROW_ORIENTED Constant ROW_ORIENTED of type int SORTED_FULL: int = SORTED_FULL Constant SORTED_FULL of type int SPD: int = SPD Constant SPD of type int STRUCTURALLY_SYMMETRIC: int = STRUCTURALLY_SYMMETRIC Constant STRUCTURALLY_SYMMETRIC of type int STRUCTURE_ONLY: int = STRUCTURE_ONLY Constant STRUCTURE_ONLY of type int SUBMAT_SINGLEIS: int = SUBMAT_SINGLEIS Constant SUBMAT_SINGLEIS of type int SUBSET_OFF_PROC_ENTRIES: int = SUBSET_OFF_PROC_ENTRIES Constant SUBSET_OFF_PROC_ENTRIES of type int SYMMETRIC: int = SYMMETRIC Constant SYMMETRIC of type int SYMMETRY_ETERNAL: int = SYMMETRY_ETERNAL Constant SYMMETRY_ETERNAL of type int UNUSED_NONZERO_LOCATION_ERR: int = UNUSED_NONZERO_LOCATION_ERR Constant UNUSED_NONZERO_LOCATION_ERR of type int USE_HASH_TABLE: int = USE_HASH_TABLE Constant USE_HASH_TABLE of type int USE_INODES: int = USE_INODES Constant USE_INODES of type int petsc4py.PETSc.Mat.OrderingType class petsc4py.PETSc.Mat.OrderingType Bases: object Factored matrix ordering type. SEE ALSO: MatOrderingType Attributes Summary ┌───────────┬──────────────────────────────┐ │ AMD │ Object AMD of type str │ ├───────────┼──────────────────────────────┤ │ METISND │ Object METISND of type str │ ├───────────┼──────────────────────────────┤ │ NATURAL │ Object NATURAL of type str │ ├───────────┼──────────────────────────────┤ │ ND │ Object ND of type str │ ├───────────┼──────────────────────────────┤ │ OWD │ Object OWD of type str │ ├───────────┼──────────────────────────────┤ │ QMD │ Object QMD of type str │ ├───────────┼──────────────────────────────┤ │ RCM │ Object RCM of type str │ ├───────────┼──────────────────────────────┤ │ ROWLENGTH │ Object ROWLENGTH of type str │ ├───────────┼──────────────────────────────┤ │ SPECTRAL │ Object SPECTRAL of type str │ ├───────────┼──────────────────────────────┤ │ WBM │ Object WBM of type str │ └───────────┴──────────────────────────────┘ Attributes Documentation AMD: str = AMD Object AMD of type str METISND: str = METISND Object METISND of type str NATURAL: str = NATURAL Object NATURAL of type str ND: str = ND Object ND of type str OWD: str = OWD Object OWD of type str QMD: str = QMD Object QMD of type str RCM: str = RCM Object RCM of type str ROWLENGTH: str = ROWLENGTH Object ROWLENGTH of type str SPECTRAL: str = SPECTRAL Object SPECTRAL of type str WBM: str = WBM Object WBM of type str petsc4py.PETSc.Mat.SORType class petsc4py.PETSc.Mat.SORType Bases: object Matrix SOR type. SEE ALSO: MatSORType Attributes Summary ┌───────────────────────┬───────────────────────────────────────┐ │ APPLY_LOWER │ Constant APPLY_LOWER of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ APPLY_UPPER │ Constant APPLY_UPPER of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ BACKWARD_SWEEP │ Constant BACKWARD_SWEEP of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ EISENSTAT │ Constant EISENSTAT of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ FORWARD_SWEEP │ Constant FORWARD_SWEEP of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ LOCAL_BACKWARD_SWEEP │ Constant LOCAL_BACKWARD_SWEEP of type │ │ │ int │ ├───────────────────────┼───────────────────────────────────────┤ │ LOCAL_FORWARD_SWEEP │ Constant LOCAL_FORWARD_SWEEP of type │ │ │ int │ ├───────────────────────┼───────────────────────────────────────┤ │ LOCAL_SYMMETRIC_SWEEP │ Constant LOCAL_SYMMETRIC_SWEEP of │ │ │ type int │ ├───────────────────────┼───────────────────────────────────────┤ │ SYMMETRY_SWEEP │ Constant SYMMETRY_SWEEP of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ ZERO_INITIAL_GUESS │ Constant ZERO_INITIAL_GUESS of type ‐ │ │ │ int │ └───────────────────────┴───────────────────────────────────────┘ Attributes Documentation APPLY_LOWER: int = APPLY_LOWER Constant APPLY_LOWER of type int APPLY_UPPER: int = APPLY_UPPER Constant APPLY_UPPER of type int BACKWARD_SWEEP: int = BACKWARD_SWEEP Constant BACKWARD_SWEEP of type int EISENSTAT: int = EISENSTAT Constant EISENSTAT of type int FORWARD_SWEEP: int = FORWARD_SWEEP Constant FORWARD_SWEEP of type int LOCAL_BACKWARD_SWEEP: int = LOCAL_BACKWARD_SWEEP Constant LOCAL_BACKWARD_SWEEP of type int LOCAL_FORWARD_SWEEP: int = LOCAL_FORWARD_SWEEP Constant LOCAL_FORWARD_SWEEP of type int LOCAL_SYMMETRIC_SWEEP: int = LOCAL_SYMMETRIC_SWEEP Constant LOCAL_SYMMETRIC_SWEEP of type int SYMMETRY_SWEEP: int = SYMMETRY_SWEEP Constant SYMMETRY_SWEEP of type int ZERO_INITIAL_GUESS: int = ZERO_INITIAL_GUESS Constant ZERO_INITIAL_GUESS of type int petsc4py.PETSc.Mat.SolverType class petsc4py.PETSc.Mat.SolverType Bases: object Factored matrix solver type. SEE ALSO: MatSolverType Attributes Summary ┌──────────────┬─────────────────────────────────┐ │ BAS │ Object BAS of type str │ ├──────────────┼─────────────────────────────────┤ │ CHOLMOD │ Object CHOLMOD of type str │ ├──────────────┼─────────────────────────────────┤ │ CUDA │ Object CUDA of type str │ ├──────────────┼─────────────────────────────────┤ │ CUSPARSE │ Object CUSPARSE of type str │ ├──────────────┼─────────────────────────────────┤ │ ELEMENTAL │ Object ELEMENTAL of type str │ ├──────────────┼─────────────────────────────────┤ │ ESSL │ Object ESSL of type str │ ├──────────────┼─────────────────────────────────┤ │ KLU │ Object KLU of type str │ ├──────────────┼─────────────────────────────────┤ │ LUSOL │ Object LUSOL of type str │ ├──────────────┼─────────────────────────────────┤ │ MATLAB │ Object MATLAB of type str │ ├──────────────┼─────────────────────────────────┤ │ MKL_CPARDISO │ Object MKL_CPARDISO of type str │ ├──────────────┼─────────────────────────────────┤ │ MKL_PARDISO │ Object MKL_PARDISO of type str │ ├──────────────┼─────────────────────────────────┤ │ MUMPS │ Object MUMPS of type str │ ├──────────────┼─────────────────────────────────┤ │ PASTIX │ Object PASTIX of type str │ ├──────────────┼─────────────────────────────────┤ │ PETSC │ Object PETSC of type str │ ├──────────────┼─────────────────────────────────┤ │ SCALAPACK │ Object SCALAPACK of type str │ ├──────────────┼─────────────────────────────────┤ │ SPQR │ Object SPQR of type str │ ├──────────────┼─────────────────────────────────┤ │ STRUMPACK │ Object STRUMPACK of type str │ ├──────────────┼─────────────────────────────────┤ │ SUPERLU │ Object SUPERLU of type str │ ├──────────────┼─────────────────────────────────┤ │ SUPERLU_DIST │ Object SUPERLU_DIST of type str │ ├──────────────┼─────────────────────────────────┤ │ UMFPACK │ Object UMFPACK of type str │ └──────────────┴─────────────────────────────────┘ Attributes Documentation BAS: str = BAS Object BAS of type str CHOLMOD: str = CHOLMOD Object CHOLMOD of type str CUDA: str = CUDA Object CUDA of type str CUSPARSE: str = CUSPARSE Object CUSPARSE of type str ELEMENTAL: str = ELEMENTAL Object ELEMENTAL of type str ESSL: str = ESSL Object ESSL of type str KLU: str = KLU Object KLU of type str LUSOL: str = LUSOL Object LUSOL of type str MATLAB: str = MATLAB Object MATLAB of type str MKL_CPARDISO: str = MKL_CPARDISO Object MKL_CPARDISO of type str MKL_PARDISO: str = MKL_PARDISO Object MKL_PARDISO of type str MUMPS: str = MUMPS Object MUMPS of type str PASTIX: str = PASTIX Object PASTIX of type str PETSC: str = PETSC Object PETSC of type str SCALAPACK: str = SCALAPACK Object SCALAPACK of type str SPQR: str = SPQR Object SPQR of type str STRUMPACK: str = STRUMPACK Object STRUMPACK of type str SUPERLU: str = SUPERLU Object SUPERLU of type str SUPERLU_DIST: str = SUPERLU_DIST Object SUPERLU_DIST of type str UMFPACK: str = UMFPACK Object UMFPACK of type str petsc4py.PETSc.Mat.Stencil class petsc4py.PETSc.Mat.Stencil Bases: object Associate structured grid coordinates with matrix indices. SEE ALSO: MatStencil Attributes Summary ┌───────┬─────────────────────────────────────┐ │ c │ Field component. │ ├───────┼─────────────────────────────────────┤ │ field │ Field component. │ ├───────┼─────────────────────────────────────┤ │ i │ First logical grid coordinate. │ ├───────┼─────────────────────────────────────┤ │ index │ Logical grid coordinates (i, j, k). │ ├───────┼─────────────────────────────────────┤ │ j │ Second logical grid coordinate. │ ├───────┼─────────────────────────────────────┤ │ k │ Third logical grid coordinate. │ └───────┴─────────────────────────────────────┘ Attributes Documentation c Field component. Source code at petsc4py/PETSc/Mat.pyx:317 field Field component. Source code at petsc4py/PETSc/Mat.pyx:336 i First logical grid coordinate. Source code at petsc4py/PETSc/Mat.pyx:293 index Logical grid coordinates (i, j, k). Source code at petsc4py/PETSc/Mat.pyx:325 j Second logical grid coordinate. Source code at petsc4py/PETSc/Mat.pyx:301 k Third logical grid coordinate. Source code at petsc4py/PETSc/Mat.pyx:309 petsc4py.PETSc.Mat.Structure class petsc4py.PETSc.Mat.Structure Bases: object Matrix modification structure. SEE ALSO: MatStructure Attributes Summary ┌───────────────────────────┬───────────────────────────────────────┐ │ DIFFERENT │ Constant DIFFERENT of type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ DIFFERENT_NONZERO_PATTERN │ Constant DIFFERENT_NONZERO_PATTERN of │ │ │ type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ DIFFERENT_NZ │ Constant DIFFERENT_NZ of type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ SAME │ Constant SAME of type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ SAME_NONZERO_PATTERN │ Constant SAME_NONZERO_PATTERN of type │ │ │ int │ ├───────────────────────────┼───────────────────────────────────────┤ │ SAME_NZ │ Constant SAME_NZ of type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ SUBSET │ Constant SUBSET of type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ SUBSET_NONZERO_PATTERN │ Constant SUBSET_NONZERO_PATTERN of │ │ │ type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ SUBSET_NZ │ Constant SUBSET_NZ of type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ UNKNOWN │ Constant UNKNOWN of type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ UNKNOWN_NONZERO_PATTERN │ Constant UNKNOWN_NONZERO_PATTERN of │ │ │ type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ UNKNOWN_NZ │ Constant UNKNOWN_NZ of type int │ └───────────────────────────┴───────────────────────────────────────┘ Attributes Documentation DIFFERENT: int = DIFFERENT Constant DIFFERENT of type int DIFFERENT_NONZERO_PATTERN: int = DIFFERENT_NONZERO_PATTERN Constant DIFFERENT_NONZERO_PATTERN of type int DIFFERENT_NZ: int = DIFFERENT_NZ Constant DIFFERENT_NZ of type int SAME: int = SAME Constant SAME of type int SAME_NONZERO_PATTERN: int = SAME_NONZERO_PATTERN Constant SAME_NONZERO_PATTERN of type int SAME_NZ: int = SAME_NZ Constant SAME_NZ of type int SUBSET: int = SUBSET Constant SUBSET of type int SUBSET_NONZERO_PATTERN: int = SUBSET_NONZERO_PATTERN Constant SUBSET_NONZERO_PATTERN of type int SUBSET_NZ: int = SUBSET_NZ Constant SUBSET_NZ of type int UNKNOWN: int = UNKNOWN Constant UNKNOWN of type int UNKNOWN_NONZERO_PATTERN: int = UNKNOWN_NONZERO_PATTERN Constant UNKNOWN_NONZERO_PATTERN of type int UNKNOWN_NZ: int = UNKNOWN_NZ Constant UNKNOWN_NZ of type int petsc4py.PETSc.Mat.Type class petsc4py.PETSc.Mat.Type Bases: object Matrix type. SEE ALSO: MatType Attributes Summary ┌────────────────────┬───────────────────────────────────────┐ │ AIJ │ Object AIJ of type str │ ├────────────────────┼───────────────────────────────────────┤ │ AIJCRL │ Object AIJCRL of type str │ ├────────────────────┼───────────────────────────────────────┤ │ AIJCUSPARSE │ Object AIJCUSPARSE of type str │ ├────────────────────┼───────────────────────────────────────┤ │ AIJMKL │ Object AIJMKL of type str │ ├────────────────────┼───────────────────────────────────────┤ │ AIJPERM │ Object AIJPERM of type str │ ├────────────────────┼───────────────────────────────────────┤ │ AIJSELL │ Object AIJSELL of type str │ ├────────────────────┼───────────────────────────────────────┤ │ AIJVIENNACL │ Object AIJVIENNACL of type str │ ├────────────────────┼───────────────────────────────────────┤ │ BAIJ │ Object BAIJ of type str │ ├────────────────────┼───────────────────────────────────────┤ │ BAIJMKL │ Object BAIJMKL of type str │ ├────────────────────┼───────────────────────────────────────┤ │ BLOCKMAT │ Object BLOCKMAT of type str │ ├────────────────────┼───────────────────────────────────────┤ │ COMPOSITE │ Object COMPOSITE of type str │ ├────────────────────┼───────────────────────────────────────┤ │ CONSTANTDIAGONAL │ Object CONSTANTDIAGONAL of type str │ ├────────────────────┼───────────────────────────────────────┤ │ DENSE │ Object DENSE of type str │ ├────────────────────┼───────────────────────────────────────┤ │ DENSECUDA │ Object DENSECUDA of type str │ ├────────────────────┼───────────────────────────────────────┤ │ DIAGONAL │ Object DIAGONAL of type str │ ├────────────────────┼───────────────────────────────────────┤ │ DUMMY │ Object DUMMY of type str │ ├────────────────────┼───────────────────────────────────────┤ │ ELEMENTAL │ Object ELEMENTAL of type str │ ├────────────────────┼───────────────────────────────────────┤ │ FFT │ Object FFT of type str │ ├────────────────────┼───────────────────────────────────────┤ │ FFTW │ Object FFTW of type str │ ├────────────────────┼───────────────────────────────────────┤ │ H2OPUS │ Object H2OPUS of type str │ ├────────────────────┼───────────────────────────────────────┤ │ HERMITIANTRANSPOSE │ Object HERMITIANTRANSPOSE of type str │ ├────────────────────┼───────────────────────────────────────┤ │ HYPRE │ Object HYPRE of type str │ ├────────────────────┼───────────────────────────────────────┤ │ HYPRESSTRUCT │ Object HYPRESSTRUCT of type str │ ├────────────────────┼───────────────────────────────────────┤ │ HYPRESTRUCT │ Object HYPRESTRUCT of type str │ ├────────────────────┼───────────────────────────────────────┤ │ IS │ Object IS of type str │ ├────────────────────┼───────────────────────────────────────┤ │ KAIJ │ Object KAIJ of type str │ ├────────────────────┼───────────────────────────────────────┤ │ LMVM │ Object LMVM of type str │ ├────────────────────┼───────────────────────────────────────┤ │ LMVMBADBROYDEN │ Object LMVMBADBROYDEN of type str │ ├────────────────────┼───────────────────────────────────────┤ │ LMVMBFGS │ Object LMVMBFGS of type str │ ├────────────────────┼───────────────────────────────────────┤ │ LMVMBROYDEN │ Object LMVMBROYDEN of type str │ ├────────────────────┼───────────────────────────────────────┤ │ LMVMDBFGS │ Object LMVMDBFGS of type str │ ├────────────────────┼───────────────────────────────────────┤ │ LMVMDDFP │ Object LMVMDDFP of type str │ ├────────────────────┼───────────────────────────────────────┤ │ LMVMDFP │ Object LMVMDFP of type str │ ├────────────────────┼───────────────────────────────────────┤ │ LMVMDIAGBBROYDEN │ Object LMVMDIAGBBROYDEN of type str │ ├────────────────────┼───────────────────────────────────────┤ │ LMVMDQN │ Object LMVMDQN of type str │ ├────────────────────┼───────────────────────────────────────┤ │ LMVMSR1 │ Object LMVMSR1 of type str │ ├────────────────────┼───────────────────────────────────────┤ │ LMVMSYMBADBROYDEN │ Object LMVMSYMBADBROYDEN of type str │ ├────────────────────┼───────────────────────────────────────┤ │ LMVMSYMBROYDEN │ Object LMVMSYMBROYDEN of type str │ ├────────────────────┼───────────────────────────────────────┤ │ LOCALREF │ Object LOCALREF of type str │ ├────────────────────┼───────────────────────────────────────┤ │ LRC │ Object LRC of type str │ ├────────────────────┼───────────────────────────────────────┤ │ MAIJ │ Object MAIJ of type str │ ├────────────────────┼───────────────────────────────────────┤ │ MFFD │ Object MFFD of type str │ ├────────────────────┼───────────────────────────────────────┤ │ MPIADJ │ Object MPIADJ of type str │ ├────────────────────┼───────────────────────────────────────┤ │ MPIAIJ │ Object MPIAIJ of type str │ ├────────────────────┼───────────────────────────────────────┤ │ MPIAIJCRL │ Object MPIAIJCRL of type str │ ├────────────────────┼───────────────────────────────────────┤ │ MPIAIJCUSPARSE │ Object MPIAIJCUSPARSE of type str │ ├────────────────────┼───────────────────────────────────────┤ │ MPIAIJMKL │ Object MPIAIJMKL of type str │ ├────────────────────┼───────────────────────────────────────┤ │ MPIAIJPERM │ Object MPIAIJPERM of type str │ ├────────────────────┼───────────────────────────────────────┤ │ MPIAIJSELL │ Object MPIAIJSELL of type str │ ├────────────────────┼───────────────────────────────────────┤ │ MPIAIJVIENNACL │ Object MPIAIJVIENNACL of type str │ ├────────────────────┼───────────────────────────────────────┤ │ MPIBAIJ │ Object MPIBAIJ of type str │ ├────────────────────┼───────────────────────────────────────┤ │ MPIBAIJMKL │ Object MPIBAIJMKL of type str │ ├────────────────────┼───────────────────────────────────────┤ │ MPIDENSE │ Object MPIDENSE of type str │ ├────────────────────┼───────────────────────────────────────┤ │ MPIDENSECUDA │ Object MPIDENSECUDA of type str │ ├────────────────────┼───────────────────────────────────────┤ │ MPIKAIJ │ Object MPIKAIJ of type str │ ├────────────────────┼───────────────────────────────────────┤ │ MPIMAIJ │ Object MPIMAIJ of type str │ ├────────────────────┼───────────────────────────────────────┤ │ MPISBAIJ │ Object MPISBAIJ of type str │ ├────────────────────┼───────────────────────────────────────┤ │ MPISELL │ Object MPISELL of type str │ ├────────────────────┼───────────────────────────────────────┤ │ NEST │ Object NEST of type str │ ├────────────────────┼───────────────────────────────────────┤ │ NORMAL │ Object NORMAL of type str │ ├────────────────────┼───────────────────────────────────────┤ │ NORMALHERMITIAN │ Object NORMALHERMITIAN of type str │ ├────────────────────┼───────────────────────────────────────┤ │ PREALLOCATOR │ Object PREALLOCATOR of type str │ ├────────────────────┼───────────────────────────────────────┤ │ PYTHON │ Object PYTHON of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SAME │ Object SAME of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SBAIJ │ Object SBAIJ of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SCATTER │ Object SCATTER of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SCHURCOMPLEMENT │ Object SCHURCOMPLEMENT of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SELL │ Object SELL of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SEQAIJ │ Object SEQAIJ of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SEQAIJCRL │ Object SEQAIJCRL of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SEQAIJCUSPARSE │ Object SEQAIJCUSPARSE of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SEQAIJMKL │ Object SEQAIJMKL of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SEQAIJPERM │ Object SEQAIJPERM of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SEQAIJSELL │ Object SEQAIJSELL of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SEQAIJVIENNACL │ Object SEQAIJVIENNACL of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SEQBAIJ │ Object SEQBAIJ of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SEQBAIJMKL │ Object SEQBAIJMKL of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SEQCUFFT │ Object SEQCUFFT of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SEQDENSE │ Object SEQDENSE of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SEQDENSECUDA │ Object SEQDENSECUDA of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SEQKAIJ │ Object SEQKAIJ of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SEQMAIJ │ Object SEQMAIJ of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SEQSBAIJ │ Object SEQSBAIJ of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SEQSELL │ Object SEQSELL of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SHELL │ Object SHELL of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SUBMATRIX │ Object SUBMATRIX of type str │ ├────────────────────┼───────────────────────────────────────┤ │ TRANSPOSE │ Object TRANSPOSE of type str │ └────────────────────┴───────────────────────────────────────┘ Attributes Documentation AIJ: str = AIJ Object AIJ of type str AIJCRL: str = AIJCRL Object AIJCRL of type str AIJCUSPARSE: str = AIJCUSPARSE Object AIJCUSPARSE of type str AIJMKL: str = AIJMKL Object AIJMKL of type str AIJPERM: str = AIJPERM Object AIJPERM of type str AIJSELL: str = AIJSELL Object AIJSELL of type str AIJVIENNACL: str = AIJVIENNACL Object AIJVIENNACL of type str BAIJ: str = BAIJ Object BAIJ of type str BAIJMKL: str = BAIJMKL Object BAIJMKL of type str BLOCKMAT: str = BLOCKMAT Object BLOCKMAT of type str COMPOSITE: str = COMPOSITE Object COMPOSITE of type str CONSTANTDIAGONAL: str = CONSTANTDIAGONAL Object CONSTANTDIAGONAL of type str DENSE: str = DENSE Object DENSE of type str DENSECUDA: str = DENSECUDA Object DENSECUDA of type str DIAGONAL: str = DIAGONAL Object DIAGONAL of type str DUMMY: str = DUMMY Object DUMMY of type str ELEMENTAL: str = ELEMENTAL Object ELEMENTAL of type str FFT: str = FFT Object FFT of type str FFTW: str = FFTW Object FFTW of type str H2OPUS: str = H2OPUS Object H2OPUS of type str HERMITIANTRANSPOSE: str = HERMITIANTRANSPOSE Object HERMITIANTRANSPOSE of type str HYPRE: str = HYPRE Object HYPRE of type str HYPRESSTRUCT: str = HYPRESSTRUCT Object HYPRESSTRUCT of type str HYPRESTRUCT: str = HYPRESTRUCT Object HYPRESTRUCT of type str IS: str = IS Object IS of type str KAIJ: str = KAIJ Object KAIJ of type str LMVM: str = LMVM Object LMVM of type str LMVMBADBROYDEN: str = LMVMBADBROYDEN Object LMVMBADBROYDEN of type str LMVMBFGS: str = LMVMBFGS Object LMVMBFGS of type str LMVMBROYDEN: str = LMVMBROYDEN Object LMVMBROYDEN of type str LMVMDBFGS: str = LMVMDBFGS Object LMVMDBFGS of type str LMVMDDFP: str = LMVMDDFP Object LMVMDDFP of type str LMVMDFP: str = LMVMDFP Object LMVMDFP of type str LMVMDIAGBBROYDEN: str = LMVMDIAGBBROYDEN Object LMVMDIAGBBROYDEN of type str LMVMDQN: str = LMVMDQN Object LMVMDQN of type str LMVMSR1: str = LMVMSR1 Object LMVMSR1 of type str LMVMSYMBADBROYDEN: str = LMVMSYMBADBROYDEN Object LMVMSYMBADBROYDEN of type str LMVMSYMBROYDEN: str = LMVMSYMBROYDEN Object LMVMSYMBROYDEN of type str LOCALREF: str = LOCALREF Object LOCALREF of type str LRC: str = LRC Object LRC of type str MAIJ: str = MAIJ Object MAIJ of type str MFFD: str = MFFD Object MFFD of type str MPIADJ: str = MPIADJ Object MPIADJ of type str MPIAIJ: str = MPIAIJ Object MPIAIJ of type str MPIAIJCRL: str = MPIAIJCRL Object MPIAIJCRL of type str MPIAIJCUSPARSE: str = MPIAIJCUSPARSE Object MPIAIJCUSPARSE of type str MPIAIJMKL: str = MPIAIJMKL Object MPIAIJMKL of type str MPIAIJPERM: str = MPIAIJPERM Object MPIAIJPERM of type str MPIAIJSELL: str = MPIAIJSELL Object MPIAIJSELL of type str MPIAIJVIENNACL: str = MPIAIJVIENNACL Object MPIAIJVIENNACL of type str MPIBAIJ: str = MPIBAIJ Object MPIBAIJ of type str MPIBAIJMKL: str = MPIBAIJMKL Object MPIBAIJMKL of type str MPIDENSE: str = MPIDENSE Object MPIDENSE of type str MPIDENSECUDA: str = MPIDENSECUDA Object MPIDENSECUDA of type str MPIKAIJ: str = MPIKAIJ Object MPIKAIJ of type str MPIMAIJ: str = MPIMAIJ Object MPIMAIJ of type str MPISBAIJ: str = MPISBAIJ Object MPISBAIJ of type str MPISELL: str = MPISELL Object MPISELL of type str NEST: str = NEST Object NEST of type str NORMAL: str = NORMAL Object NORMAL of type str NORMALHERMITIAN: str = NORMALHERMITIAN Object NORMALHERMITIAN of type str PREALLOCATOR: str = PREALLOCATOR Object PREALLOCATOR of type str PYTHON: str = PYTHON Object PYTHON of type str SAME: str = SAME Object SAME of type str SBAIJ: str = SBAIJ Object SBAIJ of type str SCATTER: str = SCATTER Object SCATTER of type str SCHURCOMPLEMENT: str = SCHURCOMPLEMENT Object SCHURCOMPLEMENT of type str SELL: str = SELL Object SELL of type str SEQAIJ: str = SEQAIJ Object SEQAIJ of type str SEQAIJCRL: str = SEQAIJCRL Object SEQAIJCRL of type str SEQAIJCUSPARSE: str = SEQAIJCUSPARSE Object SEQAIJCUSPARSE of type str SEQAIJMKL: str = SEQAIJMKL Object SEQAIJMKL of type str SEQAIJPERM: str = SEQAIJPERM Object SEQAIJPERM of type str SEQAIJSELL: str = SEQAIJSELL Object SEQAIJSELL of type str SEQAIJVIENNACL: str = SEQAIJVIENNACL Object SEQAIJVIENNACL of type str SEQBAIJ: str = SEQBAIJ Object SEQBAIJ of type str SEQBAIJMKL: str = SEQBAIJMKL Object SEQBAIJMKL of type str SEQCUFFT: str = SEQCUFFT Object SEQCUFFT of type str SEQDENSE: str = SEQDENSE Object SEQDENSE of type str SEQDENSECUDA: str = SEQDENSECUDA Object SEQDENSECUDA of type str SEQKAIJ: str = SEQKAIJ Object SEQKAIJ of type str SEQMAIJ: str = SEQMAIJ Object SEQMAIJ of type str SEQSBAIJ: str = SEQSBAIJ Object SEQSBAIJ of type str SEQSELL: str = SEQSELL Object SEQSELL of type str SHELL: str = SHELL Object SHELL of type str SUBMATRIX: str = SUBMATRIX Object SUBMATRIX of type str TRANSPOSE: str = TRANSPOSE Object TRANSPOSE of type str Methods Summary ┌───────────────────────────────────────┬───────────────────────────────────────┐ │ H2OpusCompress(tol) │ Compress a hierarchical matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ H2OpusLowRankUpdate(U[, V, s]) │ Perform a low-rank update of the form │ │ │ self += sUVᵀ. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ H2OpusOrthogonalize() │ Orthogonalize the basis tree of a │ │ │ hierarchical matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ SOR(b, x[, omega, sortype, shift, │ Compute relaxation (SOR, │ │ its, lits]) │ Gauss-Seidel) sweeps. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ appendOptionsPrefix([prefix]) │ Append to the prefix used for │ │ │ searching for options in the │ │ │ database. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ assemble([assembly]) │ Assemble the matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ assemblyBegin([assembly]) │ Begin an assembling stage of the │ │ │ matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ assemblyEnd([assembly]) │ Complete an assembling stage of the │ │ │ matrix initiated with assemblyBegin. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ axpy(alpha, X[, structure]) │ Perform the matrix summation self + = │ │ │ ɑ·X. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ aypx(alpha, X[, structure]) │ Perform the matrix summation self = │ │ │ ɑ·self + X. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ bindToCPU(flg) │ Mark a matrix to temporarily stay on │ │ │ the CPU. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ boundToCPU() │ Query if a matrix is bound to the │ │ │ CPU. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ chop(tol) │ Set entries smallest of tol (in │ │ │ absolute values) to zero. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ conjugate([out]) │ Return the conjugate matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ convert([mat_type, out]) │ Convert the matrix type. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ copy([result, structure]) │ Return a copy of the matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ create([comm]) │ Create the matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createAIJ(size[, bsize, nnz, csr, │ Create a sparse Type.AIJ matrix, │ │ comm]) │ optionally preallocating. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createAIJCRL(size[, bsize, nnz, csr, │ Create a sparse Type.AIJCRL matrix. │ │ comm]) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createAIJWithArrays(size, csr[, │ Create a sparse Type.AIJ matrix with │ │ bsize, comm]) │ data in CSR format. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createBAIJ(size, bsize[, nnz, csr, │ Create a sparse blocked Type.BAIJ │ │ comm]) │ matrix, optionally preallocating. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createConstantDiagonal(size, diag[, │ Create a diagonal matrix of type │ │ comm]) │ Type.CONSTANTDIAGONAL. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createDense(size[, bsize, array, │ Create a Type.DENSE matrix. │ │ comm]) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createDenseCUDA(size[, bsize, array, │ Create a Type.DENSECUDA matrix with │ │ ...]) │ optional host and device data. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createDiagonal(diag) │ Create a diagonal matrix of type │ │ │ Type.DIAGONAL. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createH2OpusFromMat(A[, coordinates, │ Create a hierarchical Type.H2OPUS │ │ dist, ...]) │ matrix sampling from a provided │ │ │ operator. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createHermitianTranspose(mat) │ Create a Type.HERMITIANTRANSPOSE │ │ │ matrix that behaves like (A*)ᵀ. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createIS(size[, bsize, lgmapr, │ Create a Type.IS matrix representing │ │ lgmapc, comm]) │ globally unassembled operators. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createLRC(A, U, c, V) │ Create a low-rank correction Type.LRC │ │ │ matrix representing A + UCVᵀ. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createNest(mats[, isrows, iscols, │ Create a Type.NEST matrix containing │ │ comm]) │ multiple submatrices. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createNormal(mat) │ Create a Type.NORMAL matrix │ │ │ representing AᵀA. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createNormalHermitian(mat) │ Create a Type.NORMALHERMITIAN matrix │ │ │ representing (A*)ᵀA. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createPython(size[, context, comm]) │ Create a Type.PYTHON matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createSBAIJ(size, bsize[, nnz, csr, │ Create a sparse Type.SBAIJ matrix in │ │ comm]) │ symmetric block format. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createScatter(scatter[, comm]) │ Create a Type.SCATTER matrix from a │ │ │ vector scatter. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createSchurComplement(A00, Ap00, A01, │ Create a Type.SCHURCOMPLEMENT matrix. │ │ A10[, A11]) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createSubMatrices(isrows[, iscols, │ Return several sequential │ │ submats]) │ submatrices. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createSubMatrix(isrow[, iscol, │ Return a submatrix. │ │ submat]) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createSubMatrixVirtual(A, isrow[, │ Create a Type.SUBMATRIX matrix that │ │ iscol]) │ acts as a submatrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createTranspose(mat) │ Create a Type.TRANSPOSE matrix that │ │ │ behaves like Aᵀ. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createVecLeft() │ Return a left vector, a vector that │ │ │ the matrix vector product can be │ │ │ stored in. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createVecRight() │ Return a right vector, a vector that │ │ │ the matrix can be multiplied against. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createVecs([side]) │ Return vectors that can be used in │ │ │ matrix vector products. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy the matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ diagonalScale([L, R]) │ Perform left and/or right diagonal │ │ │ scaling of the matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ duplicate([copy]) │ Return a clone of the matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ equal(mat) │ Return the result of matrix │ │ │ comparison. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ factorCholesky(isperm[, options]) │ Perform an in-place Cholesky │ │ │ factorization. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ factorICC(isperm[, options]) │ Perform an in-place an incomplete │ │ │ Cholesky factorization. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ factorILU(isrow, iscol[, options]) │ Perform an in-place ILU │ │ │ factorization. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ factorLU(isrow, iscol[, options]) │ Perform an in-place LU factorization. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ factorNumericCholesky(mat[, options]) │ Not implemented. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ factorNumericLU(mat[, options]) │ Not implemented. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ factorSymbolicCholesky(isperm[, │ Not implemented. │ │ options]) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ factorSymbolicICC(isperm[, options]) │ Not implemented. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ factorSymbolicILU(isrow, iscol[, │ Not implemented. │ │ options]) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ factorSymbolicLU(mat, isrow, iscol[, │ Not implemented. │ │ options]) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ findZeroRows() │ Return the index set of empty rows. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ fixISLocalEmpty([fix]) │ Compress out zero local rows from the │ │ │ local matrices. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getBlockSize() │ Return the matrix block size. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getBlockSizes() │ Return the row and column block │ │ │ sizes. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getColumnIJ([symmetric, compressed]) │ Return the CSC representation of the │ │ │ local sparsity pattern. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getColumnVector(column[, result]) │ Return the columnᵗʰ column vector of │ │ │ the matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getDM() │ Return the DM defining the data │ │ │ layout of the matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getDenseArray([readonly]) │ Return the array where the data is │ │ │ stored. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getDenseColumnVec(i[, mode]) │ Return the iᵗʰ column vector of the │ │ │ dense matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getDenseLDA() │ Return the leading dimension of the │ │ │ array used by the dense matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getDenseLocalMatrix() │ Return the local part of the dense │ │ │ matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getDiagonal([result]) │ Return the diagonal of the matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getDiagonalBlock() │ Return the part of the matrix │ │ │ associated with the on-process │ │ │ coupling. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getISAllowRepeated() │ Get the flag for repeated entries in │ │ │ the local to global map. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getISLocalMat() │ Return the local matrix stored inside │ │ │ a Type.IS matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getInertia() │ Return the inertia from a factored │ │ │ matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getInfo([info]) │ Return summary information. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getLGMap() │ Return the local-to-global mappings. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getLRCMats() │ Return the constituents of a Type.LRC │ │ │ matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getLocalSize() │ Return the local number of rows and │ │ │ columns. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getLocalSubMatrix(isrow, iscol[, │ Return a reference to a submatrix │ │ submat]) │ specified in local numbering. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getMumpsCntl(icntl) │ Return the MUMPS parameter, │ │ │ CNTL[icntl]. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getMumpsIcntl(icntl) │ Return the MUMPS parameter, │ │ │ ICNTL[icntl]. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getMumpsInfo(icntl) │ Return the MUMPS parameter, │ │ │ INFO[icntl]. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getMumpsInfog(icntl) │ Return the MUMPS parameter, │ │ │ INFOG[icntl]. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getMumpsRinfo(icntl) │ Return the MUMPS parameter, │ │ │ RINFO[icntl]. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getMumpsRinfog(icntl) │ Return the MUMPS parameter, │ │ │ RINFOG[icntl]. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getNearNullSpace() │ Return the near-nullspace. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getNestISs() │ Return the index sets representing │ │ │ the row and column spaces. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getNestLocalISs() │ Return the local index sets │ │ │ representing the row and column │ │ │ spaces. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getNestSize() │ Return the number of rows and columns │ │ │ of the matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getNestSubMatrix(i, j) │ Return a single submatrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getNullSpace() │ Return the nullspace. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getOption(option) │ Return the option value. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getOptionsPrefix() │ Return the prefix used for searching │ │ │ for options in the database. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getOrdering(ord_type) │ Return a reordering for a matrix to │ │ │ improve a LU factorization. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getOwnershipIS() │ Return the ranges of rows and columns │ │ │ owned by each process as index sets. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getOwnershipRange() │ Return the locally owned range of │ │ │ rows. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getOwnershipRangeColumn() │ Return the locally owned range of │ │ │ columns. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getOwnershipRanges() │ Return the range of rows owned by │ │ │ each process. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getOwnershipRangesColumn() │ Return the range of columns owned by │ │ │ each process. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getPythonContext() │ Return the instance of the class │ │ │ implementing the required Python │ │ │ methods. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getPythonType() │ Return the fully qualified Python │ │ │ name of the class used by the matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getRedundantMatrix(nsubcomm[, │ Return redundant matrices on │ │ subcomm, out]) │ subcommunicators. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getRow(row) │ Return the column indices and values │ │ │ for the requested row. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getRowIJ([symmetric, compressed]) │ Return the CSR representation of the │ │ │ local sparsity pattern. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getRowSum([result]) │ Return the row-sum vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getSchurComplementSubMatrices() │ Return Schur complement sub-matrices. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getSize() │ Return the global number of rows and │ │ │ columns. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getSizes() │ Return the tuple of matrix layouts. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getTransposeNullSpace() │ Return the transpose nullspace. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getType() │ Return the type of the matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getValue(row, col) │ Return the value in the (row, col) │ │ │ position. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getValues(rows, cols[, values]) │ Return the values in the zip(rows, │ │ │ cols) positions. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getValuesCSR() │ Return the CSR representation of the │ │ │ local part of the matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getVecType() │ Return the vector type used by the │ │ │ matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ hermitianTranspose([out]) │ Return the transposed Hermitian │ │ │ matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ imagPart([out]) │ Return the imaginary part of the │ │ │ matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ increaseOverlap(iset[, overlap]) │ Increase the overlap of a index set. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ invertBlockDiagonal() │ Return the inverse of the │ │ │ block-diagonal entries. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ isAssembled() │ The boolean flag indicating if the │ │ │ matrix is assembled. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ isHermitian([tol]) │ Return the boolean indicating if the │ │ │ matrix is Hermitian. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ isHermitianKnown() │ Return the 2-tuple indicating if the │ │ │ matrix is known to be Hermitian. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ isStructurallySymmetric() │ Return the boolean indicating if the │ │ │ matrix is structurally symmetric. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ isSymmetric([tol]) │ Return the boolean indicating if the │ │ │ matrix is symmetric. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ isSymmetricKnown() │ Return the 2-tuple indicating if the │ │ │ matrix is known to be symmetric. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ isTranspose([mat, tol]) │ Return the result of matrix │ │ │ comparison with transposition. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ kron(mat[, result]) │ Compute C, the Kronecker product of A │ │ │ and B. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ load(viewer) │ Load a matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ matMatMult(B, C[, result, fill]) │ Perform matrix-matrix-matrix │ │ │ multiplication D=ABC. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ matMult(mat[, result, fill]) │ Perform matrix-matrix multiplication │ │ │ C=AB. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ matSolve(B, X) │ Solve AX=B, given a factored matrix │ │ │ A. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ matTransposeMult(mat[, result, fill]) │ Perform matrix-matrix multiplication │ │ │ C=ABᵀ. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ mult(x, y) │ Perform the matrix vector product y = │ │ │ A @ x. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ multAdd(x, v, y) │ Perform the matrix vector product │ │ │ with addition y = A @ x + v. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ multHermitian(x, y) │ Perform the Hermitian matrix vector │ │ │ product y = A^H @ x. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ multHermitianAdd(x, v, y) │ Perform the Hermitian matrix vector │ │ │ product with addition y = A^H @ x + │ │ │ v. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ multTranspose(x, y) │ Perform the transposed matrix vector │ │ │ product y = A^T @ x. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ multTransposeAdd(x, v, y) │ Perform the transposed matrix vector │ │ │ product with addition y = A^T @ x + │ │ │ v. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ norm([norm_type]) │ Compute the requested matrix norm. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ permute(row, col) │ Return the permuted matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ preallocatorPreallocate(A[, fill]) │ Preallocate memory for a matrix using │ │ │ a preallocator matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ ptap(P[, result, fill]) │ Creates the matrix product C = PᵀAP. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ rart(R[, result, fill]) │ Create the matrix product C = RARᵀ. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ realPart([out]) │ Return the real part of the matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ reorderForNonzeroDiagonal(isrow, │ Change a matrix ordering to remove │ │ iscol[, atol]) │ zeros from the diagonal. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ restoreDenseColumnVec(i[, mode]) │ Restore the iᵗʰ column vector of the │ │ │ dense matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ restoreISLocalMat(local) │ Restore the local matrix obtained │ │ │ with getISLocalMat. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ restoreLocalSubMatrix(isrow, iscol, │ Restore a reference to a submatrix │ │ submat) │ obtained with getLocalSubMatrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ retrieveValues() │ Retrieve a copy of the matrix values │ │ │ previously stored with storeValues. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ scale(alpha) │ Scale the matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setBlockSize(bsize) │ Set the matrix block size (same for │ │ │ rows and columns). │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setBlockSizes(row_bsize, col_bsize) │ Set the row and column block sizes. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setDM(dm) │ Set the DM defining the data layout │ │ │ of the matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setDenseLDA(lda) │ Set the leading dimension of the │ │ │ array used by the dense matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setDiagonal(diag[, addv]) │ Set the diagonal values of the │ │ │ matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFromOptions() │ Configure the matrix from the options │ │ │ database. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setISAllowRepeated([allow]) │ Allow repeated entries in the local │ │ │ to global map. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setISLocalMat(local) │ Set the local matrix stored inside a │ │ │ Type.IS. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setISPreallocation(nnz, onnz) │ Preallocate memory for a Type.IS │ │ │ parallel matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setLGMap(rmap[, cmap]) │ Set the local-to-global mappings. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setLRCMats(A, U[, c, V]) │ Set the constituents of a Type.LRC │ │ │ matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setMumpsCntl(icntl, val) │ Set a MUMPS parameter, CNTL[icntl] = │ │ │ val. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setMumpsIcntl(icntl, ival) │ Set a MUMPS parameter, ICNTL[icntl] = │ │ │ ival. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setNearNullSpace(nsp) │ Set the near-nullspace. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setNestVecType(vec_type) │ Set the vector type for a Type.NEST │ │ │ matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setNullSpace(nsp) │ Set the nullspace. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setOption(option, flag) │ Set option. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setOptionsPrefix([prefix]) │ Set the prefix used for searching for │ │ │ options in the database. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setPreallocationCSR(csr) │ Preallocate memory for the matrix │ │ │ with a CSR layout. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setPreallocationDense(array) │ Set the array used for storing matrix │ │ │ elements for a dense matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setPreallocationNNZ(nnz) │ Preallocate memory for the matrix │ │ │ with a non-zero pattern. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setPythonContext(context) │ Set the instance of the class │ │ │ implementing the required Python │ │ │ methods. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setPythonType(py_type) │ Set the fully qualified Python name │ │ │ of the class to be used. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setRandom([random]) │ Set random values in the matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setSizes(size[, bsize]) │ Set the local, global and block │ │ │ sizes. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setStencil(dims[, starts, dof]) │ Set matrix stencil. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setTransposeNullSpace(nsp) │ Set the transpose nullspace. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setTransposePrecursor(out) │ Set transpose precursor. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setType(mat_type) │ Set the matrix type. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setUnfactored() │ Set a factored matrix to be treated │ │ │ as unfactored. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setUp() │ Set up the internal data structures │ │ │ for using the matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValue(row, col, value[, addv]) │ Set a value to the (row, col) entry │ │ │ of the matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValueBlockedStagStencil(row, col, │ Not implemented. │ │ value) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValueBlockedStencil(row, col, │ Set a block of values to row and col │ │ value[, addv]) │ stencil. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValueLocal(row, col, value[, │ Set a value to the (row, col) entry │ │ addv]) │ of the matrix in local ordering. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValueStagStencil(row, col, value[, │ Not implemented. │ │ addv]) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValueStencil(row, col, value[, │ Set a value to row and col stencil. │ │ addv]) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValues(rows, cols, values[, addv]) │ Set values to the rows ⊗ cols entries │ │ │ of the matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValuesBlocked(rows, cols, values[, │ Set values to the rows ⊗ col block │ │ addv]) │ entries of the matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValuesBlockedCSR(I, J, V[, addv]) │ Set values stored in block CSR │ │ │ format. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValuesBlockedIJV(I, J, V[, addv, │ Set a subset of values stored in │ │ rowmap]) │ block CSR format. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValuesBlockedLocal(rows, cols, │ Set values to the rows ⊗ col block │ │ values[, addv]) │ entries of the matrix in local │ │ │ ordering. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValuesBlockedLocalCSR(I, J, V[, │ Set values stored in block CSR │ │ addv]) │ format. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValuesBlockedLocalIJV(I, J, V[, │ Set a subset of values stored in │ │ addv, rowmap]) │ block CSR format. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValuesBlockedLocalRCV(R, C, V[, │ Undocumented. │ │ addv]) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValuesBlockedRCV(R, C, V[, addv]) │ Undocumented. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValuesCSR(I, J, V[, addv]) │ Set values stored in CSR format. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValuesIJV(I, J, V[, addv, rowmap]) │ Set a subset of values stored in CSR │ │ │ format. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValuesLocal(rows, cols, values[, │ Set values to the rows ⊗ col entries │ │ addv]) │ of the matrix in local ordering. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValuesLocalCSR(I, J, V[, addv]) │ Set values stored in CSR format. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValuesLocalIJV(I, J, V[, addv, │ Set a subset of values stored in CSR │ │ rowmap]) │ format. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValuesLocalRCV(R, C, V[, addv]) │ Undocumented. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValuesRCV(R, C, V[, addv]) │ Undocumented. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setVariableBlockSizes(blocks) │ Set diagonal point-blocks of the │ │ │ matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setVecType(vec_type) │ Set the vector type. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ shift(alpha) │ Shift the matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ solve(b, x) │ Solve Ax=b, given a factored matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ solveAdd(b, y, x) │ Solve x=y+A⁻¹b, given a factored │ │ │ matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ solveBackward(b, x) │ Solve Ux=b, given a factored matrix │ │ │ A=LU. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ solveForward(b, x) │ Solve Lx = b, given a factored matrix │ │ │ A = LU. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ solveTranspose(b, x) │ Solve Aᵀx=b, given a factored matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ solveTransposeAdd(b, y, x) │ Solve x=y+A⁻ᵀb, given a factored │ │ │ matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ storeValues() │ Stash a copy of the matrix values. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ toDLPack([mode]) │ Return a DLPack PyCapsule wrapping │ │ │ the vector data. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ transpose([out]) │ Return the transposed matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ transposeMatMult(mat[, result, fill]) │ Perform matrix-matrix multiplication │ │ │ C=AᵀB. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ View the matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ zeroEntries() │ Zero the entries of the matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ zeroRows(rows[, diag, x, b]) │ Zero selected rows of the matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ zeroRowsColumns(rows[, diag, x, b]) │ Zero selected rows and columns of the │ │ │ matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ zeroRowsColumnsLocal(rows[, diag, x, │ Zero selected rows and columns of the │ │ b]) │ matrix in local ordering. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ zeroRowsColumnsStencil(rows[, diag, │ Zero selected rows and columns of the │ │ x, b]) │ matrix. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ zeroRowsLocal(rows[, diag, x, b]) │ Zero selected rows of the matrix in │ │ │ local ordering. │ └───────────────────────────────────────┴───────────────────────────────────────┘ Attributes Summary ┌──────────────┬───────────────────────────────────────┐ │ assembled │ The boolean flag indicating if the │ │ │ matrix is assembled. │ ├──────────────┼───────────────────────────────────────┤ │ block_size │ Matrix block size. │ ├──────────────┼───────────────────────────────────────┤ │ block_sizes │ Matrix row and column block sizes. │ ├──────────────┼───────────────────────────────────────┤ │ hermitian │ The boolean flag indicating if the │ │ │ matrix is Hermitian. │ ├──────────────┼───────────────────────────────────────┤ │ local_size │ Matrix local size. │ ├──────────────┼───────────────────────────────────────┤ │ owner_range │ Matrix local row range. │ ├──────────────┼───────────────────────────────────────┤ │ owner_ranges │ Matrix row ranges. │ ├──────────────┼───────────────────────────────────────┤ │ size │ Matrix global size. │ ├──────────────┼───────────────────────────────────────┤ │ sizes │ Matrix local and global sizes. │ ├──────────────┼───────────────────────────────────────┤ │ structsymm │ The boolean flag indicating if the │ │ │ matrix is structurally symmetric. │ ├──────────────┼───────────────────────────────────────┤ │ symmetric │ The boolean flag indicating if the │ │ │ matrix is symmetric. │ └──────────────┴───────────────────────────────────────┘ Methods Documentation H2OpusCompress(tol) Compress a hierarchical matrix. Collective. Parameters tol (float) -- The absolute truncation threshold. Return type Self SEE ALSO: MatH2OpusCompress Source code at petsc4py/PETSc/Mat.pyx:4992 H2OpusLowRankUpdate(U, V=None, s=1.0) Perform a low-rank update of the form self += sUVᵀ. Collective. Parameters • U (Mat) -- The dense low-rank update matrix. • V (Mat | None) -- The dense low-rank update matrix. If None, V = U. • s (float) -- The scaling factor. Return type Self SEE ALSO: MatH2OpusLowRankUpdate Source code at petsc4py/PETSc/Mat.pyx:5011 H2OpusOrthogonalize() Orthogonalize the basis tree of a hierarchical matrix. Collective. SEE ALSO: MatH2OpusOrthogonalize Source code at petsc4py/PETSc/Mat.pyx:4979 Return type Self SOR(b, x, omega=1.0, sortype=None, shift=0.0, its=1, lits=1) Compute relaxation (SOR, Gauss-Seidel) sweeps. Neighborwise collective. SEE ALSO: MatSOR Source code at petsc4py/PETSc/Mat.pyx:3825 Parameters • b (Vec) • x (Vec) • omega (float) • sortype (SORType | None) • shift (float) • its (int) • lits (int) Return type None appendOptionsPrefix(prefix=None) Append to the prefix used for searching for options in the database. Logically collective. SEE ALSO: Working with PETSc options, setOptionsPrefix, MatAppendOptionsPrefix Source code at petsc4py/PETSc/Mat.pyx:1751 Parameters prefix (str | None) Return type None assemble(assembly=None) Assemble the matrix. Collective. Parameters assembly (MatAssemblySpec) -- The assembly type. Return type None SEE ALSO: assemblyBegin, assemblyEnd Source code at petsc4py/PETSc/Mat.pyx:3338 assemblyBegin(assembly=None) Begin an assembling stage of the matrix. Collective. Parameters assembly (MatAssemblySpec) -- The assembly type. Return type None SEE ALSO: assemblyEnd, assemble, MatAssemblyBegin Source code at petsc4py/PETSc/Mat.pyx:3302 assemblyEnd(assembly=None) Complete an assembling stage of the matrix initiated with assemblyBegin. Collective. Parameters assembly (MatAssemblySpec) -- The assembly type. Return type None SEE ALSO: assemblyBegin, assemble, MatAssemblyEnd Source code at petsc4py/PETSc/Mat.pyx:3320 axpy(alpha, X, structure=None) Perform the matrix summation self + = ɑ·X. Collective. Parameters • alpha (Scalar) -- The scalar. • X (Mat) -- The matrix to be added. • structure (Structure) -- The structure of the operation. Return type None SEE ALSO: MatAXPY Source code at petsc4py/PETSc/Mat.pyx:4153 aypx(alpha, X, structure=None) Perform the matrix summation self = ɑ·self + X. Collective. Parameters • alpha (Scalar) -- The scalar. • X (Mat) -- The matrix to be added. • structure (Structure) -- The structure of the operation. Return type None SEE ALSO: MatAYPX Source code at petsc4py/PETSc/Mat.pyx:4176 bindToCPU(flg) Mark a matrix to temporarily stay on the CPU. Collective. Once marked, perform computations on the CPU. Parameters flg (bool) -- Bind to the CPU if True. Return type None SEE ALSO: MatBindToCPU Source code at petsc4py/PETSc/Mat.pyx:4520 boundToCPU() Query if a matrix is bound to the CPU. Not collective. SEE ALSO: MatBoundToCPU Source code at petsc4py/PETSc/Mat.pyx:4540 Return type bool chop(tol) Set entries smallest of tol (in absolute values) to zero. Collective. SEE ALSO: MatFilter Source code at petsc4py/PETSc/Mat.pyx:4121 Parameters tol (float) Return type None conjugate(out=None) Return the conjugate matrix. Collective. Parameters out (Mat | None) -- Optional return matrix. If None, the operation is performed in-place. Otherwise, the operation is performed on out. Return type Mat SEE ALSO: realPart, imagPart, MatConjugate Source code at petsc4py/PETSc/Mat.pyx:2215 convert(mat_type=None, out=None) Convert the matrix type. Collective. Parameters • mat_type (Type | str) -- The type of the new matrix. If None uses Type.SAME. • out (Mat | None) -- Optional return matrix. If None, inplace conversion is performed. Otherwise, the matrix is reused. Return type Mat SEE ALSO: MatConvert Source code at petsc4py/PETSc/Mat.pyx:2071 copy(result=None, structure=None) Return a copy of the matrix. Collective. Parameters • result (Mat | None) -- Optional return matrix. If None, it is internally created. • structure (Structure | None) -- The copy structure. Only relevant if result is not None. Return type Mat SEE ALSO: MatCopy, MatDuplicate Source code at petsc4py/PETSc/Mat.pyx:2026 create(comm=None) Create the matrix. Collective. Once created, the user should call setType or setFromOptions before using the matrix. Alternatively, specific creation routines such as createAIJ or createBAIJ can be used. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: destroy, MatCreate Source code at petsc4py/PETSc/Mat.pyx:488 createAIJ(size, bsize=None, nnz=None, csr=None, comm=None) Create a sparse Type.AIJ matrix, optionally preallocating. Collective. To preallocate the matrix the user can either pass nnz or csr describing the sparsity. If neither is set then preallocation will not occur. Consult the PETSc manual for more information. Parameters • size (MatSizeSpec) -- Matrix size. • bsize (MatBlockSizeSpec | None) -- Matrix block size. If None, a block size of 1 is set. • nnz (NNZSpec | None) -- Optional non-zeros preallocation pattern. • csr (CSRIndicesSpec | None) -- Optional compressed sparse row layout information. If provided, it takes precedence on nnz. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: setSizes, createBAIJ, MATAIJ, MATSEQAIJ, MATMPIAIJ, MatCreateAIJ, ‐ MatSeqAIJSetPreallocation, MatSeqAIJSetPreallocationCSR Source code at petsc4py/PETSc/Mat.pyx:693 createAIJCRL(size, bsize=None, nnz=None, csr=None, comm=None) Create a sparse Type.AIJCRL matrix. Collective. This is similar to Type.AIJ matrices but stores some additional information that improves vectorization for the matrix-vector product. To preallocate the matrix the user can either pass nnz or csr describing the sparsity. If neither is set then preallocation will not occur. Consult the PETSc manual for more information. Parameters • size (MatSizeSpec) -- Matrix size. • bsize (MatBlockSizeSpec | None) -- Matrix block size. If None, a block size of 1 is set. • nnz (NNZSpec | None) -- Optional non-zeros preallocation pattern. • csr (CSRIndicesSpec | None) -- Optional compressed sparse row layout information. If provided, it takes precedence on nnz. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: createAIJ, createBAIJ, MatCreateSeqAIJCRL, MatCreateMPIAIJCRL Source code at petsc4py/PETSc/Mat.pyx:826 createAIJWithArrays(size, csr, bsize=None, comm=None) Create a sparse Type.AIJ matrix with data in CSR format. Collective. Parameters • size (MatSizeSpec) -- Matrix size. • csr (CSRSpec | tuple[CSRSpec, CSRSpec]) -- Local matrix data in compressed sparse row format. • bsize (MatBlockSizeSpec | None) -- Matrix block size. If None, a block size of 1 is set. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self Notes For Type.SEQAIJ matrices, the csr data is not copied. For Type.MPIAIJ matrices, the csr data is not copied only in the case it represents on-process and off-process information. SEE ALSO: createAIJ, MatCreateSeqAIJWithArrays, MatCreateMPIAIJWithArrays, ‐ MatCreateMPIAIJWithSplitArrays Source code at petsc4py/PETSc/Mat.pyx:956 createBAIJ(size, bsize, nnz=None, csr=None, comm=None) Create a sparse blocked Type.BAIJ matrix, optionally preallocating. Collective. To preallocate the matrix the user can either pass nnz or csr describing the sparsity. If neither is set then preallocation will not occur. Consult the PETSc manual for more information. Parameters • size (MatSizeSpec) -- Matrix size. • bsize (MatBlockSizeSpec) -- Matrix block size. • nnz (NNZSpec | None) -- Optional non-zeros preallocation pattern for block rows. • csr (CSRIndicesSpec | None) -- Optional block-compressed sparse row layout information. If provided, it takes precedence on nnz. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: setSizes, createAIJ, MATBAIJ, MATSEQBAIJ, MATMPIBAIJ, MatCreateBAIJ Source code at petsc4py/PETSc/Mat.pyx:738 createConstantDiagonal(size, diag, comm=None) Create a diagonal matrix of type Type.CONSTANTDIAGONAL. Collective. Parameters • size (MatSizeSpec) -- Matrix size. • diag (float) -- The diagonal value. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: createDiagonal Source code at petsc4py/PETSc/Mat.pyx:1561 createDense(size, bsize=None, array=None, comm=None) Create a Type.DENSE matrix. Collective. Parameters • size (MatSizeSpec) -- Matrix size. • bsize (MatBlockSizeSpec | None) -- Matrix block size. If None, a block size of 1 is set. • array (Sequence[Scalar] | None) -- Optional matrix data. If None, memory is internally allocated. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: createDenseCUDA, MATDENSE, MatCreateDense Source code at petsc4py/PETSc/Mat.pyx:1047 createDenseCUDA(size, bsize=None, array=None, cudahandle=None, comm=None) Create a Type.DENSECUDA matrix with optional host and device data. Collective. Parameters • size (MatSizeSpec) -- Matrix size. • bsize (MatBlockSizeSpec | None) -- Matrix block size. If None, a block size of 1 is set. • array (Sequence[Scalar] | None) -- Host data. Will be lazily allocated if None. • cudahandle (int | None) -- Address of the array on the GPU. Will be lazily allocated if None. If cudahandle is provided, array will be ignored. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: createDense, MatCreateDenseCUDA Source code at petsc4py/PETSc/Mat.pyx:1083 createDiagonal(diag) Create a diagonal matrix of type Type.DIAGONAL. Collective. Parameters diag (Vec) -- The vector holding diagonal values. Return type Self SEE ALSO: createConstantDiagonal Source code at petsc4py/PETSc/Mat.pyx:1594 createH2OpusFromMat(A, coordinates=None, dist=None, eta=None, leafsize=None, maxrank=None, bs=None, rtol=None) Create a hierarchical Type.H2OPUS matrix sampling from a provided operator. Collective. Parameters • A (Mat) -- Matrix to be sampled. • coordinates (Sequence[Scalar] | None) -- Coordinates of the points. • dist (bool | None) -- Whether or not coordinates are distributed, defaults to ‐ False. • eta (float | None) -- Admissibility condition tolerance, defaults to DECIDE. • leafsize (int | None) -- Leaf size in cluster tree, defaults to DECIDE. • maxrank (int | None) -- Maximum rank permitted, defaults to DECIDE. • bs (int | None) -- Maximum number of samples to take concurrently, defaults to DECIDE. • rtol (float | None) -- Relative tolerance for construction, defaults to DECIDE. Return type Self Notes See MatCreateH2OpusFromMat for the appropriate database options. SEE ALSO: Working with PETSc options, MatCreateH2OpusFromMat Source code at petsc4py/PETSc/Mat.pyx:1427 createHermitianTranspose(mat) Create a Type.HERMITIANTRANSPOSE matrix that behaves like (A*)ᵀ. Collective. Parameters mat (Mat) -- Matrix A to represent the hermitian transpose of. Return type Self Notes The Hermitian transpose is never actually formed. SEE ALSO: createNormal, createNormalHermitian, MATHERMITIANTRANSPOSEVIRTUAL, ‐ MatCreateHermitianTranspose Source code at petsc4py/PETSc/Mat.pyx:1263 createIS(size, bsize=None, lgmapr=None, lgmapc=None, comm=None) Create a Type.IS matrix representing globally unassembled operators. Collective. Parameters • size (MatSizeSpec) -- Matrix size. • bsize (MatBlockSizeSpec | None) -- Matrix block size. If None, a block size of 1 is set. • lgmapr (LGMap | None) -- Optional local-to-global mapping for the rows. If None, the local row space matches the global row space. • lgmapc (LGMap | None) -- Optional local-to-global mapping for the columns. If ‐ None, the local column space matches the global column space. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: MATIS Source code at petsc4py/PETSc/Mat.pyx:1508 createLRC(A, U, c, V) Create a low-rank correction Type.LRC matrix representing A + UCVᵀ. Collective. Parameters • A (Mat) -- Sparse matrix, can be None. • U (Mat) -- Dense rectangular matrices. • V (Mat) -- Dense rectangular matrices. • c (Vec) -- Vector containing the diagonal of C, can be None. Return type Self Notes The matrix A + UCVᵀ is never actually formed. C is a diagonal matrix (represented as a vector) of order k, where k is the number of columns of both U and V. If A is None then the new object behaves like a low-rank matrix UCVᵀ. Use the same matrix for V and U (or V=None) for a symmetric low-rank correction, A + UCUᵀ. If c is None then the low-rank correction is just U*Vᵀ. If a sequential c vector is used for a parallel matrix, PETSc assumes that the values of the vector are consistently set across processors. SEE ALSO: MATLRC, MatCreateLRC Source code at petsc4py/PETSc/Mat.pyx:1288 createNest(mats, isrows=None, iscols=None, comm=None) Create a Type.NEST matrix containing multiple submatrices. Collective. Parameters • mats (Sequence[Sequence[Mat]]) -- Iterable of matrix block rows with size len(isrows). Each matrix block row must be of size len(iscols). Empty submatrices can be set with None. • isrows (Sequence[IS] | None) -- Index set for each nested row block, defaults to contiguous ordering. • iscols (Sequence[IS] | None) -- Index set for each nested column block, defaults to contiguous ordering. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: MatCreateNest, MATNEST Source code at petsc4py/PETSc/Mat.pyx:1360 createNormal(mat) Create a Type.NORMAL matrix representing AᵀA. Collective. Parameters mat (Mat) -- The (possibly rectangular) matrix A. Return type Self Notes The product AᵀA is never actually formed. Instead A and Aᵀ are used during mult and various other matrix operations. SEE ALSO: MATNORMAL, MatCreateNormal Source code at petsc4py/PETSc/Mat.pyx:1188 createNormalHermitian(mat) Create a Type.NORMALHERMITIAN matrix representing (A*)ᵀA. Collective. Parameters mat (Mat) -- The (possibly rectangular) matrix A. Return type Self Notes The product (A*)ᵀA is never actually formed. SEE ALSO: createHermitianTranspose, MATNORMAL, MATNORMALHERMITIAN, MatCreateNormalHermitian Source code at petsc4py/PETSc/Mat.pyx:1238 createPython(size, context=None, comm=None) Create a Type.PYTHON matrix. Collective. Parameters • size (MatSizeSpec) -- Matrix size. • context (Any) -- An instance of the Python class implementing the required methods. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: PETSc Python matrix type, setType, setPythonContext, Type.PYTHON Source code at petsc4py/PETSc/Mat.pyx:1617 createSBAIJ(size, bsize, nnz=None, csr=None, comm=None) Create a sparse Type.SBAIJ matrix in symmetric block format. Collective. To preallocate the matrix the user can either pass nnz or csr describing the sparsity. If neither is set then preallocation will not occur. Consult the PETSc manual for more information. Parameters • size (MatSizeSpec) -- Matrix size. • bsize (MatBlockSizeSpec) -- Matrix block size. • nnz (NNZSpec | None) -- Optional upper-triangular (including diagonal) non-zeros preallocation pattern for block rows. • csr (CSRIndicesSpec | None) -- Optional block-compressed sparse row layout information. If provided, it takes precedence on nnz. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: createAIJ, createBAIJ, MatCreateSBAIJ Source code at petsc4py/PETSc/Mat.pyx:782 createScatter(scatter, comm=None) Create a Type.SCATTER matrix from a vector scatter. Collective. Parameters • scatter (Scatter) -- Vector scatter. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: MATSCATTER, MatCreateScatter Source code at petsc4py/PETSc/Mat.pyx:1164 createSchurComplement(A00, Ap00, A01, A10, A11=None) Create a Type.SCHURCOMPLEMENT matrix. Collective. Parameters • A00 (Mat) -- the upper-left block of the original matrix A = [A00 A01; A10 A11]. • Ap00 (Mat) -- preconditioning matrix for use in ksp(A00,Ap00) to approximate the action of A00^{-1}. • A01 (Mat) -- the upper-right block of the original matrix A = [A00 A01; A10 A11]. • A10 (Mat) -- the lower-left block of the original matrix A = [A00 A01; A10 A11]. • A11 (Mat | None) -- Optional lower-right block of the original matrix A = [A00 A01; A10 A11]. Return type Self SEE ALSO: MatCreateSchurComplement Source code at petsc4py/PETSc/Mat.pyx:3969 createSubMatrices(isrows, iscols=None, submats=None) Return several sequential submatrices. Collective. Parameters • isrows (IS | Sequence[IS]) -- Row index sets. • iscols (IS | Sequence[IS]) -- Column index sets. If None, iscols = isrows. • submats (Mat | Sequence[Mat]) -- Optional resultant matrices. When None, new matrices are created, and MAT_INITIAL_MATRIX is used. When not None, the matrices are reused with MAT_REUSE_MATRIX. Return type Sequence[Mat] SEE ALSO: MatCreateSubMatrices Source code at petsc4py/PETSc/Mat.pyx:3912 createSubMatrix(isrow, iscol=None, submat=None) Return a submatrix. Collective. Parameters • isrow (IS) -- Row index set. • iscol (IS | None) -- Column index set. If None, iscol = isrow. • submat (Mat | None) -- Optional resultant matrix. When None, a new matrix is created, and MAT_INITIAL_MATRIX is used. When not None, the matrix is reused with MAT_REUSE_MATRIX. Return type Mat SEE ALSO: MatCreateSubMatrix Source code at petsc4py/PETSc/Mat.pyx:3882 createSubMatrixVirtual(A, isrow, iscol=None) Create a Type.SUBMATRIX matrix that acts as a submatrix. Collective. Parameters • A (Mat) -- Matrix to extract submatrix from. • isrow (IS) -- Rows present in the submatrix. • iscol (IS | None) -- Columns present in the submatrix, defaults to isrow. Return type Self SEE ALSO: MatCreateSubMatrixVirtual Source code at petsc4py/PETSc/Mat.pyx:1335 createTranspose(mat) Create a Type.TRANSPOSE matrix that behaves like Aᵀ. Collective. Parameters mat (Mat) -- Matrix A to represent the transpose of. Return type Self Notes The transpose is never actually formed. Instead multTranspose is called whenever the matrix-vector product is computed. SEE ALSO: createNormal, MatCreateTranspose Source code at petsc4py/PETSc/Mat.pyx:1213 createVecLeft() Return a left vector, a vector that the matrix vector product can be stored in. Collective. SEE ALSO: createVecs, createVecRight, MatCreateVecs Source code at petsc4py/PETSc/Mat.pyx:3438 Return type Vec createVecRight() Return a right vector, a vector that the matrix can be multiplied against. Collective. SEE ALSO: createVecs, createVecLeft, MatCreateVecs Source code at petsc4py/PETSc/Mat.pyx:3424 Return type Vec createVecs(side=None) Return vectors that can be used in matrix vector products. Collective. Parameters side (Literal['r', 'R', 'right', 'Right', 'RIGHT', 'l', 'L', 'left', 'Left', 'LEFT'] | None) -- If None returns a 2-tuple of vectors (right, left). Otherwise it just return a left or right vector. Return type Vec | tuple[Vec, Vec] Notes right vectors are vectors in the column space of the matrix. left vectors are vectors in the row space of the matrix. SEE ALSO: createVecLeft, createVecRight, MatCreateVecs Source code at petsc4py/PETSc/Mat.pyx:3385 destroy() Destroy the matrix. Collective. SEE ALSO: create, MatDestroy Source code at petsc4py/PETSc/Mat.pyx:475 Return type Self diagonalScale(L=None, R=None) Perform left and/or right diagonal scaling of the matrix. Collective. Parameters • L (Vec | None) -- Optional left scaling vector. • R (Vec | None) -- Optional right scaling vector. Return type None SEE ALSO: MatDiagonalScale Source code at petsc4py/PETSc/Mat.pyx:3577 duplicate(copy=False) Return a clone of the matrix. Collective. Parameters copy (bool) -- If True, it also copies the values. Return type Mat SEE ALSO: MatDuplicate Source code at petsc4py/PETSc/Mat.pyx:2004 equal(mat) Return the result of matrix comparison. Collective. SEE ALSO: MatEqual Source code at petsc4py/PETSc/Mat.pyx:2259 Parameters mat (Mat) Return type bool factorCholesky(isperm, options=None) Perform an in-place Cholesky factorization. Collective. Parameters • isperm (IS) -- The row and column permutations. • options (dict[str, Any] | None) -- An optional dictionary of options for the factorization. These include fill, the expected fill as a ratio of the original fill. Return type None SEE ALSO: factorLU, MatCholeskyFactor Source code at petsc4py/PETSc/Mat.pyx:4684 factorICC(isperm, options=None) Perform an in-place an incomplete Cholesky factorization. Collective. Parameters • isperm (IS) -- The row and column permutations • options (dict[str, Any] | None) -- An optional dictionary of options for the factorization. These include fill, the expected fill as a ratio of the original fill. Return type None SEE ALSO: factorILU, MatICCFactor Source code at petsc4py/PETSc/Mat.pyx:4717 factorILU(isrow, iscol, options=None) Perform an in-place ILU factorization. Collective. Parameters • isrow (IS) -- The row permutation. • iscol (IS) -- The column permutation. • options (dict[str, Any] | None) -- An optional dictionary of options for the factorization. These include levels, the number of levels of fill, fill, the expected fill as a ratio of the original fill, and dtcol, the pivot tolerance where 0 indicates no pivot and 1 indicates full column pivoting. Return type None SEE ALSO: MatILUFactor Source code at petsc4py/PETSc/Mat.pyx:4650 factorLU(isrow, iscol, options=None) Perform an in-place LU factorization. Collective. Parameters • isrow (IS) -- The row permutation. • iscol (IS) -- The column permutation. • options (dict[str, Any] | None) -- An optional dictionary of options for the factorization. These include fill, the expected fill as a ratio of the original fill and dtcol, the pivot tolerance where 0 indicates no pivot and 1 indicates full column pivoting. Return type None SEE ALSO: MatLUFactor Source code at petsc4py/PETSc/Mat.pyx:4612 factorNumericCholesky(mat, options=None) Not implemented. Source code at petsc4py/PETSc/Mat.pyx:4713 Parameters mat (Mat) Return type None factorNumericLU(mat, options=None) Not implemented. Source code at petsc4py/PETSc/Mat.pyx:4646 Parameters mat (Mat) Return type None factorSymbolicCholesky(isperm, options=None) Not implemented. Source code at petsc4py/PETSc/Mat.pyx:4709 Parameters isperm (IS) Return type None factorSymbolicICC(isperm, options=None) Not implemented. Source code at petsc4py/PETSc/Mat.pyx:4742 Parameters isperm (IS) Return type None factorSymbolicILU(isrow, iscol, options=None) Not implemented. Source code at petsc4py/PETSc/Mat.pyx:4680 Parameters • isrow (IS) • iscol (IS) Return type None factorSymbolicLU(mat, isrow, iscol, options=None) Not implemented. Source code at petsc4py/PETSc/Mat.pyx:4642 Parameters • mat (Mat) • isrow (IS) • iscol (IS) Return type None findZeroRows() Return the index set of empty rows. Collective. SEE ALSO: MatFindZeroRows Source code at petsc4py/PETSc/Mat.pyx:3371 Return type IS fixISLocalEmpty(fix=True) Compress out zero local rows from the local matrices. Collective. Parameters fix (bool) -- When True, new local matrices and local to global maps are generated during the final assembly process. Return type None SEE ALSO: MatISFixLocalEmpty Source code at petsc4py/PETSc/Mat.pyx:4817 getBlockSize() Return the matrix block size. Not collective. SEE ALSO: getBlockSize, MatGetBlockSize Source code at petsc4py/PETSc/Mat.pyx:1874 Return type int getBlockSizes() Return the row and column block sizes. Not collective. SEE ALSO: getBlockSize, MatGetBlockSizes Source code at petsc4py/PETSc/Mat.pyx:1888 Return type tuple[int, int] getColumnIJ(symmetric=False, compressed=False) Return the CSC representation of the local sparsity pattern. Collective. Parameters • symmetric (bool) -- If True, return the symmetrized graph. • compressed (bool) -- If True, return the compressed graph. Return type tuple[ArrayInt, ArrayInt] SEE ALSO: MatGetRowIJ Source code at petsc4py/PETSc/Mat.pyx:2518 getColumnVector(column, result=None) Return the columnᵗʰ column vector of the matrix. Collective. Parameters • column (int) -- Column index. • result (Vec | None) -- Optional vector to store the result. Return type Vec SEE ALSO: MatGetColumnVector Source code at petsc4py/PETSc/Mat.pyx:3458 getDM() Return the DM defining the data layout of the matrix. Not collective. SEE ALSO: MatGetDM Source code at petsc4py/PETSc/Mat.pyx:5570 Return type DM getDenseArray(readonly=False) Return the array where the data is stored. Not collective. Parameters readonly (bool) -- Enable to obtain a read only array. Return type ArrayScalar SEE ALSO: MatDenseGetArrayRead, MatDenseGetArray Source code at petsc4py/PETSc/Mat.pyx:5375 getDenseColumnVec(i, mode='rw') Return the iᵗʰ column vector of the dense matrix. Collective. Parameters • i (int) -- The column index to access. • mode (AccessModeSpec) -- The access type of the returned array Return type Vec SEE ALSO: restoreDenseColumnVec, MatDenseGetColumnVec, MatDenseGetColumnVecRead, ‐ MatDenseGetColumnVecWrite Source code at petsc4py/PETSc/Mat.pyx:5428 getDenseLDA() Return the leading dimension of the array used by the dense matrix. Not collective. SEE ALSO: MatDenseGetLDA Source code at petsc4py/PETSc/Mat.pyx:5361 Return type int getDenseLocalMatrix() Return the local part of the dense matrix. Not collective. SEE ALSO: MatDenseGetLocalMatrix Source code at petsc4py/PETSc/Mat.pyx:5413 Return type Mat getDiagonal(result=None) Return the diagonal of the matrix. Collective. Parameters result (Vec | None) -- Optional vector to store the result. Return type Vec SEE ALSO: setDiagonal, MatGetDiagonal Source code at petsc4py/PETSc/Mat.pyx:3513 getDiagonalBlock() Return the part of the matrix associated with the on-process coupling. Not collective. SEE ALSO: MatGetDiagonalBlock Source code at petsc4py/PETSc/Mat.pyx:3854 Return type Mat getISAllowRepeated() Get the flag for repeated entries in the local to global map. Not collective. SEE ALSO: setISAllowRepeated, MatISGetAllowRepeated Source code at petsc4py/PETSc/Mat.pyx:4803 Return type bool getISLocalMat() Return the local matrix stored inside a Type.IS matrix. Not collective. SEE ALSO: MatISGetLocalMat Source code at petsc4py/PETSc/Mat.pyx:4836 Return type Mat getInertia() Return the inertia from a factored matrix. Collective. The matrix must have been factored by calling factorCholesky. Returns • n (int) -- The number of negative eigenvalues. • z (int) -- The number of zero eigenvalues. • p (int) -- The number of positive eigenvalues. Return type tuple[int, int, int] SEE ALSO: MatGetInertia Source code at petsc4py/PETSc/Mat.pyx:4746 getInfo(info=None) Return summary information. Collective. Parameters info (InfoType) -- If None, it uses InfoType.GLOBAL_SUM. Return type dict[str, float] SEE ALSO: MatInfo, MatGetInfo Source code at petsc4py/PETSc/Mat.pyx:1984 getLGMap() Return the local-to-global mappings. Not collective. SEE ALSO: setLGMap, MatGetLocalToGlobalMapping Source code at petsc4py/PETSc/Mat.pyx:2784 Return type tuple[LGMap, LGMap] getLRCMats() Return the constituents of a Type.LRC matrix. Not collective. Returns • A (Mat) -- The A matrix. • U (Mat) -- The first dense rectangular matrix. • c (Vec) -- The sequential vector containing the diagonal of C. • V (Mat) -- The second dense rectangular matrix. Return type tuple[Mat, Mat, Vec, Mat] SEE ALSO: MatLRCGetMats Source code at petsc4py/PETSc/Mat.pyx:4918 getLocalSize() Return the local number of rows and columns. Not collective. SEE ALSO: getSize, MatGetLocalSize Source code at petsc4py/PETSc/Mat.pyx:1844 Return type tuple[int, int] getLocalSubMatrix(isrow, iscol, submat=None) Return a reference to a submatrix specified in local numbering. Collective. Parameters • isrow (IS) -- Row index set. • iscol (IS) -- Column index set. • submat (Mat | None) -- Optional resultant matrix. When None, a new matrix is created. When not None, the matrix is first destroyed and then recreated. Return type Mat SEE ALSO: restoreLocalSubMatrix, MatGetLocalSubMatrix Source code at petsc4py/PETSc/Mat.pyx:4024 getMumpsCntl(icntl) Return the MUMPS parameter, CNTL[icntl]. Logically collective. SEE ALSO: Working with PETSc options, MatMumpsGetCntl Source code at petsc4py/PETSc/Mat.pyx:5096 Parameters icntl (int) Return type float getMumpsIcntl(icntl) Return the MUMPS parameter, ICNTL[icntl]. Logically collective. SEE ALSO: Working with PETSc options, MatMumpsGetIcntl Source code at petsc4py/PETSc/Mat.pyx:5060 Parameters icntl (int) Return type int getMumpsInfo(icntl) Return the MUMPS parameter, INFO[icntl]. Logically collective. Parameters icntl (int) -- The index of the MUMPS INFO array. Return type int SEE ALSO: MatMumpsGetInfo Source code at petsc4py/PETSc/Mat.pyx:5111 getMumpsInfog(icntl) Return the MUMPS parameter, INFOG[icntl]. Logically collective. Parameters icntl (int) -- The index of the MUMPS INFOG array. Return type int SEE ALSO: MatMumpsGetInfog Source code at petsc4py/PETSc/Mat.pyx:5131 getMumpsRinfo(icntl) Return the MUMPS parameter, RINFO[icntl]. Logically collective. Parameters icntl (int) -- The index of the MUMPS RINFO array. Return type float SEE ALSO: MatMumpsGetRinfo Source code at petsc4py/PETSc/Mat.pyx:5151 getMumpsRinfog(icntl) Return the MUMPS parameter, RINFOG[icntl]. Logically collective. Parameters icntl (int) -- The index of the MUMPS RINFOG array. Return type float SEE ALSO: MatMumpsGetRinfog Source code at petsc4py/PETSc/Mat.pyx:5171 getNearNullSpace() Return the near-nullspace. Not collective. SEE ALSO: getNullSpace, setNearNullSpace, MatSetNearNullSpace Source code at petsc4py/PETSc/Mat.pyx:3686 Return type NullSpace getNestISs() Return the index sets representing the row and column spaces. Not collective. SEE ALSO: MatNestGetISs Source code at petsc4py/PETSc/Mat.pyx:5502 Return type tuple[list[IS], list[IS]] getNestLocalISs() Return the local index sets representing the row and column spaces. Not collective. SEE ALSO: MatNestGetLocalISs Source code at petsc4py/PETSc/Mat.pyx:5523 Return type tuple[list[IS], list[IS]] getNestSize() Return the number of rows and columns of the matrix. Not collective. SEE ALSO: MatNestGetSize Source code at petsc4py/PETSc/Mat.pyx:5488 Return type tuple[int, int] getNestSubMatrix(i, j) Return a single submatrix. Not collective. Parameters • i (int) -- The first index of the matrix within the nesting. • j (int) -- The second index of the matrix within the nesting. Return type Mat SEE ALSO: MatNestGetSubMat Source code at petsc4py/PETSc/Mat.pyx:5544 getNullSpace() Return the nullspace. Not collective. SEE ALSO: setNullSpace, MatGetNullSpace Source code at petsc4py/PETSc/Mat.pyx:3632 Return type NullSpace getOption(option) Return the option value. Not collective. SEE ALSO: setOption, MatGetOption Source code at petsc4py/PETSc/Mat.pyx:1802 Parameters option (Option) Return type bool getOptionsPrefix() Return the prefix used for searching for options in the database. Not collective. SEE ALSO: Working with PETSc options, setOptionsPrefix, MatGetOptionsPrefix Source code at petsc4py/PETSc/Mat.pyx:1737 Return type str getOrdering(ord_type) Return a reordering for a matrix to improve a LU factorization. Collective. Parameters ord_type (OrderingType) -- The type of reordering. Returns • rp (IS) -- The row permutation indices. • cp (IS) -- The column permutation indices. Return type tuple[IS, IS] SEE ALSO: MatGetOrdering Source code at petsc4py/PETSc/Mat.pyx:4556 getOwnershipIS() Return the ranges of rows and columns owned by each process as index sets. Not collective. SEE ALSO: getOwnershipRanges, getOwnershipRangesColumn, MatGetOwnershipIS Source code at petsc4py/PETSc/Mat.pyx:1969 Return type tuple[IS, IS] getOwnershipRange() Return the locally owned range of rows. Not collective. SEE ALSO: getOwnershipRanges, getOwnershipRangeColumn, MatGetOwnershipRange Source code at petsc4py/PETSc/Mat.pyx:1902 Return type tuple[int, int] getOwnershipRangeColumn() Return the locally owned range of columns. Not collective. SEE ALSO: getOwnershipRangesColumn, getOwnershipRange, MatGetOwnershipRangeColumn Source code at petsc4py/PETSc/Mat.pyx:1936 Return type tuple[int, int] getOwnershipRanges() Return the range of rows owned by each process. Not collective. The returned array is the result of exclusive scan of the local sizes. SEE ALSO: getOwnershipRange, MatGetOwnershipRanges Source code at petsc4py/PETSc/Mat.pyx:1916 Return type ArrayInt getOwnershipRangesColumn() Return the range of columns owned by each process. Not collective. SEE ALSO: getOwnershipRangeColumn, MatGetOwnershipRangesColumn Source code at petsc4py/PETSc/Mat.pyx:1951 Return type ArrayInt getPythonContext() Return the instance of the class implementing the required Python methods. Not collective. SEE ALSO: PETSc Python matrix type, setPythonContext Source code at petsc4py/PETSc/Mat.pyx:1671 Return type Any getPythonType() Return the fully qualified Python name of the class used by the matrix. Not collective. SEE ALSO: PETSc Python matrix type, setPythonContext, setPythonType, MatPythonGetType Source code at petsc4py/PETSc/Mat.pyx:1706 Return type str getRedundantMatrix(nsubcomm, subcomm=None, out=None) Return redundant matrices on subcommunicators. Collective. Parameters • nsubcomm (int) -- The number of subcommunicators. • subcomm (Comm | None) -- Communicator split or None for the null communicator. • out (Mat | None) -- Optional resultant matrix. When None, a new matrix is created, and MAT_INITIAL_MATRIX is used. When not None, the matrix is reused with MAT_REUSE_MATRIX. Return type Mat SEE ALSO: MatCreateRedundantMatrix Source code at petsc4py/PETSc/Mat.pyx:3483 getRow(row) Return the column indices and values for the requested row. Not collective. SEE ALSO: MatGetRow Source code at petsc4py/PETSc/Mat.pyx:2467 Parameters row (int) Return type tuple[ArrayInt, ArrayScalar] getRowIJ(symmetric=False, compressed=False) Return the CSR representation of the local sparsity pattern. Collective. Parameters • symmetric (bool) -- If True, return the symmetrized graph. • compressed (bool) -- If True, return the compressed graph. Return type tuple[ArrayInt, ArrayInt] SEE ALSO: MatGetRowIJ Source code at petsc4py/PETSc/Mat.pyx:2487 getRowSum(result=None) Return the row-sum vector. Collective. Parameters result (Vec | None) -- Optional vector to store the result. Return type Vec SEE ALSO: MatGetRowSum Source code at petsc4py/PETSc/Mat.pyx:3535 getSchurComplementSubMatrices() Return Schur complement sub-matrices. Collective. SEE ALSO: MatSchurComplementGetSubMatrices Source code at petsc4py/PETSc/Mat.pyx:4003 Return type tuple[Mat, Mat, Mat, Mat, Mat] getSize() Return the global number of rows and columns. Not collective. SEE ALSO: getLocalSize, getSizes, MatGetSize Source code at petsc4py/PETSc/Mat.pyx:1830 Return type tuple[int, int] getSizes() Return the tuple of matrix layouts. Not collective. SEE ALSO: getLocalSize, getSize Source code at petsc4py/PETSc/Mat.pyx:1858 Return type tuple[LayoutSizeSpec, LayoutSizeSpec] getTransposeNullSpace() Return the transpose nullspace. Not collective. SEE ALSO: getNullSpace, setTransposeNullSpace, MatGetTransposeNullSpace Source code at petsc4py/PETSc/Mat.pyx:3659 Return type NullSpace getType() Return the type of the matrix. Not collective. SEE ALSO: setType, Type, MatGetType Source code at petsc4py/PETSc/Mat.pyx:1816 Return type str getValue(row, col) Return the value in the (row, col) position. Not collective. SEE ALSO: MatGetValues Source code at petsc4py/PETSc/Mat.pyx:2392 Return type Scalar getValues(rows, cols, values=None) Return the values in the zip(rows, cols) positions. Not collective. Parameters • rows (Sequence[int]) -- Row indices. • cols (Sequence[int]) -- Column indices. • values (ArrayScalar) -- Optional array where to store the values. Return type ArrayScalar SEE ALSO: MatGetValues Source code at petsc4py/PETSc/Mat.pyx:2408 getValuesCSR() Return the CSR representation of the local part of the matrix. Not collective. SEE ALSO: MatGetRow Source code at petsc4py/PETSc/Mat.pyx:2429 Return type tuple[ArrayInt, ArrayInt, ArrayScalar] getVecType() Return the vector type used by the matrix. Not collective. SEE ALSO: setVecType, MatGetVecType Source code at petsc4py/PETSc/Mat.pyx:658 Return type str hermitianTranspose(out=None) Return the transposed Hermitian matrix. Collective. Parameters out (Mat | None) -- Optional return matrix. If None, inplace transposition is performed. Otherwise, the matrix is reused. Return type Mat SEE ALSO: MatHermitianTranspose Source code at petsc4py/PETSc/Mat.pyx:2142 imagPart(out=None) Return the imaginary part of the matrix. Collective. Parameters out (Mat | None) -- Optional return matrix. If None, the operation is performed in-place. Otherwise, the operation is performed on out. Return type Mat SEE ALSO: realPart, conjugate, MatImaginaryPart Source code at petsc4py/PETSc/Mat.pyx:2192 increaseOverlap(iset, overlap=1) Increase the overlap of a index set. Collective. SEE ALSO: MatIncreaseOverlap Source code at petsc4py/PETSc/Mat.pyx:3869 Parameters • iset (IS) • overlap (int) Return type None invertBlockDiagonal() Return the inverse of the block-diagonal entries. Collective. SEE ALSO: MatInvertBlockDiagonal Source code at petsc4py/PETSc/Mat.pyx:3599 Return type ArrayScalar isAssembled() The boolean flag indicating if the matrix is assembled. Not collective. SEE ALSO: assemble, MatAssembled Source code at petsc4py/PETSc/Mat.pyx:3357 Return type bool isHermitian(tol=0) Return the boolean indicating if the matrix is Hermitian. Collective. Parameters tol (float) -- Tolerance for comparison. Return type bool SEE ALSO: MatIsHermitian Source code at petsc4py/PETSc/Mat.pyx:2331 isHermitianKnown() Return the 2-tuple indicating if the matrix is known to be Hermitian. Not collective. SEE ALSO: MatIsHermitianKnown Source code at petsc4py/PETSc/Mat.pyx:2351 Return type tuple[bool, bool] isStructurallySymmetric() Return the boolean indicating if the matrix is structurally symmetric. Not collective. SEE ALSO: MatIsStructurallySymmetric Source code at petsc4py/PETSc/Mat.pyx:2366 Return type bool isSymmetric(tol=0) Return the boolean indicating if the matrix is symmetric. Collective. Parameters tol (float) -- Tolerance for comparison. Return type bool SEE ALSO: MatIsSymmetric Source code at petsc4py/PETSc/Mat.pyx:2296 isSymmetricKnown() Return the 2-tuple indicating if the matrix is known to be symmetric. Not collective. SEE ALSO: MatIsSymmetricKnown Source code at petsc4py/PETSc/Mat.pyx:2316 Return type tuple[bool, bool] isTranspose(mat=None, tol=0) Return the result of matrix comparison with transposition. Collective. Parameters • mat (Mat | None) -- Matrix to compare against. Uses self if None. • tol (float) -- Tolerance for comparison. Return type bool SEE ALSO: MatIsTranspose Source code at petsc4py/PETSc/Mat.pyx:2273 kron(mat, result=None) Compute C, the Kronecker product of A and B. Collective. Parameters • mat (Mat) -- The right hand matrix B. • result (Mat | None) -- The optional resultant matrix. When None, a new matrix is created, and MAT_INITIAL_MATRIX is used. When it is not None, the matrix is reused with MAT_REUSE_MATRIX. Returns result -- The resultant matrix C, the Kronecker product of A and B. Return type Mat SEE ALSO: MatSeqAIJKron, MatReuse Source code at petsc4py/PETSc/Mat.pyx:4485 load(viewer) Load a matrix. Collective. SEE ALSO: MatLoad Source code at petsc4py/PETSc/Mat.pyx:2053 Parameters viewer (Viewer) Return type Self matMatMult(B, C, result=None, fill=None) Perform matrix-matrix-matrix multiplication D=ABC. Neighborwise collective. Parameters • B (Mat) -- The middle matrix B. • C (Mat) -- The right hand matrix C. • result (Mat | None) -- The optional resultant matrix D. When None, a new matrix is created, and MAT_INITIAL_MATRIX is used. When D is not None, the matrix is reused with MAT_REUSE_MATRIX. • fill (float | None) -- Expected fill as ratio of nnz(C)/nnz(A), use None if you do not have a good estimate. If the result is a dense matrix this is irrelevant. Returns result -- The resultant product matrix D. Return type Mat SEE ALSO: MatMatMatMult, MatReuse Source code at petsc4py/PETSc/Mat.pyx:4440 matMult(mat, result=None, fill=None) Perform matrix-matrix multiplication C=AB. Neighborwise collective. Parameters • mat (Mat) -- The right hand matrix B. • result (Mat | None) -- The optional resultant matrix C. When None, a new matrix is created, and MAT_INITIAL_MATRIX is used. When C is not None, the matrix is reused with MAT_REUSE_MATRIX. • fill (float | None) -- Expected fill as ratio of nnz(C)/(nnz(A) + nnz(B)), use ‐ None if you do not have a good estimate. If the result is a dense matrix this is irrelevant. Returns result -- The resultant product matrix C. Return type Mat Notes To determine the correct fill value, run with -info and search for the string "Fill ratio" to see the value actually needed. SEE ALSO: MatMatMult, MatReuse Source code at petsc4py/PETSc/Mat.pyx:4201 matSolve(B, X) Solve AX=B, given a factored matrix A. Neighborwise collective. Parameters • B (Mat) -- The right-hand side matrix of type Type.DENSE. Can be of type Type.AIJ if using MUMPS. • X (Mat) -- The output solution matrix, must be different than B. Return type None SEE ALSO: KSP.create, MatMatSolve Source code at petsc4py/PETSc/Mat.pyx:5321 matTransposeMult(mat, result=None, fill=None) Perform matrix-matrix multiplication C=ABᵀ. Neighborwise collective. Parameters • mat (Mat) -- The right hand matrix B. • result (Mat | None) -- The optional resultant matrix C. When None, a new matrix is created, and MAT_INITIAL_MATRIX is used. When C is not None, the matrix is reused with MAT_REUSE_MATRIX. • fill (float | None) -- Expected fill as ratio of nnz(C)/(nnz(A) + nnz(B)), use ‐ None if you do not have a good estimate. If the result is a dense matrix this is irrelevant. Returns result -- The resultant product matrix C. Return type Mat Notes To determine the correct fill value, run with -info and search for the string "Fill ratio" to see the value actually needed. SEE ALSO: MatMatTransposeMult, MatReuse Source code at petsc4py/PETSc/Mat.pyx:4248 mult(x, y) Perform the matrix vector product y = A @ x. Collective. Parameters • x (Vec) -- The input vector. • y (Vec) -- The output vector. Return type None SEE ALSO: MatMult Source code at petsc4py/PETSc/Mat.pyx:3703 multAdd(x, v, y) Perform the matrix vector product with addition y = A @ x + v. Collective. Parameters • x (Vec) -- The input vector for the matrix-vector product. • v (Vec) -- The input vector to be added to. • y (Vec) -- The output vector. Return type None SEE ALSO: MatMultAdd Source code at petsc4py/PETSc/Mat.pyx:3722 multHermitian(x, y) Perform the Hermitian matrix vector product y = A^H @ x. Collective. Parameters • x (Vec) -- The input vector for the Hermitian matrix-vector product. • y (Vec) -- The output vector. Return type None SEE ALSO: MatMultHermitianTranspose Source code at petsc4py/PETSc/Mat.pyx:3783 multHermitianAdd(x, v, y) Perform the Hermitian matrix vector product with addition y = A^H @ x + v. Collective. Parameters • x (Vec) -- The input vector for the Hermitian matrix-vector product. • v (Vec) -- The input vector to be added to. • y (Vec) -- The output vector. Return type None SEE ALSO: MatMultHermitianTransposeAdd Source code at petsc4py/PETSc/Mat.pyx:3802 multTranspose(x, y) Perform the transposed matrix vector product y = A^T @ x. Collective. Parameters • x (Vec) -- The input vector. • y (Vec) -- The output vector. Return type None SEE ALSO: MatMultTranspose Source code at petsc4py/PETSc/Mat.pyx:3743 multTransposeAdd(x, v, y) Perform the transposed matrix vector product with addition y = A^T @ x + v. Collective. Parameters • x (Vec) -- The input vector for the transposed matrix-vector product. • v (Vec) -- The input vector to be added to. • y (Vec) -- The output vector. Return type None SEE ALSO: MatMultTransposeAdd Source code at petsc4py/PETSc/Mat.pyx:3762 norm(norm_type=None) Compute the requested matrix norm. Collective. A 2-tuple is returned if NormType.NORM_1_AND_2 is specified. SEE ALSO: MatNorm, NormType Source code at petsc4py/PETSc/Mat.pyx:4073 Parameters norm_type (NormTypeSpec) Return type float | tuple[float, float] permute(row, col) Return the permuted matrix. Collective. Parameters • row (IS) -- Row permutation. • col (IS) -- Column permutation. Return type Mat SEE ALSO: MatPermute Source code at petsc4py/PETSc/Mat.pyx:2238 preallocatorPreallocate(A, fill=True) Preallocate memory for a matrix using a preallocator matrix. Collective. The current matrix (self) must be of type Type.PREALLOCATOR. Parameters • A (Mat) -- The matrix to be preallocated. • fill (bool) -- Flag indicating whether or not to insert zeros into the newly allocated matrix, defaults to True. Return type None SEE ALSO: MatPreallocatorPreallocate Source code at petsc4py/PETSc/Mat.pyx:933 ptap(P, result=None, fill=None) Creates the matrix product C = PᵀAP. Neighborwise collective. Parameters • P (Mat) -- The matrix P. • result (Mat | None) -- The optional resultant matrix C. When None, a new matrix is created, and MAT_INITIAL_MATRIX is used. When C is not None, the matrix is reused with MAT_REUSE_MATRIX. • fill (float | None) -- Expected fill as ratio of nnz(C)/(nnz(A) + nnz(P)), use ‐ None if you do not have a good estimate. If the result is a dense matrix this is irrelevant. Returns result -- The resultant product matrix C. Return type Mat Notes To determine the correct fill value, run with -info and search for the string "Fill ratio" to see the value actually needed. An alternative approach to this function is to use MatProductCreate and set the desired options before the computation is done. SEE ALSO: MatPtAP, MatReuse Source code at petsc4py/PETSc/Mat.pyx:4342 rart(R, result=None, fill=None) Create the matrix product C = RARᵀ. Neighborwise collective. Parameters • R (Mat) -- The projection matrix. • result (Mat | None) -- The optional resultant matrix C. When None, a new matrix is created, and MAT_INITIAL_MATRIX is used. When C is not None, the matrix is reused with MAT_REUSE_MATRIX. • fill (float | None) -- Expected fill as ratio of nnz(C)/nnz(A), use None if you do not have a good estimate. If the result is a dense matrix this is irrelevant. Returns result -- The resultant product matrix C. Return type Mat Notes To determine the correct fill value, run with -info and search for the string "Fill ratio" to see the value actually needed. SEE ALSO: MatRARt, MatReuse Source code at petsc4py/PETSc/Mat.pyx:4393 realPart(out=None) Return the real part of the matrix. Collective. Parameters out (Mat | None) -- Optional return matrix. If None, the operation is performed in-place. Otherwise, the operation is performed on out. Return type Mat SEE ALSO: imagPart, conjugate, MatRealPart Source code at petsc4py/PETSc/Mat.pyx:2169 reorderForNonzeroDiagonal(isrow, iscol, atol=0) Change a matrix ordering to remove zeros from the diagonal. Collective. Parameters • isrow (IS) -- The row reordering. • iscol (IS) -- The column reordering. • atol (float) -- The absolute tolerance. Values along the diagonal whose absolute value are smaller than this tolerance are moved off the diagonal. Return type None SEE ALSO: getOrdering, MatReorderForNonzeroDiagonal Source code at petsc4py/PETSc/Mat.pyx:4584 restoreDenseColumnVec(i, mode='rw') Restore the iᵗʰ column vector of the dense matrix. Collective. Parameters • i (int) -- The column index to be restored. • mode (AccessModeSpec) -- The access type of the restored array Return type None SEE ALSO: getDenseColumnVec, MatDenseRestoreColumnVec, MatDenseRestoreColumnVecRead, ‐ MatDenseRestoreColumnVecWrite Source code at petsc4py/PETSc/Mat.pyx:5460 restoreISLocalMat(local) Restore the local matrix obtained with getISLocalMat. Not collective. Parameters local (Mat) -- The local matrix. Return type None SEE ALSO: MatISRestoreLocalMat Source code at petsc4py/PETSc/Mat.pyx:4851 restoreLocalSubMatrix(isrow, iscol, submat) Restore a reference to a submatrix obtained with getLocalSubMatrix. Collective. Parameters • isrow (IS) -- Row index set. • iscol (IS) -- Column index set. • submat (Mat) -- The submatrix. Return type None SEE ALSO: getLocalSubMatrix, MatRestoreLocalSubMatrix Source code at petsc4py/PETSc/Mat.pyx:4050 retrieveValues() Retrieve a copy of the matrix values previously stored with storeValues. Collective. SEE ALSO: storeValues, MatRetrieveValues Source code at petsc4py/PETSc/Mat.pyx:3290 Return type None scale(alpha) Scale the matrix. Collective. SEE ALSO: MatScale Source code at petsc4py/PETSc/Mat.pyx:4095 Parameters alpha (Scalar) Return type None setBlockSize(bsize) Set the matrix block size (same for rows and columns). Logically collective. Parameters bsize (int) -- Block size. Return type None SEE ALSO: setBlockSizes, setSizes, MatSetBlockSize Source code at petsc4py/PETSc/Mat.pyx:586 setBlockSizes(row_bsize, col_bsize) Set the row and column block sizes. Logically collective. Parameters • row_bsize (int) -- Row block size. • col_bsize (int) -- Column block size. Return type None SEE ALSO: setBlockSize, setSizes, MatSetBlockSizes Source code at petsc4py/PETSc/Mat.pyx:604 setDM(dm) Set the DM defining the data layout of the matrix. Not collective. Parameters dm (DM) -- The DM. Return type None SEE ALSO: MatSetDM Source code at petsc4py/PETSc/Mat.pyx:5587 setDenseLDA(lda) Set the leading dimension of the array used by the dense matrix. Not collective. Parameters lda (int) -- The leading dimension. Return type None SEE ALSO: MatDenseSetLDA Source code at petsc4py/PETSc/Mat.pyx:5343 setDiagonal(diag, addv=None) Set the diagonal values of the matrix. Collective. Parameters • diag (Vec) -- Vector storing diagonal values. • addv (InsertModeSpec) -- Insertion mode. Return type None SEE ALSO: getDiagonal, MatDiagonalSet Source code at petsc4py/PETSc/Mat.pyx:3557 setFromOptions() Configure the matrix from the options database. Collective. SEE ALSO: Working with PETSc options, MatSetFromOptions Source code at petsc4py/PETSc/Mat.pyx:1765 Return type None setISAllowRepeated(allow=True) Allow repeated entries in the local to global map. Logically collective. Parameters allow (bool) -- When True, local dofs are allowed to map to the same global dof. Return type None SEE ALSO: getISAllowRepeated, MatISSetAllowRepeated Source code at petsc4py/PETSc/Mat.pyx:4785 setISLocalMat(local) Set the local matrix stored inside a Type.IS. Not collective. Parameters local (Mat) -- The local matrix. Return type None SEE ALSO: MatISSetLocalMat Source code at petsc4py/PETSc/Mat.pyx:4868 setISPreallocation(nnz, onnz) Preallocate memory for a Type.IS parallel matrix. Collective. Parameters • nnz (Sequence[int]) -- The sequence whose length corresponds to the number of local rows and values which represent the number of nonzeros in the various rows of the diagonal of the local submatrix. • onnz (Sequence[int]) -- The sequence whose length corresponds to the number of local rows and values which represent the number of nonzeros in the various rows of the off-diagonal of the local submatrix. Return type Self SEE ALSO: MatISSetPreallocation Source code at petsc4py/PETSc/Mat.pyx:4885 setLGMap(rmap, cmap=None) Set the local-to-global mappings. Collective. Parameters • rmap (LGMap) -- Row mapping. • cmap (LGMap | None) -- Column mapping. If None, cmap = rmap. Return type None SEE ALSO: getLGMap, MatSetLocalToGlobalMapping Source code at petsc4py/PETSc/Mat.pyx:2764 setLRCMats(A, U, c=None, V=None) Set the constituents of a Type.LRC matrix. Logically collective. Parameters • A (Mat) -- The A matrix, or None to omit A. • U (Mat) -- The first dense rectangular matrix. • c (Vec) -- The sequential vector containing the diagonal of C, or None for all ones. • V (Mat) -- The second dense rectangular matrix, or None for a copy of U. Return type None SEE ALSO: MatLRCSetMats Source code at petsc4py/PETSc/Mat.pyx:4950 setMumpsCntl(icntl, val) Set a MUMPS parameter, CNTL[icntl] = val. Logically collective. Parameters • icntl (int) -- The index of the MUMPS parameter array. • val (float) -- The value to set. Return type None SEE ALSO: Working with PETSc options, MatMumpsSetCntl Source code at petsc4py/PETSc/Mat.pyx:5075 setMumpsIcntl(icntl, ival) Set a MUMPS parameter, ICNTL[icntl] = ival. Logically collective. Parameters • icntl (int) -- The index of the MUMPS parameter array. • ival (int) -- The value to set. Return type None SEE ALSO: Working with PETSc options, MatMumpsSetIcntl Source code at petsc4py/PETSc/Mat.pyx:5039 setNearNullSpace(nsp) Set the near-nullspace. Collective. SEE ALSO: setNullSpace, getNearNullSpace, MatSetNearNullSpace Source code at petsc4py/PETSc/Mat.pyx:3674 Parameters nsp (NullSpace) Return type None setNestVecType(vec_type) Set the vector type for a Type.NEST matrix. Collective. Parameters vec_type (Type | str) -- Vector type used when creating vectors with createVecs. Return type None SEE ALSO: getVecType, MatNestSetVecType Source code at petsc4py/PETSc/Mat.pyx:672 setNullSpace(nsp) Set the nullspace. Collective. SEE ALSO: getNullSpace, MatSetNullSpace Source code at petsc4py/PETSc/Mat.pyx:3620 Parameters nsp (NullSpace) Return type None setOption(option, flag) Set option. Collective. SEE ALSO: getOption, MatSetOption Source code at petsc4py/PETSc/Mat.pyx:1790 Parameters • option (Option) • flag (bool) Return type None setOptionsPrefix(prefix=None) Set the prefix used for searching for options in the database. Logically collective. SEE ALSO: Working with PETSc options, getOptionsPrefix, MatSetOptionsPrefix Source code at petsc4py/PETSc/Mat.pyx:1723 Parameters prefix (str | None) Return type None setPreallocationCSR(csr) Preallocate memory for the matrix with a CSR layout. Collective. Correct preallocation can result in a dramatic reduction in matrix assembly time. Parameters csr (CSRIndicesSpec) -- Local matrix data in compressed sparse row layout format. Return type Self Notes Must use the block-compressed form with Type.BAIJ and Type.SBAIJ. SEE ALSO: setPreallocationNNZ, createAIJ, createBAIJ, createSBAIJ, MatSeqAIJSetPreallocationCSR, ‐ MatMPIAIJSetPreallocationCSR, MatSeqBAIJSetPreallocationCSR, ‐ MatMPIBAIJSetPreallocationCSR, MatSeqSBAIJSetPreallocationCSR, ‐ MatMPISBAIJSetPreallocationCSR Source code at petsc4py/PETSc/Mat.pyx:899 setPreallocationDense(array) Set the array used for storing matrix elements for a dense matrix. Collective. Parameters array (Sequence[Scalar]) -- Array that will be used to store matrix data. Return type Self SEE ALSO: MatSeqDenseSetPreallocation, MatMPIDenseSetPreallocation Source code at petsc4py/PETSc/Mat.pyx:1140 setPreallocationNNZ(nnz) Preallocate memory for the matrix with a non-zero pattern. Collective. Correct preallocation can result in a dramatic reduction in matrix assembly time. Parameters nnz (NNZSpec) -- The number of non-zeros per row for the local portion of the matrix, or a 2-tuple for the on-process and off-process part of the matrix. Return type Self SEE ALSO: setPreallocationCSR, createAIJ, MatSeqAIJSetPreallocation, MatMPIAIJSetPreallocation Source code at petsc4py/PETSc/Mat.pyx:873 setPythonContext(context) Set the instance of the class implementing the required Python methods. Logically collective. Notes In order to use the matrix, Mat.setUp must be called after having set the context. Pass ‐ None to reset the matrix to its initial state. SEE ALSO: PETSc Python matrix type, getPythonContext, setPythonType Source code at petsc4py/PETSc/Mat.pyx:1654 Parameters context (Any) Return type None setPythonType(py_type) Set the fully qualified Python name of the class to be used. Collective. Notes In order to use the matrix, Mat.setUp must be called after having set the type. SEE ALSO: PETSc Python matrix type, setPythonContext, getPythonType, MatPythonSetType Source code at petsc4py/PETSc/Mat.pyx:1686 Parameters py_type (str) Return type None setRandom(random=None) Set random values in the matrix. Collective. Parameters random (Random | None) -- The random number generator object or None for the default. Return type None SEE ALSO: MatSetRandom Source code at petsc4py/PETSc/Mat.pyx:4134 setSizes(size, bsize=None) Set the local, global and block sizes. Collective. Parameters • size (MatSizeSpec) -- Matrix size. • bsize (MatBlockSizeSpec | None) -- Matrix block size. If None, a block size of 1 is set. Return type None Examples Create a Mat with n rows and columns and the same local and global sizes. >>> mat = PETSc.Mat().create() >>> mat.setFromOptions() >>> mat.setSizes(n) Create a Mat with nr rows, nc columns and the same local and global sizes. >>> mat = PETSc.Mat().create() >>> mat.setFromOptions() >>> mat.setSizes([nr, nc]) Create a Mat with nrl local rows, nrg global rows, ncl local columns and ncg global columns. >>> mat = PETSc.Mat().create() >>> mat.setFromOptions() >>> mat.setSizes([[nrl, nrg], [ncl, ncg]]) SEE ALSO: setBlockSize, setBlockSizes, MatSetSizes, MatSetBlockSize, MatSetBlockSizes Source code at petsc4py/PETSc/Mat.pyx:533 setStencil(dims, starts=None, dof=1) Set matrix stencil. Not collective. SEE ALSO: MatSetStencil Source code at petsc4py/PETSc/Mat.pyx:3022 Parameters • dims (DimsSpec) • starts (DimsSpec | None) • dof (int) Return type None setTransposeNullSpace(nsp) Set the transpose nullspace. Collective. SEE ALSO: setNullSpace, getTransposeNullSpace, MatSetTransposeNullSpace Source code at petsc4py/PETSc/Mat.pyx:3647 Parameters nsp (NullSpace) Return type None setTransposePrecursor(out) Set transpose precursor. Logically collective. SEE ALSO: MatTransposeSetPrecursor Source code at petsc4py/PETSc/Mat.pyx:2130 Parameters out (Mat) Return type None setType(mat_type) Set the matrix type. Collective. Parameters mat_type (Type | str) -- The matrix type. Return type None SEE ALSO: create, getType, MatSetType Source code at petsc4py/PETSc/Mat.pyx:514 setUnfactored() Set a factored matrix to be treated as unfactored. Logically collective. SEE ALSO: MatSetUnfactored Source code at petsc4py/PETSc/Mat.pyx:4771 Return type None setUp() Set up the internal data structures for using the matrix. Collective. SEE ALSO: MatSetUp Source code at petsc4py/PETSc/Mat.pyx:1777 Return type Self setValue(row, col, value, addv=None) Set a value to the (row, col) entry of the matrix. Not collective. Parameters • row (int) -- Row index. • col (int) -- Column index. • value (Scalar) -- The scalar value. • addv (InsertModeSpec) -- Insertion mode. Return type None SEE ALSO: MatSetValues Source code at petsc4py/PETSc/Mat.pyx:2548 setValueBlockedStagStencil(row, col, value, addv=None) Not implemented. Source code at petsc4py/PETSc/Mat.pyx:3106 Return type None setValueBlockedStencil(row, col, value, addv=None) Set a block of values to row and col stencil. Not collective. Parameters • row (Stencil) -- Row stencil. • col (Stencil) -- Column stencil. • value (Sequence[Scalar]) -- The scalar values. • addv (InsertModeSpec) -- Insertion mode. Return type None SEE ALSO: MatSetValuesBlockedStencil Source code at petsc4py/PETSc/Mat.pyx:3076 setValueLocal(row, col, value, addv=None) Set a value to the (row, col) entry of the matrix in local ordering. Not collective. Parameters • row (int) -- Local row index. • col (int) -- Local column index. • value (Scalar) -- The scalar value. • addv (InsertModeSpec) -- Insertion mode. Return type None SEE ALSO: MatSetValuesLocal Source code at petsc4py/PETSc/Mat.pyx:2801 setValueStagStencil(row, col, value, addv=None) Not implemented. Source code at petsc4py/PETSc/Mat.pyx:3072 Return type None setValueStencil(row, col, value, addv=None) Set a value to row and col stencil. Not collective. Parameters • row (Stencil) -- Row stencil. • col (Stencil) -- Column stencil. • value (Sequence[Scalar]) -- The scalar values. • addv (InsertModeSpec) -- Insertion mode. Return type None SEE ALSO: MatSetValuesStencil Source code at petsc4py/PETSc/Mat.pyx:3042 setValues(rows, cols, values, addv=None) Set values to the rows ⊗ cols entries of the matrix. Not collective. Parameters • rows (Sequence[int]) -- Row indices. • cols (Sequence[int]) -- Column indices. • values (Sequence[Scalar]) -- The scalar values. A sequence of length at least len(rows) * len(cols). • addv (InsertModeSpec) -- Insertion mode. Return type None SEE ALSO: MatSetValues Source code at petsc4py/PETSc/Mat.pyx:2580 setValuesBlocked(rows, cols, values, addv=None) Set values to the rows ⊗ col block entries of the matrix. Not collective. Parameters • rows (Sequence[int]) -- Block row indices. • cols (Sequence[int]) -- Block column indices. • values (Sequence[Scalar]) -- The scalar values. A sequence of length at least len(rows) * len(cols) * bs * bs, where bs is the block size of the matrix. • addv (InsertModeSpec) -- Insertion mode. Return type None SEE ALSO: MatSetValuesBlocked Source code at petsc4py/PETSc/Mat.pyx:2671 setValuesBlockedCSR(I, J, V, addv=None) Set values stored in block CSR format. Not collective. Parameters • I (Sequence[int]) -- Block row pointers. • J (Sequence[int]) -- Block column indices. • V (Sequence[Scalar]) -- The scalar values. • addv (InsertModeSpec) -- Insertion mode. Return type None SEE ALSO: MatSetValuesBlocked Source code at petsc4py/PETSc/Mat.pyx:2736 setValuesBlockedIJV(I, J, V, addv=None, rowmap=None) Set a subset of values stored in block CSR format. Not collective. Parameters • I (Sequence[int]) -- Block row pointers. • J (Sequence[int]) -- Block column indices. • V (Sequence[Scalar]) -- The scalar values. • addv (InsertModeSpec) -- Insertion mode. • rowmap (Sequence[int]) -- Optional iterable indicating which block row to insert. Return type None SEE ALSO: MatSetValuesBlocked Source code at petsc4py/PETSc/Mat.pyx:2705 setValuesBlockedLocal(rows, cols, values, addv=None) Set values to the rows ⊗ col block entries of the matrix in local ordering. Not collective. Parameters • rows (Sequence[int]) -- Local block row indices. • cols (Sequence[int]) -- Local block column indices. • values (Sequence[Scalar]) -- The scalar values. A sequence of length at least len(rows) * len(cols) * bs * bs, where bs is the block size of the matrix. • addv (InsertModeSpec) -- Insertion mode. Return type None SEE ALSO: MatSetValuesBlockedLocal Source code at petsc4py/PETSc/Mat.pyx:2925 setValuesBlockedLocalCSR(I, J, V, addv=None) Set values stored in block CSR format. Not collective. Parameters • I (Sequence[int]) -- Block row pointers. • J (Sequence[int]) -- Local block column indices. • V (Sequence[Scalar]) -- The scalar values. • addv (InsertModeSpec) -- Insertion mode. Return type None SEE ALSO: MatSetValuesBlockedLocal Source code at petsc4py/PETSc/Mat.pyx:2990 setValuesBlockedLocalIJV(I, J, V, addv=None, rowmap=None) Set a subset of values stored in block CSR format. Not collective. Parameters • I (Sequence[int]) -- Block row pointers. • J (Sequence[int]) -- Local block column indices. • V (Sequence[Scalar]) -- The scalar values. • addv (InsertModeSpec) -- Insertion mode. • rowmap (Sequence[int]) -- Optional iterable indicating which block row to insert. Return type None SEE ALSO: MatSetValuesBlockedLocal Source code at petsc4py/PETSc/Mat.pyx:2959 setValuesBlockedLocalRCV(R, C, V, addv=None) Undocumented. Source code at petsc4py/PETSc/Mat.pyx:2955 Return type None setValuesBlockedRCV(R, C, V, addv=None) Undocumented. Source code at petsc4py/PETSc/Mat.pyx:2701 Return type None setValuesCSR(I, J, V, addv=None) Set values stored in CSR format. Not collective. Parameters • I (Sequence[int]) -- Row pointers. • J (Sequence[int]) -- Column indices. • V (Sequence[Scalar]) -- The scalar values. • addv (InsertModeSpec) -- Insertion mode. Return type None SEE ALSO: MatSetValues Source code at petsc4py/PETSc/Mat.pyx:2643 setValuesIJV(I, J, V, addv=None, rowmap=None) Set a subset of values stored in CSR format. Not collective. Parameters • I (Sequence[int]) -- Row pointers. • J (Sequence[int]) -- Column indices. • V (Sequence[Scalar]) -- The scalar values. • addv (InsertModeSpec) -- Insertion mode. • rowmap (Sequence[int]) -- Optional iterable indicating which row to insert. Return type None SEE ALSO: MatSetValues Source code at petsc4py/PETSc/Mat.pyx:2612 setValuesLocal(rows, cols, values, addv=None) Set values to the rows ⊗ col entries of the matrix in local ordering. Not collective. Parameters • rows (Sequence[int]) -- Local row indices. • cols (Sequence[int]) -- Local column indices. • values (Sequence[Scalar]) -- The scalar values. A sequence of length at least len(rows) * len(cols). • addv (InsertModeSpec) -- Insertion mode. Return type None SEE ALSO: MatSetValuesLocal Source code at petsc4py/PETSc/Mat.pyx:2834 setValuesLocalCSR(I, J, V, addv=None) Set values stored in CSR format. Not collective. Parameters • I (Sequence[int]) -- Row pointers. • J (Sequence[int]) -- Local column indices. • V (Sequence[Scalar]) -- The scalar values. • addv (InsertModeSpec) -- Insertion mode. Return type None SEE ALSO: MatSetValuesLocal Source code at petsc4py/PETSc/Mat.pyx:2897 setValuesLocalIJV(I, J, V, addv=None, rowmap=None) Set a subset of values stored in CSR format. Not collective. Parameters • I (Sequence[int]) -- Row pointers. • J (Sequence[int]) -- Local column indices. • V (Sequence[Scalar]) -- The scalar values. • addv (InsertModeSpec) -- Insertion mode. • rowmap (Sequence[int]) -- Optional iterable indicating which row to insert. Return type None SEE ALSO: MatSetValuesLocal Source code at petsc4py/PETSc/Mat.pyx:2866 setValuesLocalRCV(R, C, V, addv=None) Undocumented. Source code at petsc4py/PETSc/Mat.pyx:2862 Return type None setValuesRCV(R, C, V, addv=None) Undocumented. Source code at petsc4py/PETSc/Mat.pyx:2608 Return type None setVariableBlockSizes(blocks) Set diagonal point-blocks of the matrix. Not collective. SEE ALSO: setBlockSize, MatSetVariableBlockSizes Source code at petsc4py/PETSc/Mat.pyx:625 Parameters blocks (Sequence[int]) Return type None setVecType(vec_type) Set the vector type. Collective. Parameters vec_type (Type | str) -- Vector type used when creating vectors with createVecs. Return type None SEE ALSO: getVecType, MatSetVecType Source code at petsc4py/PETSc/Mat.pyx:639 shift(alpha) Shift the matrix. Collective. SEE ALSO: MatShift Source code at petsc4py/PETSc/Mat.pyx:4108 Parameters alpha (Scalar) Return type None solve(b, x) Solve Ax=b, given a factored matrix. Neighborwise collective. The vectors b and x cannot be the same. Most users should employ the KSP interface for linear solvers instead of working directly with matrix algebra routines. Parameters • b (Vec) -- The right-hand side vector. • x (Vec) -- The output solution vector, must be different than b. Return type None SEE ALSO: KSP.create, solveTranspose, MatSolve Source code at petsc4py/PETSc/Mat.pyx:5231 solveAdd(b, y, x) Solve x=y+A⁻¹b, given a factored matrix. Neighborwise collective. The vectors b and x cannot be the same. Parameters • b (Vec) -- The right-hand side vector. • y (Vec) -- The vector to be added • x (Vec) -- The output solution vector, must be different than b. Return type None SEE ALSO: KSP.create, MatSolve, MatSolveAdd Source code at petsc4py/PETSc/Mat.pyx:5275 solveBackward(b, x) Solve Ux=b, given a factored matrix A=LU. Neighborwise collective. Parameters • b (Vec) -- The right-hand side vector. • x (Vec) -- The output solution vector. Return type None SEE ALSO: MatBackwardSolve Source code at petsc4py/PETSc/Mat.pyx:5212 solveForward(b, x) Solve Lx = b, given a factored matrix A = LU. Neighborwise collective. Parameters • b (Vec) -- The right-hand side vector. • x (Vec) -- The output solution vector. Return type None SEE ALSO: MatForwardSolve Source code at petsc4py/PETSc/Mat.pyx:5193 solveTranspose(b, x) Solve Aᵀx=b, given a factored matrix. Neighborwise collective. The vectors b and x cannot be the same. Parameters • b (Vec) -- The right-hand side vector. • x (Vec) -- The output solution vector, must be different than b. Return type None SEE ALSO: KSP.create, MatSolve, MatSolveTranspose Source code at petsc4py/PETSc/Mat.pyx:5254 solveTransposeAdd(b, y, x) Solve x=y+A⁻ᵀb, given a factored matrix. Neighborwise collective. The vectors b and x cannot be the same. Parameters • b (Vec) -- The right-hand side vector. • y (Vec) -- The vector to be added • x (Vec) -- The output solution vector, must be different than b. Return type None SEE ALSO: KSP.create, MatSolve, MatSolveTransposeAdd Source code at petsc4py/PETSc/Mat.pyx:5298 storeValues() Stash a copy of the matrix values. Collective. SEE ALSO: retrieveValues, MatStoreValues Source code at petsc4py/PETSc/Mat.pyx:3278 Return type None toDLPack(mode='rw') Return a DLPack PyCapsule wrapping the vector data. Source code at petsc4py/PETSc/Mat.pyx:5675 Parameters mode (AccessModeSpec) Return type Any transpose(out=None) Return the transposed matrix. Collective. Parameters out (Mat | None) -- Optional return matrix. If None, inplace transposition is performed. Otherwise, the matrix is reused. Return type Mat SEE ALSO: MatTranspose Source code at petsc4py/PETSc/Mat.pyx:2103 transposeMatMult(mat, result=None, fill=None) Perform matrix-matrix multiplication C=AᵀB. Neighborwise collective. Parameters • mat (Mat) -- The right hand matrix B. • result (Mat | None) -- The optional resultant matrix C. When None, a new matrix is created, and MAT_INITIAL_MATRIX is used. When C is not None, the matrix is reused with MAT_REUSE_MATRIX. • fill (float | None) -- Expected fill as ratio of nnz(C)/(nnz(A) + nnz(B)), use ‐ None if you do not have a good estimate. If the result is a dense matrix this is irrelevant. Returns result -- The resultant product matrix C. Return type Mat Notes To determine the correct fill value, run with -info and search for the string "Fill ratio" to see the value actually needed. SEE ALSO: MatTransposeMatMult, MatReuse Source code at petsc4py/PETSc/Mat.pyx:4295 view(viewer=None) View the matrix. Collective. Parameters viewer (Viewer | None) -- A Viewer instance or None for the default viewer. Return type None Notes Viewers with type Viewer.Type.ASCII are only recommended for small matrices on small numbers of processes. Larger matrices should use a binary format like Viewer.Type.BINARY. SEE ALSO: load, Viewer, MatView Source code at petsc4py/PETSc/Mat.pyx:450 zeroEntries() Zero the entries of the matrix. Collective. SEE ALSO: MatZeroEntries Source code at petsc4py/PETSc/Mat.pyx:2380 Return type None zeroRows(rows, diag=1, x=None, b=None) Zero selected rows of the matrix. Collective. Parameters • rows (IS | Sequence[int]) -- Row indices to be zeroed. • diag (Scalar) -- Scalar value to be inserted into the diagonal. • x (Vec | None) -- Optional solution vector to be modified for zeroed rows. • b (Vec | None) -- Optional right-hand side vector to be modified. It will be adjusted with provided solution entries. Return type None SEE ALSO: zeroRowsLocal, MatZeroRows, MatZeroRowsIS Source code at petsc4py/PETSc/Mat.pyx:3110 zeroRowsColumns(rows, diag=1, x=None, b=None) Zero selected rows and columns of the matrix. Collective. Parameters • rows (IS | Sequence[int]) -- Row/column indices to be zeroed. • diag (Scalar) -- Scalar value to be inserted into the diagonal. • x (Vec | None) -- Optional solution vector to be modified for zeroed rows. • b (Vec | None) -- Optional right-hand side vector to be modified. It will be adjusted with provided solution entries. Return type None SEE ALSO: zeroRowsColumnsLocal, zeroRows, MatZeroRowsColumns, MatZeroRowsColumnsIS Source code at petsc4py/PETSc/Mat.pyx:3176 zeroRowsColumnsLocal(rows, diag=1, x=None, b=None) Zero selected rows and columns of the matrix in local ordering. Collective. Parameters • rows (IS | Sequence[int]) -- Local row/column indices to be zeroed. • diag (Scalar) -- Scalar value to be inserted into the diagonal. • x (Vec | None) -- Optional solution vector to be modified for zeroed rows. • b (Vec | None) -- Optional right-hand side vector to be modified. It will be adjusted with provided solution entries. Return type None SEE ALSO: zeroRowsLocal, zeroRowsColumns, MatZeroRowsColumnsLocal, MatZeroRowsColumnsLocalIS Source code at petsc4py/PETSc/Mat.pyx:3210 zeroRowsColumnsStencil(rows, diag=1, x=None, b=None) Zero selected rows and columns of the matrix. Collective. Parameters • rows (Sequence[Stencil]) -- Iterable of stencil rows and columns. • diag (Scalar) -- Scalar value to be inserted into the diagonal. • x (Vec | None) -- Optional solution vector to be modified for zeroed rows. • b (Vec | None) -- Optional right-hand side vector to be modified. It will be adjusted with provided solution entries. Return type None SEE ALSO: zeroRowsLocal, zeroRowsColumns, MatZeroRowsColumnsStencil Source code at petsc4py/PETSc/Mat.pyx:3244 zeroRowsLocal(rows, diag=1, x=None, b=None) Zero selected rows of the matrix in local ordering. Collective. Parameters • rows (IS | Sequence[int]) -- Local row indices to be zeroed. • diag (Scalar) -- Scalar value to be inserted into the diagonal. • x (Vec | None) -- Optional solution vector to be modified for zeroed rows. • b (Vec | None) -- Optional right-hand side vector to be modified. It will be adjusted with provided solution entries. Return type None SEE ALSO: zeroRows, MatZeroRowsLocal, MatZeroRowsLocalIS Source code at petsc4py/PETSc/Mat.pyx:3143 Attributes Documentation assembled The boolean flag indicating if the matrix is assembled. Source code at petsc4py/PETSc/Mat.pyx:5650 block_size Matrix block size. Source code at petsc4py/PETSc/Mat.pyx:5628 block_sizes Matrix row and column block sizes. Source code at petsc4py/PETSc/Mat.pyx:5633 hermitian The boolean flag indicating if the matrix is Hermitian. Source code at petsc4py/PETSc/Mat.pyx:5658 local_size Matrix local size. Source code at petsc4py/PETSc/Mat.pyx:5623 owner_range Matrix local row range. Source code at petsc4py/PETSc/Mat.pyx:5638 owner_ranges Matrix row ranges. Source code at petsc4py/PETSc/Mat.pyx:5643 size Matrix global size. Source code at petsc4py/PETSc/Mat.pyx:5618 sizes Matrix local and global sizes. Source code at petsc4py/PETSc/Mat.pyx:5610 structsymm The boolean flag indicating if the matrix is structurally symmetric. Source code at petsc4py/PETSc/Mat.pyx:5662 symmetric The boolean flag indicating if the matrix is symmetric. Source code at petsc4py/PETSc/Mat.pyx:5654 petsc4py.PETSc.MatPartitioning class petsc4py.PETSc.MatPartitioning Bases: Object Object for managing the partitioning of a matrix or graph. Enumerations ┌──────┬─────────────────────────┐ │ Type │ The partitioning types. │ └──────┴─────────────────────────┘ petsc4py.PETSc.MatPartitioning.Type class petsc4py.PETSc.MatPartitioning.Type Bases: object The partitioning types. Attributes Summary ┌──────────────────────┬───────────────────────────────────────┐ │ PARTITIONINGAVERAGE │ Object PARTITIONINGAVERAGE of type ‐ │ │ │ str │ ├──────────────────────┼───────────────────────────────────────┤ │ PARTITIONINGCHACO │ Object PARTITIONINGCHACO of type str │ ├──────────────────────┼───────────────────────────────────────┤ │ PARTITIONINGCURRENT │ Object PARTITIONINGCURRENT of type ‐ │ │ │ str │ ├──────────────────────┼───────────────────────────────────────┤ │ PARTITIONINGHIERARCH │ Object PARTITIONINGHIERARCH of type ‐ │ │ │ str │ ├──────────────────────┼───────────────────────────────────────┤ │ PARTITIONINGPARMETIS │ Object PARTITIONINGPARMETIS of type ‐ │ │ │ str │ ├──────────────────────┼───────────────────────────────────────┤ │ PARTITIONINGPARTY │ Object PARTITIONINGPARTY of type str │ ├──────────────────────┼───────────────────────────────────────┤ │ PARTITIONINGPTSCOTCH │ Object PARTITIONINGPTSCOTCH of type ‐ │ │ │ str │ ├──────────────────────┼───────────────────────────────────────┤ │ PARTITIONINGSQUARE │ Object PARTITIONINGSQUARE of type str │ └──────────────────────┴───────────────────────────────────────┘ Attributes Documentation PARTITIONINGAVERAGE: str = PARTITIONINGAVERAGE Object PARTITIONINGAVERAGE of type str PARTITIONINGCHACO: str = PARTITIONINGCHACO Object PARTITIONINGCHACO of type str PARTITIONINGCURRENT: str = PARTITIONINGCURRENT Object PARTITIONINGCURRENT of type str PARTITIONINGHIERARCH: str = PARTITIONINGHIERARCH Object PARTITIONINGHIERARCH of type str PARTITIONINGPARMETIS: str = PARTITIONINGPARMETIS Object PARTITIONINGPARMETIS of type str PARTITIONINGPARTY: str = PARTITIONINGPARTY Object PARTITIONINGPARTY of type str PARTITIONINGPTSCOTCH: str = PARTITIONINGPTSCOTCH Object PARTITIONINGPTSCOTCH of type str PARTITIONINGSQUARE: str = PARTITIONINGSQUARE Object PARTITIONINGSQUARE of type str Methods Summary ┌───────────────────────────────┬───────────────────────────────────────┐ │ apply(partitioning) │ Return a partitioning for the graph │ │ │ represented by a sparse matrix. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ create([comm]) │ Create a partitioning context. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy the partitioning context. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ getType() │ Return the partitioning method. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ setAdjacency(adj) │ Set the adjacency graph (matrix) of │ │ │ the thing to be partitioned. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ setFromOptions() │ Set parameters in the partitioner │ │ │ from the options database. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ setType(matpartitioning_type) │ Set the type of the partitioner to │ │ │ use. │ ├───────────────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ View the partitioning data structure. │ └───────────────────────────────┴───────────────────────────────────────┘ Methods Documentation apply(partitioning) Return a partitioning for the graph represented by a sparse matrix. Collective. For each local node this tells the processor number that that node is assigned to. SEE ALSO: MatPartitioningApply Source code at petsc4py/PETSc/MatPartitioning.pyx:144 Parameters partitioning (IS) Return type None create(comm=None) Create a partitioning context. Collective. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: destroy, MatPartitioningCreate Source code at petsc4py/PETSc/MatPartitioning.pyx:62 destroy() Destroy the partitioning context. Collective. SEE ALSO: create, MatPartitioningDestroy Source code at petsc4py/PETSc/MatPartitioning.pyx:49 Return type Self getType() Return the partitioning method. Not collective. SEE ALSO: setType, MatPartitioningGetType Source code at petsc4py/PETSc/MatPartitioning.pyx:100 Return type str setAdjacency(adj) Set the adjacency graph (matrix) of the thing to be partitioned. Collective. Parameters adj (Mat) -- The adjacency matrix, this can be any Mat.Type but the natural representation is Mat.Type.MPIADJ. Return type None SEE ALSO: MatPartitioningSetAdjacency Source code at petsc4py/PETSc/MatPartitioning.pyx:126 setFromOptions() Set parameters in the partitioner from the options database. Collective. SEE ALSO: Working with PETSc options, MatPartitioningSetFromOptions Source code at petsc4py/PETSc/MatPartitioning.pyx:114 Return type None setType(matpartitioning_type) Set the type of the partitioner to use. Collective. Parameters matpartitioning_type (Type | str) -- The partitioner type. Return type None SEE ALSO: getType, MatPartitioningSetType Source code at petsc4py/PETSc/MatPartitioning.pyx:81 view(viewer=None) View the partitioning data structure. Collective. Parameters viewer (Viewer | None) -- A Viewer to display the graph. Return type None SEE ALSO: MatPartitioningView Source code at petsc4py/PETSc/MatPartitioning.pyx:29 petsc4py.PETSc.NormType class petsc4py.PETSc.NormType Bases: object Norm type. Commonly used norm types: N1 The one norm. N2 The two norm. FROBENIUS The Frobenius norm. INFINITY The infinity norm. SEE ALSO: NormType Attributes Summary ┌────────────────┬─────────────────────────────────────┐ │ FRB │ Constant FRB of type int │ ├────────────────┼─────────────────────────────────────┤ │ FROBENIUS │ Constant FROBENIUS of type int │ ├────────────────┼─────────────────────────────────────┤ │ INF │ Constant INF of type int │ ├────────────────┼─────────────────────────────────────┤ │ INFINITY │ Constant INFINITY of type int │ ├────────────────┼─────────────────────────────────────┤ │ MAX │ Constant MAX of type int │ ├────────────────┼─────────────────────────────────────┤ │ N1 │ Constant N1 of type int │ ├────────────────┼─────────────────────────────────────┤ │ N12 │ Constant N12 of type int │ ├────────────────┼─────────────────────────────────────┤ │ N2 │ Constant N2 of type int │ ├────────────────┼─────────────────────────────────────┤ │ NORM_1 │ Constant NORM_1 of type int │ ├────────────────┼─────────────────────────────────────┤ │ NORM_1_AND_2 │ Constant NORM_1_AND_2 of type int │ ├────────────────┼─────────────────────────────────────┤ │ NORM_2 │ Constant NORM_2 of type int │ ├────────────────┼─────────────────────────────────────┤ │ NORM_FROBENIUS │ Constant NORM_FROBENIUS of type int │ ├────────────────┼─────────────────────────────────────┤ │ NORM_INFINITY │ Constant NORM_INFINITY of type int │ ├────────────────┼─────────────────────────────────────┤ │ NORM_MAX │ Constant NORM_MAX of type int │ └────────────────┴─────────────────────────────────────┘ Attributes Documentation FRB: int = FRB Constant FRB of type int FROBENIUS: int = FROBENIUS Constant FROBENIUS of type int INF: int = INF Constant INF of type int INFINITY: int = INFINITY Constant INFINITY of type int MAX: int = MAX Constant MAX of type int N1: int = N1 Constant N1 of type int N12: int = N12 Constant N12 of type int N2: int = N2 Constant N2 of type int NORM_1: int = NORM_1 Constant NORM_1 of type int NORM_1_AND_2: int = NORM_1_AND_2 Constant NORM_1_AND_2 of type int NORM_2: int = NORM_2 Constant NORM_2 of type int NORM_FROBENIUS: int = NORM_FROBENIUS Constant NORM_FROBENIUS of type int NORM_INFINITY: int = NORM_INFINITY Constant NORM_INFINITY of type int NORM_MAX: int = NORM_MAX Constant NORM_MAX of type int petsc4py.PETSc.NullSpace class petsc4py.PETSc.NullSpace Bases: Object Nullspace object. SEE ALSO: MatNullSpace Methods Summary ┌──────────────────────────────────────┬───────────────────────────────────────┐ │ create([constant, vectors, comm]) │ Create the null space. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ createRigidBody(coords) │ Create rigid body modes from │ │ │ coordinates. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy the null space. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ getFunction() │ Return the callback to remove the │ │ │ nullspace. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ getVecs() │ Return the vectors defining the null │ │ │ space. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ hasConstant() │ Return whether the null space │ │ │ contains the constant. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ remove(vec) │ Remove all components of a null space │ │ │ from a vector. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ setFunction(function[, args, kargs]) │ Set the callback to remove the │ │ │ nullspace. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ test(mat) │ Return if the claimed null space is │ │ │ valid for a matrix. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ View the null space. │ └──────────────────────────────────────┴───────────────────────────────────────┘ Methods Documentation create(constant=False, vectors=(), comm=None) Create the null space. Collective. Parameters • constant (bool) -- A flag to indicate the null space contains the constant vector. • vectors (Sequence[Vec]) -- The sequence of vectors that span the null space. • comm -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: destroy, MatNullSpaceCreate Source code at petsc4py/PETSc/Mat.pyx:5799 createRigidBody(coords) Create rigid body modes from coordinates. Collective. Parameters coords (Vec) -- The block coordinates of each node. Requires the block size to have been set. Return type Self SEE ALSO: MatNullSpaceCreateRigidBody Source code at petsc4py/PETSc/Mat.pyx:5835 destroy() Destroy the null space. Collective. SEE ALSO: create, MatNullSpaceDestroy Source code at petsc4py/PETSc/Mat.pyx:5786 Return type Self getFunction() Return the callback to remove the nullspace. Not collective. SEE ALSO: setFunction Source code at petsc4py/PETSc/Mat.pyx:5926 Return type MatNullFunction getVecs() Return the vectors defining the null space. Not collective. SEE ALSO: MatNullSpaceGetVecs Source code at petsc4py/PETSc/Mat.pyx:5904 Return type list[Vec] hasConstant() Return whether the null space contains the constant. Not collective. SEE ALSO: MatNullSpaceGetVecs Source code at petsc4py/PETSc/Mat.pyx:5890 Return type bool remove(vec) Remove all components of a null space from a vector. Collective. Parameters vec (Vec) -- The vector from which the null space is removed. Return type None SEE ALSO: MatNullSpaceRemove Source code at petsc4py/PETSc/Mat.pyx:5940 setFunction(function, args=None, kargs=None) Set the callback to remove the nullspace. Logically collective. Parameters • function (MatNullFunction) -- The callback. • args (tuple[Any, ...] | None) -- Positional arguments for the callback. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback. Return type None SEE ALSO: getFunction, MatNullSpaceSetFunction Source code at petsc4py/PETSc/Mat.pyx:5856 test(mat) Return if the claimed null space is valid for a matrix. Collective. Parameters mat (Mat) -- The matrix to check. Return type bool SEE ALSO: MatNullSpaceTest Source code at petsc4py/PETSc/Mat.pyx:5957 view(viewer=None) View the null space. Collective. Parameters viewer (Viewer | None) -- A Viewer instance or None for the default viewer. Return type None SEE ALSO: Viewer, MatNullSpaceView Source code at petsc4py/PETSc/Mat.pyx:5767 petsc4py.PETSc.Object class petsc4py.PETSc.Object Bases: object Base class wrapping a PETSc object. SEE ALSO: PetscObject Methods Summary ┌──────────────────────────────────┬───────────────────────────────────────┐ │ appendOptionsPrefix(prefix) │ Append to the prefix used for │ │ │ searching for options in the │ │ │ database. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ compose(name, obj) │ Associate a PETSc object using a key │ │ │ string. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ decRef() │ Decrement the object reference count. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy the object. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ destroyOptionsHandlers() │ Clear all the option handlers. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ getAttr(name) │ Return the attribute associated with │ │ │ a given name. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ getClassId() │ Return the class identifier of the │ │ │ object. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ getClassName() │ Return the class name of the object. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ getComm() │ Return the communicator of the │ │ │ object. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ getDict() │ Return the dictionary of attributes. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ getId() │ Return the unique identifier of the │ │ │ object. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ getName() │ Return the name of the object. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ getOptionsPrefix() │ Return the prefix used for searching │ │ │ for options in the database. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ getRefCount() │ Return the reference count of the │ │ │ object. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ getTabLevel() │ Return the PETSc object tab level. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ getType() │ Return the object type name. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ incRef() │ Increment the object reference count. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ incrementTabLevel(tab[, parent]) │ Increment the PETSc object tab level. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ query(name) │ Query for the PETSc object associated │ │ │ with a key string. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ setAttr(name, attr) │ Set an the attribute associated with │ │ │ a given name. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ setFromOptions() │ Configure the object from the options │ │ │ database. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ setName(name) │ Associate a name to the object. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ setOptionsHandler(handler) │ Set the callback for processing extra │ │ │ options. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ setOptionsPrefix(prefix) │ Set the prefix used for searching for │ │ │ options in the database. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ setTabLevel(level) │ Set the PETSc object tab level. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ stateGet() │ Return the PETSc object state. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ stateIncrease() │ Increment the PETSc object state. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ stateSet(state) │ Set the PETSc object state. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ Display the object. │ ├──────────────────────────────────┼───────────────────────────────────────┤ │ viewFromOptions(name[, objpre]) │ View the object via command line │ │ │ options. │ └──────────────────────────────────┴───────────────────────────────────────┘ Attributes Summary ┌──────────┬────────────────────────────┐ │ classid │ The class identifier. │ ├──────────┼────────────────────────────┤ │ comm │ The object communicator. │ ├──────────┼────────────────────────────┤ │ fortran │ Fortran handle. │ ├──────────┼────────────────────────────┤ │ handle │ Handle for ctypes support. │ ├──────────┼────────────────────────────┤ │ id │ The object identifier. │ ├──────────┼────────────────────────────┤ │ klass │ The class name. │ ├──────────┼────────────────────────────┤ │ name │ The object name. │ ├──────────┼────────────────────────────┤ │ prefix │ Options prefix. │ ├──────────┼────────────────────────────┤ │ refcount │ Reference count. │ ├──────────┼────────────────────────────┤ │ type │ Object type. │ └──────────┴────────────────────────────┘ Methods Documentation appendOptionsPrefix(prefix) Append to the prefix used for searching for options in the database. Logically collective. SEE ALSO: Working with PETSc options, setOptionsPrefix, PetscObjectAppendOptionsPrefix Source code at petsc4py/PETSc/Object.pyx:138 Parameters prefix (str | None) Return type None compose(name, obj) Associate a PETSc object using a key string. Logically collective. Parameters • name (str | None) -- The string identifying the object to be composed. • obj (Object) -- The object to be composed. Return type None SEE ALSO: query, PetscObjectCompose Source code at petsc4py/PETSc/Object.pyx:329 decRef() Decrement the object reference count. Logically collective. SEE ALSO: getRefCount, PetscObjectDereference Source code at petsc4py/PETSc/Object.pyx:389 Return type int destroy() Destroy the object. Collective. SEE ALSO: PetscObjectDestroy Source code at petsc4py/PETSc/Object.pyx:81 Return type Self destroyOptionsHandlers() Clear all the option handlers. Collective. SEE ALSO: Working with PETSc options, setOptionsHandler, PetscObjectDestroyOptionsHandlers Source code at petsc4py/PETSc/Object.pyx:213 Return type None getAttr(name) Return the attribute associated with a given name. Not collective. SEE ALSO: setAttr, getDict Source code at petsc4py/PETSc/Object.pyx:408 Parameters name (str) Return type object getClassId() Return the class identifier of the object. Not collective. SEE ALSO: PetscObjectGetClassId Source code at petsc4py/PETSc/Object.pyx:270 Return type int getClassName() Return the class name of the object. Not collective. SEE ALSO: PetscObjectGetClassName Source code at petsc4py/PETSc/Object.pyx:284 Return type str getComm() Return the communicator of the object. Not collective. SEE ALSO: PetscObjectGetComm Source code at petsc4py/PETSc/Object.pyx:228 Return type Comm getDict() Return the dictionary of attributes. Not collective. SEE ALSO: setAttr, getAttr Source code at petsc4py/PETSc/Object.pyx:436 Return type dict getId() Return the unique identifier of the object. Not collective. SEE ALSO: PetscObjectGetId Source code at petsc4py/PETSc/Object.pyx:313 Return type int getName() Return the name of the object. Not collective. SEE ALSO: PetscObjectGetName Source code at petsc4py/PETSc/Object.pyx:242 Return type str getOptionsPrefix() Return the prefix used for searching for options in the database. Not collective. SEE ALSO: Working with PETSc options, setOptionsPrefix, PetscObjectGetOptionsPrefix Source code at petsc4py/PETSc/Object.pyx:124 Return type str getRefCount() Return the reference count of the object. Not collective. SEE ALSO: PetscObjectGetReference Source code at petsc4py/PETSc/Object.pyx:298 Return type int getTabLevel() Return the PETSc object tab level. Not collective. SEE ALSO: setTabLevel, incrementTabLevel, PetscObjectGetTabLevel Source code at petsc4py/PETSc/Object.pyx:518 Return type None getType() Return the object type name. Not collective. SEE ALSO: PetscObjectGetType Source code at petsc4py/PETSc/Object.pyx:94 Return type str incRef() Increment the object reference count. Logically collective. SEE ALSO: getRefCount, PetscObjectReference Source code at petsc4py/PETSc/Object.pyx:372 Return type int incrementTabLevel(tab, parent=None) Increment the PETSc object tab level. Logically collective. SEE ALSO: setTabLevel, getTabLevel, PetscObjectIncrementTabLevel Source code at petsc4py/PETSc/Object.pyx:491 Parameters • tab (int) • parent (Object | None) Return type None query(name) Query for the PETSc object associated with a key string. Not collective. SEE ALSO: compose, PetscObjectQuery Source code at petsc4py/PETSc/Object.pyx:352 Parameters name (str) Return type Object setAttr(name, attr) Set an the attribute associated with a given name. Not collective. SEE ALSO: getAttr, getDict Source code at petsc4py/PETSc/Object.pyx:422 Parameters • name (str) • attr (object) Return type None setFromOptions() Configure the object from the options database. Collective. Classes that do not implement setFromOptions use this method that, in turn, calls ‐ PetscObjectSetFromOptions. SEE ALSO: Working with PETSc options, PetscObjectSetFromOptions Source code at petsc4py/PETSc/Object.pyx:152 Return type None setName(name) Associate a name to the object. Not collective. SEE ALSO: PetscObjectSetName Source code at petsc4py/PETSc/Object.pyx:256 Parameters name (str | None) Return type None setOptionsHandler(handler) Set the callback for processing extra options. Logically collective. Parameters handler (PetscOptionsHandlerFunction | None) -- The callback function, called at the end of a setFromOptions invocation for the given class. Return type None SEE ALSO: Working with PETSc options, Mat.setFromOptions, KSP.setFromOptions, ‐ PetscObjectAddOptionsHandler Source code at petsc4py/PETSc/Object.pyx:190 setOptionsPrefix(prefix) Set the prefix used for searching for options in the database. Logically collective. SEE ALSO: Working with PETSc options, getOptionsPrefix, PetscObjectSetOptionsPrefix Source code at petsc4py/PETSc/Object.pyx:110 Parameters prefix (str | None) Return type None setTabLevel(level) Set the PETSc object tab level. Logically collective. SEE ALSO: incrementTabLevel, getTabLevel, PetscObjectSetTabLevel Source code at petsc4py/PETSc/Object.pyx:505 Parameters level (int) Return type None stateGet() Return the PETSc object state. Not collective. SEE ALSO: stateSet, stateIncrease, PetscObjectStateGet Source code at petsc4py/PETSc/Object.pyx:462 Return type int stateIncrease() Increment the PETSc object state. Logically collective. SEE ALSO: stateGet, stateSet, PetscObjectStateIncrease Source code at petsc4py/PETSc/Object.pyx:450 Return type None stateSet(state) Set the PETSc object state. Logically collective. SEE ALSO: stateIncrease, stateGet, PetscObjectStateSet Source code at petsc4py/PETSc/Object.pyx:476 Parameters state (int) Return type None view(viewer=None) Display the object. Collective. Parameters viewer (Viewer | None) -- A Viewer instance or None for the default viewer. Return type None SEE ALSO: PetscObjectView Source code at petsc4py/PETSc/Object.pyx:62 viewFromOptions(name, objpre=None) View the object via command line options. Collective. Parameters • name (str) -- The command line option. • objpre (Object | None) -- Optional object that provides prefix. Return type None SEE ALSO: Working with PETSc options, PetscObjectViewFromOptions Source code at petsc4py/PETSc/Object.pyx:167 Attributes Documentation classid The class identifier. Source code at petsc4py/PETSc/Object.pyx:563 comm The object communicator. Source code at petsc4py/PETSc/Object.pyx:550 fortran Fortran handle. Source code at petsc4py/PETSc/Object.pyx:593 handle Handle for ctypes support. Source code at petsc4py/PETSc/Object.pyx:585 id The object identifier. Source code at petsc4py/PETSc/Object.pyx:568 klass The class name. Source code at petsc4py/PETSc/Object.pyx:573 name The object name. Source code at petsc4py/PETSc/Object.pyx:555 prefix Options prefix. Source code at petsc4py/PETSc/Object.pyx:542 refcount Reference count. Source code at petsc4py/PETSc/Object.pyx:578 type Object type. Source code at petsc4py/PETSc/Object.pyx:534 petsc4py.PETSc.Options class petsc4py.PETSc.Options Bases: object The options database object. A dictionary-like object to store and operate with command line options. Parameters prefix (str, optional) -- Optional string to prepend to all the options. Examples Create an option database and operate with it. >>> from petsc4py import PETSc >>> opts = PETSc.Options() >>> opts['a'] = 1 # insert the command-line option '-a 1' >>> if 'a' in opts: # if the option is present >>> val = opts['a'] # return the option value as 'str' >>> a_int = opts.getInt('a') # return the option value as 'int' >>> a_bool = opts.getBool('a') # return the option value as 'bool' Read command line and use default values. >>> from petsc4py import PETSc >>> opts = PETSc.Options() >>> b_float = opts.getReal('b', 1) # return the value or 1.0 if not present Read command line options prepended with a prefix. >>> from petsc4py import PETSc >>> opts = PETSc.Options('prefix_') >>> opts.getString('b', 'some_default_string') # read -prefix_b xxx SEE ALSO: Working with PETSc options Methods Summary ┌─────────────────────────────────┬───────────────────────────────────────┐ │ clear() │ Clear an options database. │ ├─────────────────────────────────┼───────────────────────────────────────┤ │ create() │ Create an options database. │ ├─────────────────────────────────┼───────────────────────────────────────┤ │ delValue(name) │ Delete an option from the database. │ ├─────────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy an options database. │ ├─────────────────────────────────┼───────────────────────────────────────┤ │ getAll() │ Return all the options and their │ │ │ values. │ ├─────────────────────────────────┼───────────────────────────────────────┤ │ getBool(name[, default]) │ Return the boolean value associated │ │ │ with the option. │ ├─────────────────────────────────┼───────────────────────────────────────┤ │ getBoolArray(name[, default]) │ Return the boolean values associated │ │ │ with the option. │ ├─────────────────────────────────┼───────────────────────────────────────┤ │ getInt(name[, default]) │ Return the integer value associated │ │ │ with the option. │ ├─────────────────────────────────┼───────────────────────────────────────┤ │ getIntArray(name[, default]) │ Return the integer array associated │ │ │ with the option. │ ├─────────────────────────────────┼───────────────────────────────────────┤ │ getReal(name[, default]) │ Return the real value associated with │ │ │ the option. │ ├─────────────────────────────────┼───────────────────────────────────────┤ │ getRealArray(name[, default]) │ Return the real array associated with │ │ │ the option. │ ├─────────────────────────────────┼───────────────────────────────────────┤ │ getScalar(name[, default]) │ Return the scalar value associated │ │ │ with the option. │ ├─────────────────────────────────┼───────────────────────────────────────┤ │ getScalarArray(name[, default]) │ Return the scalar array associated │ │ │ with the option. │ ├─────────────────────────────────┼───────────────────────────────────────┤ │ getString(name[, default]) │ Return the string associated with the │ │ │ option. │ ├─────────────────────────────────┼───────────────────────────────────────┤ │ hasName(name) │ Return the boolean indicating if the │ │ │ option is in the database. │ ├─────────────────────────────────┼───────────────────────────────────────┤ │ insertString(string) │ Insert a string in the options │ │ │ database. │ ├─────────────────────────────────┼───────────────────────────────────────┤ │ prefixPop() │ Pop a prefix for the options │ │ │ database. │ ├─────────────────────────────────┼───────────────────────────────────────┤ │ prefixPush(prefix) │ Push a prefix for the options │ │ │ database. │ ├─────────────────────────────────┼───────────────────────────────────────┤ │ setValue(name, value) │ Set a value for an option. │ ├─────────────────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ View the options database. │ └─────────────────────────────────┴───────────────────────────────────────┘ Attributes Summary ┌────────┬─────────────────────┐ │ prefix │ Prefix for options. │ └────────┴─────────────────────┘ Methods Documentation clear() Clear an options database. Source code at petsc4py/PETSc/Options.pyx:91 Return type Self create() Create an options database. Source code at petsc4py/PETSc/Options.pyx:79 Return type Self delValue(name) Delete an option from the database. Logically collective. SEE ALSO: setValue, PetscOptionsClearValue Source code at petsc4py/PETSc/Options.pyx:195 Parameters name (str) Return type None destroy() Destroy an options database. Source code at petsc4py/PETSc/Options.pyx:85 Return type Self getAll() Return all the options and their values. Not collective. SEE ALSO: PetscOptionsGetAll Source code at petsc4py/PETSc/Options.pyx:414 Return type dict[str, str] getBool(name, default=None) Return the boolean value associated with the option. Not collective. Parameters • name (str) -- The option name. • default -- The default value. If None, it raises a KeyError if the option is not found. Return type bool SEE ALSO: getBoolArray, PetscOptionsGetBool Source code at petsc4py/PETSc/Options.pyx:218 getBoolArray(name, default=None) Return the boolean values associated with the option. Not collective. Parameters • name (str) -- The option name. • default -- The default value. If None, it raises a KeyError if the option is not found. Return type ArrayBool SEE ALSO: getBool, PetscOptionsGetBoolArray Source code at petsc4py/PETSc/Options.pyx:238 getInt(name, default=None) Return the integer value associated with the option. Not collective. Parameters • name (str) -- The option name. • default -- The default value. If None, it raises a KeyError if the option is not found. Return type int SEE ALSO: getIntArray, PetscOptionsGetInt Source code at petsc4py/PETSc/Options.pyx:258 getIntArray(name, default=None) Return the integer array associated with the option. Not collective. Parameters • name (str) -- The option name. • default -- The default value. If None, it raises a KeyError if the option is not found. Return type ArrayInt SEE ALSO: getInt, PetscOptionsGetIntArray Source code at petsc4py/PETSc/Options.pyx:278 getReal(name, default=None) Return the real value associated with the option. Not collective. Parameters • name (str) -- The option name. • default -- The default value. If None, it raises a KeyError if the option is not found. Return type float SEE ALSO: getRealArray, PetscOptionsGetReal Source code at petsc4py/PETSc/Options.pyx:298 getRealArray(name, default=None) Return the real array associated with the option. Not collective. Parameters • name (str) -- The option name. • default -- The default value. If None, it raises a KeyError if the option is not found. Return type ArrayReal SEE ALSO: getReal, PetscOptionsGetRealArray Source code at petsc4py/PETSc/Options.pyx:318 getScalar(name, default=None) Return the scalar value associated with the option. Not collective. Parameters • name (str) -- The option name. • default -- The default value. If None, it raises a KeyError if the option is not found. Return type Scalar SEE ALSO: getScalarArray, PetscOptionsGetScalar Source code at petsc4py/PETSc/Options.pyx:338 getScalarArray(name, default=None) Return the scalar array associated with the option. Not collective. Parameters • name (str) -- The option name. • default -- The default value. If None, it raises a KeyError if the option is not found. Return type ArrayScalar SEE ALSO: getScalar, PetscOptionsGetScalarArray Source code at petsc4py/PETSc/Options.pyx:358 getString(name, default=None) Return the string associated with the option. Not collective. Parameters • name (str) -- The option name. • default -- The default value. If None, it raises a KeyError if the option is not found. Return type str SEE ALSO: PetscOptionsGetString Source code at petsc4py/PETSc/Options.pyx:378 hasName(name) Return the boolean indicating if the option is in the database. Source code at petsc4py/PETSc/Options.pyx:144 Parameters name (str) Return type bool insertString(string) Insert a string in the options database. Logically collective. SEE ALSO: PetscOptionsInsertString Source code at petsc4py/PETSc/Options.pyx:400 Parameters string (str) Return type None prefixPop() Pop a prefix for the options database. Logically collective. SEE ALSO: prefixPush, PetscOptionsPrefixPop Source code at petsc4py/PETSc/Options.pyx:131 Return type None prefixPush(prefix) Push a prefix for the options database. Logically collective. SEE ALSO: prefixPop, PetscOptionsPrefixPush Source code at petsc4py/PETSc/Options.pyx:116 Parameters prefix (str | Options | Object | None) Return type None setValue(name, value) Set a value for an option. Logically collective. Parameters • name (str) -- The string identifying the option. • value (bool | int | float | Scalar | Sequence[bool] | Sequence[int] | Sequence[‐ float] | Sequence[Scalar] | str) -- The option value. Return type None SEE ALSO: delValue, PetscOptionsSetValue Source code at petsc4py/PETSc/Options.pyx:153 view(viewer=None) View the options database. Collective. Parameters viewer (Viewer | None) -- A Viewer instance or None for the default viewer. Return type None SEE ALSO: Viewer, PetscOptionsView Source code at petsc4py/PETSc/Options.pyx:97 Attributes Documentation prefix Prefix for options. Source code at petsc4py/PETSc/Options.pyx:67 petsc4py.PETSc.PC class petsc4py.PETSc.PC Bases: Object Preconditioners. PC is described in the PETSc manual. Calling the PC with a vector as an argument will apply the preconditioner as shown in the example below. Examples >>> from petsc4py import PETSc >>> v = PETSc.Vec().createWithArray([1, 2]) >>> m = PETSc.Mat().createDense(2, array=[[1, 0], [0, 1]]) >>> pc = PETSc.PC().create() >>> pc.setOperators(m) >>> u = pc(v) # u is created internally >>> pc.apply(v, u) # u can also be passed as second argument SEE ALSO: PC Enumerations ┌───────────────────────────┬───────────────────────────────────────┐ │ ASMType │ The ASM subtype. │ ├───────────────────────────┼───────────────────────────────────────┤ │ CompositeType │ The composite type. │ ├───────────────────────────┼───────────────────────────────────────┤ │ DeflationSpaceType │ The deflation space subtype. │ ├───────────────────────────┼───────────────────────────────────────┤ │ FailedReason │ The reason the preconditioner has │ │ │ failed. │ ├───────────────────────────┼───────────────────────────────────────┤ │ FieldSplitSchurFactType │ The field split Schur factorization │ │ │ type. │ ├───────────────────────────┼───────────────────────────────────────┤ │ FieldSplitSchurPreType │ The field split Schur subtype. │ ├───────────────────────────┼───────────────────────────────────────┤ │ GAMGType │ The GAMG subtype. │ ├───────────────────────────┼───────────────────────────────────────┤ │ GASMType │ The GASM subtype. │ ├───────────────────────────┼───────────────────────────────────────┤ │ HPDDMCoarseCorrectionType │ The HPDDM coarse correction type. │ ├───────────────────────────┼───────────────────────────────────────┤ │ MGCycleType │ The MG cycle type. │ ├───────────────────────────┼───────────────────────────────────────┤ │ MGType │ The MG subtype. │ ├───────────────────────────┼───────────────────────────────────────┤ │ PatchConstructType │ The patch construction type. │ ├───────────────────────────┼───────────────────────────────────────┤ │ Side │ The manner in which the │ │ │ preconditioner is applied. │ ├───────────────────────────┼───────────────────────────────────────┤ │ Type │ The preconditioner method. │ └───────────────────────────┴───────────────────────────────────────┘ petsc4py.PETSc.PC.ASMType class petsc4py.PETSc.PC.ASMType Bases: object The ASM subtype. Attributes Summary ┌─────────────┬──────────────────────────────────┐ │ BASIC │ Constant BASIC of type int │ ├─────────────┼──────────────────────────────────┤ │ INTERPOLATE │ Constant INTERPOLATE of type int │ ├─────────────┼──────────────────────────────────┤ │ NONE │ Constant NONE of type int │ ├─────────────┼──────────────────────────────────┤ │ RESTRICT │ Constant RESTRICT of type int │ └─────────────┴──────────────────────────────────┘ Attributes Documentation BASIC: int = BASIC Constant BASIC of type int INTERPOLATE: int = INTERPOLATE Constant INTERPOLATE of type int NONE: int = NONE Constant NONE of type int RESTRICT: int = RESTRICT Constant RESTRICT of type int petsc4py.PETSc.PC.CompositeType class petsc4py.PETSc.PC.CompositeType Bases: object The composite type. Attributes Summary ┌──────────────────────────┬───────────────────────────────────────┐ │ ADDITIVE │ Constant ADDITIVE of type int │ ├──────────────────────────┼───────────────────────────────────────┤ │ MULTIPLICATIVE │ Constant MULTIPLICATIVE of type int │ ├──────────────────────────┼───────────────────────────────────────┤ │ SCHUR │ Constant SCHUR of type int │ ├──────────────────────────┼───────────────────────────────────────┤ │ SPECIAL │ Constant SPECIAL of type int │ ├──────────────────────────┼───────────────────────────────────────┤ │ SYMMETRIC_MULTIPLICATIVE │ Constant SYMMETRIC_MULTIPLICATIVE of │ │ │ type int │ └──────────────────────────┴───────────────────────────────────────┘ Attributes Documentation ADDITIVE: int = ADDITIVE Constant ADDITIVE of type int MULTIPLICATIVE: int = MULTIPLICATIVE Constant MULTIPLICATIVE of type int SCHUR: int = SCHUR Constant SCHUR of type int SPECIAL: int = SPECIAL Constant SPECIAL of type int SYMMETRIC_MULTIPLICATIVE: int = SYMMETRIC_MULTIPLICATIVE Constant SYMMETRIC_MULTIPLICATIVE of type int petsc4py.PETSc.PC.DeflationSpaceType class petsc4py.PETSc.PC.DeflationSpaceType Bases: object The deflation space subtype. Attributes Summary ┌─────────────┬──────────────────────────────────┐ │ AGGREGATION │ Constant AGGREGATION of type int │ ├─────────────┼──────────────────────────────────┤ │ BIORTH22 │ Constant BIORTH22 of type int │ ├─────────────┼──────────────────────────────────┤ │ DB16 │ Constant DB16 of type int │ ├─────────────┼──────────────────────────────────┤ │ DB2 │ Constant DB2 of type int │ ├─────────────┼──────────────────────────────────┤ │ DB4 │ Constant DB4 of type int │ ├─────────────┼──────────────────────────────────┤ │ DB8 │ Constant DB8 of type int │ ├─────────────┼──────────────────────────────────┤ │ HAAR │ Constant HAAR of type int │ ├─────────────┼──────────────────────────────────┤ │ MEYER │ Constant MEYER of type int │ ├─────────────┼──────────────────────────────────┤ │ USER │ Constant USER of type int │ └─────────────┴──────────────────────────────────┘ Attributes Documentation AGGREGATION: int = AGGREGATION Constant AGGREGATION of type int BIORTH22: int = BIORTH22 Constant BIORTH22 of type int DB16: int = DB16 Constant DB16 of type int DB2: int = DB2 Constant DB2 of type int DB4: int = DB4 Constant DB4 of type int DB8: int = DB8 Constant DB8 of type int HAAR: int = HAAR Constant HAAR of type int MEYER: int = MEYER Constant MEYER of type int USER: int = USER Constant USER of type int petsc4py.PETSc.PC.FailedReason class petsc4py.PETSc.PC.FailedReason Bases: object The reason the preconditioner has failed. Attributes Summary ┌──────────────────────────┬───────────────────────────────────────┐ │ FACTOR_NUMERIC_ZEROPIVOT │ Constant FACTOR_NUMERIC_ZEROPIVOT of │ │ │ type int │ ├──────────────────────────┼───────────────────────────────────────┤ │ FACTOR_OTHER │ Constant FACTOR_OTHER of type int │ ├──────────────────────────┼───────────────────────────────────────┤ │ FACTOR_OUTMEMORY │ Constant FACTOR_OUTMEMORY of type int │ ├──────────────────────────┼───────────────────────────────────────┤ │ FACTOR_STRUCT_ZEROPIVOT │ Constant FACTOR_STRUCT_ZEROPIVOT of │ │ │ type int │ ├──────────────────────────┼───────────────────────────────────────┤ │ NOERROR │ Constant NOERROR of type int │ ├──────────────────────────┼───────────────────────────────────────┤ │ SETUP_ERROR │ Constant SETUP_ERROR of type int │ ├──────────────────────────┼───────────────────────────────────────┤ │ SUBPC_ERROR │ Constant SUBPC_ERROR of type int │ └──────────────────────────┴───────────────────────────────────────┘ Attributes Documentation FACTOR_NUMERIC_ZEROPIVOT: int = FACTOR_NUMERIC_ZEROPIVOT Constant FACTOR_NUMERIC_ZEROPIVOT of type int FACTOR_OTHER: int = FACTOR_OTHER Constant FACTOR_OTHER of type int FACTOR_OUTMEMORY: int = FACTOR_OUTMEMORY Constant FACTOR_OUTMEMORY of type int FACTOR_STRUCT_ZEROPIVOT: int = FACTOR_STRUCT_ZEROPIVOT Constant FACTOR_STRUCT_ZEROPIVOT of type int NOERROR: int = NOERROR Constant NOERROR of type int SETUP_ERROR: int = SETUP_ERROR Constant SETUP_ERROR of type int SUBPC_ERROR: int = SUBPC_ERROR Constant SUBPC_ERROR of type int petsc4py.PETSc.PC.FieldSplitSchurFactType class petsc4py.PETSc.PC.FieldSplitSchurFactType Bases: object The field split Schur factorization type. Attributes Summary ┌───────┬────────────────────────────┐ │ DIAG │ Constant DIAG of type int │ ├───────┼────────────────────────────┤ │ FULL │ Constant FULL of type int │ ├───────┼────────────────────────────┤ │ LOWER │ Constant LOWER of type int │ ├───────┼────────────────────────────┤ │ UPPER │ Constant UPPER of type int │ └───────┴────────────────────────────┘ Attributes Documentation DIAG: int = DIAG Constant DIAG of type int FULL: int = FULL Constant FULL of type int LOWER: int = LOWER Constant LOWER of type int UPPER: int = UPPER Constant UPPER of type int petsc4py.PETSc.PC.FieldSplitSchurPreType class petsc4py.PETSc.PC.FieldSplitSchurPreType Bases: object The field split Schur subtype. Attributes Summary ┌───────┬────────────────────────────┐ │ A11 │ Constant A11 of type int │ ├───────┼────────────────────────────┤ │ FULL │ Constant FULL of type int │ ├───────┼────────────────────────────┤ │ SELF │ Constant SELF of type int │ ├───────┼────────────────────────────┤ │ SELFP │ Constant SELFP of type int │ ├───────┼────────────────────────────┤ │ USER │ Constant USER of type int │ └───────┴────────────────────────────┘ Attributes Documentation A11: int = A11 Constant A11 of type int FULL: int = FULL Constant FULL of type int SELF: int = SELF Constant SELF of type int SELFP: int = SELFP Constant SELFP of type int USER: int = USER Constant USER of type int petsc4py.PETSc.PC.GAMGType class petsc4py.PETSc.PC.GAMGType Bases: object The GAMG subtype. Attributes Summary ┌───────────┬──────────────────────────────┐ │ AGG │ Object AGG of type str │ ├───────────┼──────────────────────────────┤ │ CLASSICAL │ Object CLASSICAL of type str │ ├───────────┼──────────────────────────────┤ │ GEO │ Object GEO of type str │ └───────────┴──────────────────────────────┘ Attributes Documentation AGG: str = AGG Object AGG of type str CLASSICAL: str = CLASSICAL Object CLASSICAL of type str GEO: str = GEO Object GEO of type str petsc4py.PETSc.PC.GASMType class petsc4py.PETSc.PC.GASMType Bases: object The GASM subtype. Attributes Summary ┌─────────────┬──────────────────────────────────┐ │ BASIC │ Constant BASIC of type int │ ├─────────────┼──────────────────────────────────┤ │ INTERPOLATE │ Constant INTERPOLATE of type int │ ├─────────────┼──────────────────────────────────┤ │ NONE │ Constant NONE of type int │ ├─────────────┼──────────────────────────────────┤ │ RESTRICT │ Constant RESTRICT of type int │ └─────────────┴──────────────────────────────────┘ Attributes Documentation BASIC: int = BASIC Constant BASIC of type int INTERPOLATE: int = INTERPOLATE Constant INTERPOLATE of type int NONE: int = NONE Constant NONE of type int RESTRICT: int = RESTRICT Constant RESTRICT of type int petsc4py.PETSc.PC.HPDDMCoarseCorrectionType class petsc4py.PETSc.PC.HPDDMCoarseCorrectionType Bases: object The HPDDM coarse correction type. Attributes Summary ┌──────────┬───────────────────────────────┐ │ ADDITIVE │ Constant ADDITIVE of type int │ ├──────────┼───────────────────────────────┤ │ BALANCED │ Constant BALANCED of type int │ ├──────────┼───────────────────────────────┤ │ DEFLATED │ Constant DEFLATED of type int │ ├──────────┼───────────────────────────────┤ │ NONE │ Constant NONE of type int │ └──────────┴───────────────────────────────┘ Attributes Documentation ADDITIVE: int = ADDITIVE Constant ADDITIVE of type int BALANCED: int = BALANCED Constant BALANCED of type int DEFLATED: int = DEFLATED Constant DEFLATED of type int NONE: int = NONE Constant NONE of type int petsc4py.PETSc.PC.MGCycleType class petsc4py.PETSc.PC.MGCycleType Bases: object The MG cycle type. Attributes Summary ┌───┬────────────────────────┐ │ V │ Constant V of type int │ ├───┼────────────────────────┤ │ W │ Constant W of type int │ └───┴────────────────────────┘ Attributes Documentation V: int = V Constant V of type int W: int = W Constant W of type int petsc4py.PETSc.PC.MGType class petsc4py.PETSc.PC.MGType Bases: object The MG subtype. Attributes Summary ┌────────────────┬─────────────────────────────────────┐ │ ADDITIVE │ Constant ADDITIVE of type int │ ├────────────────┼─────────────────────────────────────┤ │ FULL │ Constant FULL of type int │ ├────────────────┼─────────────────────────────────────┤ │ KASKADE │ Constant KASKADE of type int │ ├────────────────┼─────────────────────────────────────┤ │ MULTIPLICATIVE │ Constant MULTIPLICATIVE of type int │ └────────────────┴─────────────────────────────────────┘ Attributes Documentation ADDITIVE: int = ADDITIVE Constant ADDITIVE of type int FULL: int = FULL Constant FULL of type int KASKADE: int = KASKADE Constant KASKADE of type int MULTIPLICATIVE: int = MULTIPLICATIVE Constant MULTIPLICATIVE of type int petsc4py.PETSc.PC.PatchConstructType class petsc4py.PETSc.PC.PatchConstructType Bases: object The patch construction type. Attributes Summary ┌───────────┬────────────────────────────────┐ │ PARDECOMP │ Constant PARDECOMP of type int │ ├───────────┼────────────────────────────────┤ │ PYTHON │ Constant PYTHON of type int │ ├───────────┼────────────────────────────────┤ │ STAR │ Constant STAR of type int │ ├───────────┼────────────────────────────────┤ │ USER │ Constant USER of type int │ ├───────────┼────────────────────────────────┤ │ VANKA │ Constant VANKA of type int │ └───────────┴────────────────────────────────┘ Attributes Documentation PARDECOMP: int = PARDECOMP Constant PARDECOMP of type int PYTHON: int = PYTHON Constant PYTHON of type int STAR: int = STAR Constant STAR of type int USER: int = USER Constant USER of type int VANKA: int = VANKA Constant VANKA of type int petsc4py.PETSc.PC.Side class petsc4py.PETSc.PC.Side Bases: object The manner in which the preconditioner is applied. Attributes Summary ┌───────────┬────────────────────────────────┐ │ L │ Constant L of type int │ ├───────────┼────────────────────────────────┤ │ LEFT │ Constant LEFT of type int │ ├───────────┼────────────────────────────────┤ │ R │ Constant R of type int │ ├───────────┼────────────────────────────────┤ │ RIGHT │ Constant RIGHT of type int │ ├───────────┼────────────────────────────────┤ │ S │ Constant S of type int │ ├───────────┼────────────────────────────────┤ │ SYMMETRIC │ Constant SYMMETRIC of type int │ └───────────┴────────────────────────────────┘ Attributes Documentation L: int = L Constant L of type int LEFT: int = LEFT Constant LEFT of type int R: int = R Constant R of type int RIGHT: int = RIGHT Constant RIGHT of type int S: int = S Constant S of type int SYMMETRIC: int = SYMMETRIC Constant SYMMETRIC of type int petsc4py.PETSc.PC.Type class petsc4py.PETSc.PC.Type Bases: object The preconditioner method. Attributes Summary ┌────────────────────┬───────────────────────────────────────┐ │ ASM │ Object ASM of type str │ ├────────────────────┼───────────────────────────────────────┤ │ BDDC │ Object BDDC of type str │ ├────────────────────┼───────────────────────────────────────┤ │ BFBT │ Object BFBT of type str │ ├────────────────────┼───────────────────────────────────────┤ │ BJACOBI │ Object BJACOBI of type str │ ├────────────────────┼───────────────────────────────────────┤ │ CHOLESKY │ Object CHOLESKY of type str │ ├────────────────────┼───────────────────────────────────────┤ │ CHOWILUVIENNACL │ Object CHOWILUVIENNACL of type str │ ├────────────────────┼───────────────────────────────────────┤ │ COMPOSITE │ Object COMPOSITE of type str │ ├────────────────────┼───────────────────────────────────────┤ │ CP │ Object CP of type str │ ├────────────────────┼───────────────────────────────────────┤ │ DEFLATION │ Object DEFLATION of type str │ ├────────────────────┼───────────────────────────────────────┤ │ EISENSTAT │ Object EISENSTAT of type str │ ├────────────────────┼───────────────────────────────────────┤ │ EXOTIC │ Object EXOTIC of type str │ ├────────────────────┼───────────────────────────────────────┤ │ FIELDSPLIT │ Object FIELDSPLIT of type str │ ├────────────────────┼───────────────────────────────────────┤ │ GALERKIN │ Object GALERKIN of type str │ ├────────────────────┼───────────────────────────────────────┤ │ GAMG │ Object GAMG of type str │ ├────────────────────┼───────────────────────────────────────┤ │ GASM │ Object GASM of type str │ ├────────────────────┼───────────────────────────────────────┤ │ H2OPUS │ Object H2OPUS of type str │ ├────────────────────┼───────────────────────────────────────┤ │ HMG │ Object HMG of type str │ ├────────────────────┼───────────────────────────────────────┤ │ HPDDM │ Object HPDDM of type str │ ├────────────────────┼───────────────────────────────────────┤ │ HYPRE │ Object HYPRE of type str │ ├────────────────────┼───────────────────────────────────────┤ │ ICC │ Object ICC of type str │ ├────────────────────┼───────────────────────────────────────┤ │ ILU │ Object ILU of type str │ ├────────────────────┼───────────────────────────────────────┤ │ JACOBI │ Object JACOBI of type str │ ├────────────────────┼───────────────────────────────────────┤ │ KACZMARZ │ Object KACZMARZ of type str │ ├────────────────────┼───────────────────────────────────────┤ │ KSP │ Object KSP of type str │ ├────────────────────┼───────────────────────────────────────┤ │ LMVM │ Object LMVM of type str │ ├────────────────────┼───────────────────────────────────────┤ │ LSC │ Object LSC of type str │ ├────────────────────┼───────────────────────────────────────┤ │ LU │ Object LU of type str │ ├────────────────────┼───────────────────────────────────────┤ │ MAT │ Object MAT of type str │ ├────────────────────┼───────────────────────────────────────┤ │ MG │ Object MG of type str │ ├────────────────────┼───────────────────────────────────────┤ │ ML │ Object ML of type str │ ├────────────────────┼───────────────────────────────────────┤ │ NN │ Object NN of type str │ ├────────────────────┼───────────────────────────────────────┤ │ NONE │ Object NONE of type str │ ├────────────────────┼───────────────────────────────────────┤ │ PARMS │ Object PARMS of type str │ ├────────────────────┼───────────────────────────────────────┤ │ PATCH │ Object PATCH of type str │ ├────────────────────┼───────────────────────────────────────┤ │ PBJACOBI │ Object PBJACOBI of type str │ ├────────────────────┼───────────────────────────────────────┤ │ PFMG │ Object PFMG of type str │ ├────────────────────┼───────────────────────────────────────┤ │ PYTHON │ Object PYTHON of type str │ ├────────────────────┼───────────────────────────────────────┤ │ QR │ Object QR of type str │ ├────────────────────┼───────────────────────────────────────┤ │ REDISTRIBUTE │ Object REDISTRIBUTE of type str │ ├────────────────────┼───────────────────────────────────────┤ │ REDUNDANT │ Object REDUNDANT of type str │ ├────────────────────┼───────────────────────────────────────┤ │ ROWSCALINGVIENNACL │ Object ROWSCALINGVIENNACL of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SAVIENNACL │ Object SAVIENNACL of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SHELL │ Object SHELL of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SOR │ Object SOR of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SPAI │ Object SPAI of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SVD │ Object SVD of type str │ ├────────────────────┼───────────────────────────────────────┤ │ SYSPFMG │ Object SYSPFMG of type str │ ├────────────────────┼───────────────────────────────────────┤ │ TELESCOPE │ Object TELESCOPE of type str │ ├────────────────────┼───────────────────────────────────────┤ │ TFS │ Object TFS of type str │ ├────────────────────┼───────────────────────────────────────┤ │ VPBJACOBI │ Object VPBJACOBI of type str │ └────────────────────┴───────────────────────────────────────┘ Attributes Documentation ASM: str = ASM Object ASM of type str BDDC: str = BDDC Object BDDC of type str BFBT: str = BFBT Object BFBT of type str BJACOBI: str = BJACOBI Object BJACOBI of type str CHOLESKY: str = CHOLESKY Object CHOLESKY of type str CHOWILUVIENNACL: str = CHOWILUVIENNACL Object CHOWILUVIENNACL of type str COMPOSITE: str = COMPOSITE Object COMPOSITE of type str CP: str = CP Object CP of type str DEFLATION: str = DEFLATION Object DEFLATION of type str EISENSTAT: str = EISENSTAT Object EISENSTAT of type str EXOTIC: str = EXOTIC Object EXOTIC of type str FIELDSPLIT: str = FIELDSPLIT Object FIELDSPLIT of type str GALERKIN: str = GALERKIN Object GALERKIN of type str GAMG: str = GAMG Object GAMG of type str GASM: str = GASM Object GASM of type str H2OPUS: str = H2OPUS Object H2OPUS of type str HMG: str = HMG Object HMG of type str HPDDM: str = HPDDM Object HPDDM of type str HYPRE: str = HYPRE Object HYPRE of type str ICC: str = ICC Object ICC of type str ILU: str = ILU Object ILU of type str JACOBI: str = JACOBI Object JACOBI of type str KACZMARZ: str = KACZMARZ Object KACZMARZ of type str KSP: str = KSP Object KSP of type str LMVM: str = LMVM Object LMVM of type str LSC: str = LSC Object LSC of type str LU: str = LU Object LU of type str MAT: str = MAT Object MAT of type str MG: str = MG Object MG of type str ML: str = ML Object ML of type str NN: str = NN Object NN of type str NONE: str = NONE Object NONE of type str PARMS: str = PARMS Object PARMS of type str PATCH: str = PATCH Object PATCH of type str PBJACOBI: str = PBJACOBI Object PBJACOBI of type str PFMG: str = PFMG Object PFMG of type str PYTHON: str = PYTHON Object PYTHON of type str QR: str = QR Object QR of type str REDISTRIBUTE: str = REDISTRIBUTE Object REDISTRIBUTE of type str REDUNDANT: str = REDUNDANT Object REDUNDANT of type str ROWSCALINGVIENNACL: str = ROWSCALINGVIENNACL Object ROWSCALINGVIENNACL of type str SAVIENNACL: str = SAVIENNACL Object SAVIENNACL of type str SHELL: str = SHELL Object SHELL of type str SOR: str = SOR Object SOR of type str SPAI: str = SPAI Object SPAI of type str SVD: str = SVD Object SVD of type str SYSPFMG: str = SYSPFMG Object SYSPFMG of type str TELESCOPE: str = TELESCOPE Object TELESCOPE of type str TFS: str = TFS Object TFS of type str VPBJACOBI: str = VPBJACOBI Object VPBJACOBI of type str Methods Summary ┌─────────────────────────────────────────────────┬───────────────────────────────────────┐ │ addCompositePCType(pc_type) │ Add a PC of the given type to the │ │ │ composite PC. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ appendOptionsPrefix(prefix) │ Append to the prefix used for all the │ │ │ PC options. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ apply(x, y) │ Apply the PC to a vector. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ applySymmetricLeft(x, y) │ Apply the left part of a symmetric PC │ │ │ to a vector. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ applySymmetricRight(x, y) │ Apply the right part of a symmetric │ │ │ PC to a vector. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ applyTranspose(x, y) │ Apply the transpose of the PC to a │ │ │ vector. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ create([comm]) │ Create an empty PC. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ createPython([context, comm]) │ Create a preconditioner of Python │ │ │ type. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy the PC that was created with │ │ │ create. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getASMSubKSP() │ Return the local KSP object for all │ │ │ blocks on this process. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getCompositePC(n) │ Return a component of the composite │ │ │ PC. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getDM() │ Return the DM associated with the PC. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getDeflationCoarseKSP() │ Return the coarse problem KSP. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getDeflationPC() │ Return the additional preconditioner. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getFactorMatrix() │ Return the factored matrix. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getFactorSolverType() │ Return the solver package used to │ │ │ perform the factorization. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getFailedReason() │ Return the reason the PC terminated. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getFieldSplitSchurGetSubKSP() │ Return the KSP for the Schur │ │ │ complement based splits. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getFieldSplitSubIS(splitname) │ Return the IS associated with a given │ │ │ name. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getFieldSplitSubKSP() │ Return the KSP for all splits. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getHPDDMCoarseCorrectionType() │ Return the coarse correction type. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getHPDDMComplexities() │ Compute the grid and operator │ │ │ complexities. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getHPDDMSTShareSubKSP() │ Return true if the KSP in SLEPc ST │ │ │ and the subdomain solver is shared. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getHYPREType() │ Return the Type.HYPRE type. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getKSP() │ Return the KSP if the PC is Type.KSP. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getMGCoarseSolve() │ Return the KSP used on the coarse │ │ │ grid. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getMGInterpolation(level) │ Return the interpolation operator for │ │ │ the given level. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getMGLevels() │ Return the number of MG levels. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getMGRScale(level) │ Return the pointwise scaling for the │ │ │ restriction operator on the given │ │ │ level. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getMGRestriction(level) │ Return the restriction operator for │ │ │ the given level. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getMGSmoother(level) │ Return the KSP to be used as a │ │ │ smoother. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getMGSmootherDown(level) │ Return the KSP to be used as a │ │ │ smoother before coarse grid │ │ │ correction. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getMGSmootherUp(level) │ Return the KSP to be used as a │ │ │ smoother after coarse grid │ │ │ correction. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getMGType() │ Return the form of multigrid. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getOperators() │ Return the matrices associated with a │ │ │ linear system. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getOptionsPrefix() │ Return the prefix used for all the PC │ │ │ options. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getPatchSubKSP() │ Return the local KSP object for all │ │ │ blocks on this process. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getPythonContext() │ Return the instance of the class │ │ │ implementing the required Python │ │ │ methods. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getPythonType() │ Return the fully qualified Python │ │ │ name of the class used by the │ │ │ preconditioner. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getType() │ Return the preconditioner type. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ getUseAmat() │ Return the flag to indicate if PC is │ │ │ applied to A or P. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ matApply(x, y) │ Apply the PC to many vectors stored │ │ │ as Mat.Type.DENSE. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ reset() │ Reset the PC, removing any allocated │ │ │ vectors and matrices. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setASMLocalSubdomains(nsd[, is_sub, │ Set the local subdomains. │ │ is_local]) │ │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setASMOverlap(overlap) │ Set the overlap between a pair of │ │ │ subdomains. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setASMSortIndices(dosort) │ Set to sort subdomain indices. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setASMTotalSubdomains(nsd[, is_sub, │ Set the subdomains for all processes. │ │ is_local]) │ │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setASMType(asmtype) │ Set the type of restriction and │ │ │ interpolation. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setBDDCChangeOfBasisMat(T[, │ Set a user defined change of basis │ │ interior]) │ for degrees of freedom. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setBDDCCoarseningRatio(cratio) │ Set the coarsening ratio used in the │ │ │ multilevel version. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setBDDCDirichletBoundaries(bndr) │ Set the IS defining Dirichlet │ │ │ boundaries for the global problem. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setBDDCDirichletBoundariesLocal(bndr) │ Set the IS defining Dirichlet │ │ │ boundaries in local ordering. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setBDDCDiscreteGradient(G[, order, │ Set the discrete gradient. │ │ field, ...]) │ │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setBDDCDivergenceMat(div[, trans, │ Set the linear operator representing │ │ l2l]) │ ∫ div(u)•p dx. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setBDDCDofsSplitting(isfields) │ Set the index set(s) defining fields │ │ │ of the global matrix. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setBDDCDofsSplittingLocal(isfields) │ Set the index set(s) defining fields │ │ │ of the local subdomain matrix. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setBDDCLevels(levels) │ Set the maximum number of additional │ │ │ levels allowed. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setBDDCLocalAdjacency(csr) │ Provide a custom connectivity graph │ │ │ for local dofs. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setBDDCNeumannBoundaries(bndr) │ Set the IS defining Neumann │ │ │ boundaries for the global problem. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setBDDCNeumannBoundariesLocal(bndr) │ Set the IS defining Neumann │ │ │ boundaries in local ordering. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setBDDCPrimalVerticesIS(primv) │ Set additional user defined primal │ │ │ vertices. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setBDDCPrimalVerticesLocalIS(primv) │ Set additional user defined primal │ │ │ vertices. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setCompositeType(ctype) │ Set the type of composite │ │ │ preconditioner. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setCoordinates(coordinates) │ Set the coordinates for the nodes on │ │ │ the local process. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setDM(dm) │ Set the DM that may be used by some │ │ │ preconditioners. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setDeflationCoarseMat(mat) │ Set the coarse problem matrix. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setDeflationCorrectionFactor(fact) │ Set the coarse problem correction │ │ │ factor. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setDeflationInitOnly(flg) │ Set to only perform the │ │ │ initialization. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setDeflationLevels(levels) │ Set the maximum level of deflation │ │ │ nesting. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setDeflationProjectionNullSpaceMat(mat) │ Set the projection null space matrix. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setDeflationReductionFactor(red) │ Set the reduction factor for the │ │ │ preconditioner. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setDeflationSpace(W, transpose) │ Set the deflation space matrix or its │ │ │ (Hermitian) transpose. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setDeflationSpaceToCompute(space_type, │ Set the deflation space type. │ │ size) │ │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setFactorLevels(levels) │ Set the number of levels of fill. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setFactorOrdering([ord_type, nzdiag, │ Set options for the matrix │ │ reuse]) │ factorization reordering. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setFactorPivot([zeropivot, inblocks]) │ Set options for matrix factorization │ │ │ pivoting. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setFactorSetUpSolverType() │ Set up the factorization solver. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setFactorShift([shift_type, amount]) │ Set options for shifting diagonal │ │ │ entries of a matrix. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setFactorSolverType(solver) │ Set the solver package used to │ │ │ perform the factorization. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setFailedReason(reason) │ Set the reason the PC terminated. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setFieldSplitFields(bsize, *fields) │ Sets the elements for the field │ │ │ split. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setFieldSplitIS(*fields) │ Set the elements for the field split │ │ │ by IS. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setFieldSplitSchurFactType(ctype) │ Set the type of approximate block │ │ │ factorization. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setFieldSplitSchurPreType(ptype[, pre]) │ Set from what operator the PC is │ │ │ constructed. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setFieldSplitType(ctype) │ Set the type of composition of a │ │ │ field split preconditioner. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setFromOptions() │ Set various PC parameters from user │ │ │ options. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setGAMGLevels(levels) │ Set the maximum number of levels. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setGAMGSmooths(smooths) │ Set the number of smoothing steps │ │ │ used on all levels. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setGAMGType(gamgtype) │ Set the type of algorithm. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setGASMOverlap(overlap) │ Set the overlap between a pair of │ │ │ subdomains. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setGASMType(gasmtype) │ Set the type of restriction and │ │ │ interpolation. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setHPDDMAuxiliaryMat(uis, uaux) │ Set the auxiliary matrix used by the │ │ │ preconditioner. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setHPDDMCoarseCorrectionType(correction_type) │ Set the coarse correction type. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setHPDDMDeflationMat(uis, U) │ Set the deflation space used to │ │ │ assemble a coarse operator. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setHPDDMHasNeumannMat(has) │ Set to indicate that the Mat passed │ │ │ to the PC is the local Neumann │ │ │ matrix. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setHPDDMRHSMat(B) │ Set the right-hand side matrix of the │ │ │ preconditioner. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setHYPREAMSSetInteriorNodes(interior) │ Set the list of interior nodes to a │ │ │ zero conductivity region. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setHYPREDiscreteCurl(mat) │ Set the discrete curl matrix. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setHYPREDiscreteGradient(mat) │ Set the discrete gradient matrix. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setHYPRESetAlphaPoissonMatrix(mat) │ Set the vector Poisson matrix. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setHYPRESetBetaPoissonMatrix([mat]) │ Set the Posson matrix. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setHYPRESetEdgeConstantVectors(ozz, zoz[, │ Set the representation of the │ │ zzo]) │ constant vector fields in the edge │ │ │ element basis. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setHYPRESetInterpolations(dim[, RT_Pi_Full, │ Set the interpolation matrices. │ │ ...]) │ │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setHYPREType(hypretype) │ Set the Type.HYPRE type. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setMGCycleType(cycle_type) │ Set the type of cycles. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setMGCycleTypeOnLevel(level, cycle_type) │ Set the type of cycle on the given │ │ │ level. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setMGInterpolation(level, mat) │ Set the interpolation operator for │ │ │ the given level. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setMGLevels(levels) │ Set the number of MG levels. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setMGR(level, r) │ Set the vector where the residual is │ │ │ stored. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setMGRScale(level, rscale) │ Set the pointwise scaling for the │ │ │ restriction operator on the given │ │ │ level. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setMGRestriction(level, mat) │ Set the restriction operator for the │ │ │ given level. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setMGRhs(level, rhs) │ Set the vector where the right-hand │ │ │ side is stored. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setMGType(mgtype) │ Set the form of multigrid. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setMGX(level, x) │ Set the vector where the solution is │ │ │ stored. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setOperators([A, P]) │ Set the matrices associated with the │ │ │ linear system. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setOptionsPrefix(prefix) │ Set the prefix used for all the PC │ │ │ options. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setPatchCellNumbering(sec) │ Set the cell numbering. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setPatchComputeFunction(function[, args, │ Set compute operator callbacks. │ │ kargs]) │ │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setPatchComputeFunctionInteriorFacets(function) │ Set compute operator callbacks. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setPatchComputeOperator(operator[, args, │ Set compute operator callbacks. │ │ kargs]) │ │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setPatchComputeOperatorInteriorFacets(operator) │ Set compute operator callbacks. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setPatchConstructType(typ[, operator, args, │ Set compute operator callbacks. │ │ ...]) │ │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setPatchDiscretisationInfo(dms, bs, ...) │ Set discretisation info. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setPythonContext(context) │ Set the instance of the class │ │ │ implementing the required Python │ │ │ methods. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setPythonType(py_type) │ Set the fully qualified Python name │ │ │ of the class to be used. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setReusePreconditioner(flag) │ Set to indicate the preconditioner is │ │ │ to be reused. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setSPAIBlockSize(n) │ Set the block size of the │ │ │ preconditioner. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setSPAICacheSize(size) │ Set the cache size. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setSPAIEpsilon(val) │ Set the tolerance for the │ │ │ preconditioner. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setSPAIMax(maxval) │ Set the size of working buffers in │ │ │ the preconditioner. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setSPAIMaxNew(maxval) │ Set the maximum number of new │ │ │ non-zero candidates per step. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setSPAINBSteps(nbsteps) │ Set the maximum number of improvement │ │ │ steps per row. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setSPAISp(sym) │ Set to specify a symmetric sparsity │ │ │ pattern. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setSPAIVerbose(level) │ Set the verbosity level. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setType(pc_type) │ Set the preconditioner type. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setUp() │ Set up the internal data structures │ │ │ for the PC. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setUpOnBlocks() │ Set up the PC for each block. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ setUseAmat(flag) │ Set to indicate to apply PC to A and │ │ │ not P. │ ├─────────────────────────────────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ View the PC object. │ └─────────────────────────────────────────────────┴───────────────────────────────────────┘ Methods Documentation addCompositePCType(pc_type) Add a PC of the given type to the composite PC. Collective. Parameters pc_type (Type | str) -- The type of the preconditioner to add. Return type None SEE ALSO: PCCompositeAddPCType Source code at petsc4py/PETSc/PC.pyx:1665 appendOptionsPrefix(prefix) Append to the prefix used for all the PC options. Logically collective. Parameters prefix (str | None) -- The prefix to append to the current prefix. Return type None SEE ALSO: Working with PETSc options, PCAppendOptionsPrefix Source code at petsc4py/PETSc/PC.pyx:355 apply(x, y) Apply the PC to a vector. Collective. Parameters • x (Vec) -- The input vector. • y (Vec) -- The output vector, cannot be the same as x. Return type None SEE ALSO: PCApply Source code at petsc4py/PETSc/PC.pyx:581 applySymmetricLeft(x, y) Apply the left part of a symmetric PC to a vector. Collective. Parameters • x (Vec) -- The input vector. • y (Vec) -- The output vector, cannot be the same as x. Return type None SEE ALSO: PCApplySymmetricLeft Source code at petsc4py/PETSc/PC.pyx:641 applySymmetricRight(x, y) Apply the right part of a symmetric PC to a vector. Collective. Parameters • x (Vec) -- The input vector. • y (Vec) -- The output vector, cannot be the same as x. Return type None SEE ALSO: PCApplySymmetricRight Source code at petsc4py/PETSc/PC.pyx:660 applyTranspose(x, y) Apply the transpose of the PC to a vector. Collective. For complex numbers this applies the non-Hermitian transpose. Parameters • x (Vec) -- The input vector. • y (Vec) -- The output vector, cannot be the same as x. Return type None SEE ALSO: PCApply Source code at petsc4py/PETSc/PC.pyx:619 create(comm=None) Create an empty PC. Collective. The default preconditioner for sparse matrices is ILU or ICC with 0 fill on one process and block Jacobi (BJACOBI) with ILU or ICC in parallel. For dense matrices it is always None. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: destroy, PCCreate Source code at petsc4py/PETSc/PC.pyx:264 createPython(context=None, comm=None) Create a preconditioner of Python type. Collective. Parameters • context (Any) -- An instance of the Python class implementing the required methods. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: PETSc Python preconditioner type, setType, setPythonContext, PC.Type.PYTHON Source code at petsc4py/PETSc/PC.pyx:742 destroy() Destroy the PC that was created with create. Collective. SEE ALSO: PCDestroy Source code at petsc4py/PETSc/PC.pyx:250 Return type Self getASMSubKSP() Return the local KSP object for all blocks on this process. Not collective. SEE ALSO: PCASMGetSubKSP Source code at petsc4py/PETSc/PC.pyx:946 Return type list[KSP] getCompositePC(n) Return a component of the composite PC. Not collective. Parameters n (int) -- The index of the PC in the composition. Return type None SEE ALSO: PCCompositeGetPC Source code at petsc4py/PETSc/PC.pyx:1644 getDM() Return the DM associated with the PC. Not collective. SEE ALSO: PCGetDM Source code at petsc4py/PETSc/PC.pyx:681 Return type DM getDeflationCoarseKSP() Return the coarse problem KSP. Not collective. SEE ALSO: PCDeflationGetCoarseKSP Source code at petsc4py/PETSc/PC.pyx:2910 Return type KSP getDeflationPC() Return the additional preconditioner. Not collective. SEE ALSO: PCDeflationGetPC Source code at petsc4py/PETSc/PC.pyx:2925 Return type PC getFactorMatrix() Return the factored matrix. Not collective. SEE ALSO: PCFactorGetMatrix Source code at petsc4py/PETSc/PC.pyx:1434 Return type Mat getFactorSolverType() Return the solver package used to perform the factorization. Not collective. SEE ALSO: PCFactorGetMatSolverType Source code at petsc4py/PETSc/PC.pyx:1290 Return type str getFailedReason() Return the reason the PC terminated. Not collective. After a call to KSPCheckDot() or KSPCheckNorm() inside a KSPSolve(), or after a call to PCReduceFailedReason() this is the maximum reason over all ranks in the PC communicator and hence logically collective. Otherwise it is the local value. SEE ALSO: PCGetFailedReason Source code at petsc4py/PETSc/PC.pyx:520 Return type FailedReason getFieldSplitSchurGetSubKSP() Return the KSP for the Schur complement based splits. Not collective. SEE ALSO: PCFieldSplitSchurGetSubKSP, PCFieldSplitGetSubKSP Source code at petsc4py/PETSc/PC.pyx:1545 Return type list[KSP] getFieldSplitSubIS(splitname) Return the IS associated with a given name. Not collective. SEE ALSO: PCFieldSplitGetIS Source code at petsc4py/PETSc/PC.pyx:1565 Parameters splitname (str) Return type IS getFieldSplitSubKSP() Return the KSP for all splits. Not collective. SEE ALSO: PCFieldSplitGetSubKSP Source code at petsc4py/PETSc/PC.pyx:1525 Return type list[KSP] getHPDDMCoarseCorrectionType() Return the coarse correction type. Not collective. SEE ALSO: PCHPDDMGetCoarseCorrectionType Source code at petsc4py/PETSc/PC.pyx:2562 Return type HPDDMCoarseCorrectionType getHPDDMComplexities() Compute the grid and operator complexities. Collective. SEE ALSO: PCHPDDMGetComplexities Source code at petsc4py/PETSc/PC.pyx:2512 Return type tuple[float, float] getHPDDMSTShareSubKSP() Return true if the KSP in SLEPc ST and the subdomain solver is shared. Not collective. SEE ALSO: PCHPDDMGetSTShareSubKSP Source code at petsc4py/PETSc/PC.pyx:2576 Return type bool getHYPREType() Return the Type.HYPRE type. Not collective. SEE ALSO: PCHYPREGetType Source code at petsc4py/PETSc/PC.pyx:1076 Return type str getKSP() Return the KSP if the PC is Type.KSP. Not collective. SEE ALSO: PCKSPGetKSP Source code at petsc4py/PETSc/PC.pyx:1686 Return type KSP getMGCoarseSolve() Return the KSP used on the coarse grid. Not collective. SEE ALSO: PCMGGetCoarseSolve Source code at petsc4py/PETSc/PC.pyx:1762 Return type KSP getMGInterpolation(level) Return the interpolation operator for the given level. Logically collective. Parameters level (int) -- The level where interpolation is defined from level-1 to level. Return type Mat SEE ALSO: PCMGGetInterpolation Source code at petsc4py/PETSc/PC.pyx:1797 getMGLevels() Return the number of MG levels. Not collective. SEE ALSO: PCMGGetLevels Source code at petsc4py/PETSc/PC.pyx:1730 Return type int getMGRScale(level) Return the pointwise scaling for the restriction operator on the given level. Logically collective. Parameters level (int) -- The level where restriction is defined from level to level-1. Return type Vec SEE ALSO: PCMGGetRScale Source code at petsc4py/PETSc/PC.pyx:1879 getMGRestriction(level) Return the restriction operator for the given level. Logically collective. Parameters level (int) -- The level where restriction is defined from level to level-1. Return type Mat SEE ALSO: PCMGGetRestriction Source code at petsc4py/PETSc/PC.pyx:1838 getMGSmoother(level) Return the KSP to be used as a smoother. Not collective. Parameters level (int) -- The level of the smoother. Return type KSP SEE ALSO: getMGSmootherDown, getMGSmootherUp, PCMGGetSmoother Source code at petsc4py/PETSc/PC.pyx:1900 getMGSmootherDown(level) Return the KSP to be used as a smoother before coarse grid correction. Not collective. Parameters level (int) -- The level of the smoother. Return type KSP SEE ALSO: getMGSmoother, getMGSmootherUp, PCMGGetSmootherDown Source code at petsc4py/PETSc/PC.pyx:1921 getMGSmootherUp(level) Return the KSP to be used as a smoother after coarse grid correction. Not collective. Parameters level (int) -- The level of the smoother. Return type KSP SEE ALSO: getMGSmootherDown, getMGSmoother, PCMGGetSmootherUp Source code at petsc4py/PETSc/PC.pyx:1942 getMGType() Return the form of multigrid. Logically collective. SEE ALSO: PCMGGetType Source code at petsc4py/PETSc/PC.pyx:1703 Return type MGType getOperators() Return the matrices associated with a linear system. Not collective. SEE ALSO: setOperators, PCGetOperators Source code at petsc4py/PETSc/PC.pyx:416 Return type tuple[Mat, Mat] getOptionsPrefix() Return the prefix used for all the PC options. Not collective. SEE ALSO: Working with PETSc options, PCGetOptionsPrefix Source code at petsc4py/PETSc/PC.pyx:341 Return type str getPatchSubKSP() Return the local KSP object for all blocks on this process. Not collective. Source code at petsc4py/PETSc/PC.pyx:2372 Return type list[KSP] getPythonContext() Return the instance of the class implementing the required Python methods. Not collective. SEE ALSO: PETSc Python preconditioner type, setPythonContext Source code at petsc4py/PETSc/PC.pyx:779 Return type Any getPythonType() Return the fully qualified Python name of the class used by the preconditioner. Not collective. SEE ALSO: PETSc Python preconditioner type, setPythonContext, setPythonType, PCPythonGetType Source code at petsc4py/PETSc/PC.pyx:808 Return type str getType() Return the preconditioner type. Not collective. SEE ALSO: setType, PCGetType Source code at petsc4py/PETSc/PC.pyx:308 Return type str getUseAmat() Return the flag to indicate if PC is applied to A or P. Logically collective. Returns flag -- True if A is used and False if P. Return type bool SEE ALSO: setUseAmat, PCGetUseAmat Source code at petsc4py/PETSc/PC.pyx:458 matApply(x, y) Apply the PC to many vectors stored as Mat.Type.DENSE. Collective. Parameters • x (Mat) -- The input matrix. • y (Mat) -- The output matrix, cannot be the same as x. Return type None SEE ALSO: PCMatApply, PCApply Source code at petsc4py/PETSc/PC.pyx:600 reset() Reset the PC, removing any allocated vectors and matrices. Collective. SEE ALSO: PCReset Source code at petsc4py/PETSc/PC.pyx:553 Return type None setASMLocalSubdomains(nsd, is_sub=None, is_local=None) Set the local subdomains. Collective. Parameters • nsd (int) -- The number of subdomains for this process. • is_sub (Sequence[IS] | None) -- Defines the subdomains for this process or None to determine internally. • is_local (Sequence[IS] | None) -- Defines the local part of the subdomains for this process, only used for PC.ASMType.RESTRICT. Return type None SEE ALSO: setASMTotalSubdomains, PCASMSetLocalSubdomains Source code at petsc4py/PETSc/PC.pyx:860 setASMOverlap(overlap) Set the overlap between a pair of subdomains. Logically collective. Parameters overlap (int) -- The amount of overlap between subdomains. Return type None SEE ALSO: PCASMSetOverlap Source code at petsc4py/PETSc/PC.pyx:842 setASMSortIndices(dosort) Set to sort subdomain indices. Logically collective. Parameters dosort (bool) -- Set to True to sort indices Return type None SEE ALSO: PCASMSetSortIndices Source code at petsc4py/PETSc/PC.pyx:961 setASMTotalSubdomains(nsd, is_sub=None, is_local=None) Set the subdomains for all processes. Collective. Parameters • nsd (int) -- The number of subdomains for all processes. • is_sub (Sequence[IS] | None) -- Defines the subdomains for all processes or None to determine internally. • is_local (Sequence[IS] | None) -- Defines the local part of the subdomains for this process, only used for PC.ASMType.RESTRICT. Return type None SEE ALSO: setASMLocalSubdomains, PCASMSetTotalSubdomains Source code at petsc4py/PETSc/PC.pyx:903 setASMType(asmtype) Set the type of restriction and interpolation. Logically collective. Parameters asmtype (ASMType) -- The type of ASM you wish to use. Return type None SEE ALSO: PCASMSetType Source code at petsc4py/PETSc/PC.pyx:824 setBDDCChangeOfBasisMat(T, interior=False) Set a user defined change of basis for degrees of freedom. Collective. Parameters • T (Mat) -- The matrix representing the change of basis. • interior (bool) -- Enable to indicate the change of basis affects interior degrees of freedom. Return type None SEE ALSO: PCBDDCSetChangeOfBasisMat Source code at petsc4py/PETSc/PC.pyx:2165 setBDDCCoarseningRatio(cratio) Set the coarsening ratio used in the multilevel version. Logically collective. Parameters cratio (int) -- The coarsening ratio at the coarse level Return type None SEE ALSO: PCBDDCSetCoarseningRatio Source code at petsc4py/PETSc/PC.pyx:2220 setBDDCDirichletBoundaries(bndr) Set the IS defining Dirichlet boundaries for the global problem. Collective. Parameters bndr (IS) -- The parallel IS defining Dirichlet boundaries. Return type None SEE ALSO: PCBDDCSetDirichletBoundaries Source code at petsc4py/PETSc/PC.pyx:2256 setBDDCDirichletBoundariesLocal(bndr) Set the IS defining Dirichlet boundaries in local ordering. Collective. Parameters bndr (IS) -- The parallel IS defining Dirichlet boundaries in local ordering. Return type None SEE ALSO: setBDDCDirichletBoundaries, PCBDDCSetDirichletBoundariesLocal Source code at petsc4py/PETSc/PC.pyx:2273 setBDDCDiscreteGradient(G, order=1, field=1, gord=True, conforming=True) Set the discrete gradient. Collective. Parameters • G (Mat) -- The discrete gradient matrix in Mat.Type.AIJ format. • order (int) -- The order of the Nedelec space. • field (int) -- The field number of the Nedelec degrees of freedom. This is not used if no fields have been specified. • gord (bool) -- Enable to use global ordering in the rows of G. • conforming (bool) -- Enable if the mesh is conforming. Return type None SEE ALSO: PCBDDCSetDiscreteGradient Source code at petsc4py/PETSc/PC.pyx:2129 setBDDCDivergenceMat(div, trans=False, l2l=None) Set the linear operator representing ∫ div(u)•p dx. Collective. Parameters • div (Mat) -- The matrix in Mat.Type.IS format. • trans (bool) -- If True, the pressure/velocity is in the trial/test space respectively. If False the pressure/velocity is in the test/trial space. • l2l (IS | None) -- Optional IS describing the local to local map for velocities. Return type None SEE ALSO: PCBDDCSetDivergenceMat Source code at petsc4py/PETSc/PC.pyx:2103 setBDDCDofsSplitting(isfields) Set the index set(s) defining fields of the global matrix. Collective. Parameters isfields (IS | Sequence[IS]) -- The sequence of IS describing the fields in global ordering. Return type None SEE ALSO: PCBDDCSetDofsSplitting Source code at petsc4py/PETSc/PC.pyx:2324 setBDDCDofsSplittingLocal(isfields) Set the index set(s) defining fields of the local subdomain matrix. Collective. Not all nodes need to be listed. Unlisted nodes will belong to the complement field. Parameters isfields (IS | Sequence[IS]) -- The sequence of IS describing the fields in local ordering. Return type None SEE ALSO: PCBDDCSetDofsSplittingLocal Source code at petsc4py/PETSc/PC.pyx:2346 setBDDCLevels(levels) Set the maximum number of additional levels allowed. Logically collective. Parameters levels (int) -- The maximum number of levels. Return type None SEE ALSO: PCBDDCSetLevels Source code at petsc4py/PETSc/PC.pyx:2238 setBDDCLocalAdjacency(csr) Provide a custom connectivity graph for local dofs. Not collective. Parameters csr (CSRIndicesSpec) -- Compressed sparse row layout information. Return type None SEE ALSO: PCBDDCSetLocalAdjacencyGraph Source code at petsc4py/PETSc/PC.pyx:2073 setBDDCNeumannBoundaries(bndr) Set the IS defining Neumann boundaries for the global problem. Collective. Parameters bndr (IS) -- The parallel IS defining Neumann boundaries. Return type None SEE ALSO: PCBDDCSetNeumannBoundaries Source code at petsc4py/PETSc/PC.pyx:2290 setBDDCNeumannBoundariesLocal(bndr) Set the IS defining Neumann boundaries in local ordering. Collective. Parameters bndr (IS) -- The parallel IS defining Neumann boundaries in local ordering. Return type None SEE ALSO: setBDDCNeumannBoundaries, PCBDDCSetNeumannBoundariesLocal Source code at petsc4py/PETSc/PC.pyx:2307 setBDDCPrimalVerticesIS(primv) Set additional user defined primal vertices. Collective. Parameters primv (IS) -- The IS of primal vertices in global numbering. Return type None SEE ALSO: PCBDDCSetPrimalVerticesIS Source code at petsc4py/PETSc/PC.pyx:2186 setBDDCPrimalVerticesLocalIS(primv) Set additional user defined primal vertices. Collective. Parameters primv (IS) -- The IS of primal vertices in local numbering. Return type None SEE ALSO: PCBDDCSetPrimalVerticesLocalIS Source code at petsc4py/PETSc/PC.pyx:2203 setCompositeType(ctype) Set the type of composite preconditioner. Logically collective. Parameters ctype (CompositeType) -- The type of composition. Return type None SEE ALSO: PCCompositeSetType Source code at petsc4py/PETSc/PC.pyx:1626 setCoordinates(coordinates) Set the coordinates for the nodes on the local process. Collective. Parameters coordinates (Sequence[Sequence[float]]) -- The two dimensional coordinate array. Return type None SEE ALSO: PCSetCoordinates Source code at petsc4py/PETSc/PC.pyx:715 setDM(dm) Set the DM that may be used by some preconditioners. Logically collective. Parameters dm (DM) -- The DM object. Return type None SEE ALSO: PCSetDM Source code at petsc4py/PETSc/PC.pyx:698 setDeflationCoarseMat(mat) Set the coarse problem matrix. Collective. Parameters mat (Mat) -- The coarse problem matrix. Return type None SEE ALSO: PCDeflationSetCoarseMat Source code at petsc4py/PETSc/PC.pyx:2893 setDeflationCorrectionFactor(fact) Set the coarse problem correction factor. Logically collective. Parameters fact (float) -- The correction factor. Return type None SEE ALSO: PCDeflationSetCorrectionFactor Source code at petsc4py/PETSc/PC.pyx:2816 setDeflationInitOnly(flg) Set to only perform the initialization. Logically collective. Sets initial guess to the solution on the deflation space but does not apply the deflation preconditioner. The additional preconditioner is still applied. Parameters flg (bool) -- Enable to only initialize the preconditioner. Return type None SEE ALSO: PCDeflationSetInitOnly Source code at petsc4py/PETSc/PC.pyx:2758 setDeflationLevels(levels) Set the maximum level of deflation nesting. Logically collective. Parameters levels (int) -- The maximum deflation level. Return type None SEE ALSO: PCDeflationSetLevels Source code at petsc4py/PETSc/PC.pyx:2780 setDeflationProjectionNullSpaceMat(mat) Set the projection null space matrix. Collective. Parameters mat (Mat) -- The projection null space matrix. Return type None SEE ALSO: PCDeflationSetProjectionNullSpaceMat Source code at petsc4py/PETSc/PC.pyx:2876 setDeflationReductionFactor(red) Set the reduction factor for the preconditioner. Logically collective. Parameters red (int) -- The reduction factor or DEFAULT. Return type None SEE ALSO: PCDeflationSetReductionFactor Source code at petsc4py/PETSc/PC.pyx:2798 setDeflationSpace(W, transpose) Set the deflation space matrix or its (Hermitian) transpose. Logically collective. Parameters • W (Mat) -- The deflation matrix. • transpose (bool) -- Enable to indicate that W is an explicit transpose of the deflation matrix. Return type None SEE ALSO: PCDeflationSetSpace Source code at petsc4py/PETSc/PC.pyx:2855 setDeflationSpaceToCompute(space_type, size) Set the deflation space type. Logically collective. Parameters • space_type (DeflationSpaceType) -- The deflation space type. • size (int) -- The size of the space to compute Return type None SEE ALSO: PCDeflationSetSpaceToCompute Source code at petsc4py/PETSc/PC.pyx:2834 setFactorLevels(levels) Set the number of levels of fill. Logically collective. Parameters levels (int) -- The number of levels to fill. Return type None SEE ALSO: PCFactorSetLevels Source code at petsc4py/PETSc/PC.pyx:1416 setFactorOrdering(ord_type=None, nzdiag=None, reuse=None) Set options for the matrix factorization reordering. Logically collective. Parameters • ord_type (str | None) -- The name of the matrix ordering or None to leave unchanged. • nzdiag (float | None) -- Threshold to consider diagonal entries in the matrix as zero. • reuse (bool | None) -- Enable to reuse the ordering of a factored matrix. Return type None SEE ALSO: PCFactorSetMatOrderingType, PCFactorReorderForNonzeroDiagonal, PCFactorSetReuseOrdering Source code at petsc4py/PETSc/PC.pyx:1320 setFactorPivot(zeropivot=None, inblocks=None) Set options for matrix factorization pivoting. Logically collective. Parameters • zeropivot (float | None) -- The size at which smaller pivots are treated as zero. • inblocks (bool | None) -- Enable to allow pivoting while factoring in blocks. Return type None SEE ALSO: PCFactorSetZeroPivot, PCFactorSetPivotInBlocks Source code at petsc4py/PETSc/PC.pyx:1357 setFactorSetUpSolverType() Set up the factorization solver. Collective. This can be called after KSP.setOperators or PC.setOperators, causes MatGetFactor to be called so then one may set the options for that particular factorization object. SEE ALSO: Working with PETSc options, PCFactorSetUpMatSolverType Source code at petsc4py/PETSc/PC.pyx:1304 Return type None setFactorShift(shift_type=None, amount=None) Set options for shifting diagonal entries of a matrix. Logically collective. Parameters • shift_type (FactorShiftType | None) -- The type of shift, or None to leave unchanged. • amount (float | None) -- The amount of shift. Specify DEFAULT to determine internally or None to leave unchanged. Return type None SEE ALSO: PCFactorSetShiftType, PCFactorSetShiftAmount Source code at petsc4py/PETSc/PC.pyx:1386 setFactorSolverType(solver) Set the solver package used to perform the factorization. Logically collective. Parameters solver (SolverType | str) -- The solver package used to factorize. Return type None SEE ALSO: PCFactorSetMatSolverType Source code at petsc4py/PETSc/PC.pyx:1271 setFailedReason(reason) Set the reason the PC terminated. Logically collective. Parameters reason (FailedReason | str) -- the reason the PC terminated Return type None SEE ALSO: PCSetFailedReason Source code at petsc4py/PETSc/PC.pyx:502 setFieldSplitFields(bsize, *fields) Sets the elements for the field split. Collective. Parameters • bsize (int) -- The block size • fields (Tuple[str, Sequence[int]]) -- A sequence of tuples containing the split name and a sequence of integers that define the elements in the split. Return type None SEE ALSO: PCFieldSplitSetBlockSize, PCFieldSplitSetFields Source code at petsc4py/PETSc/PC.pyx:1495 setFieldSplitIS(*fields) Set the elements for the field split by IS. Logically collective. Solve options for this split will be available under the prefix -fieldsplit_SPLITNAME_*. Parameters fields (Tuple[str, IS]) -- A sequence of tuples containing the split name and the IS that defines the elements in the split. Return type None SEE ALSO: Working with PETSc options, PCFieldSplitSetIS Source code at petsc4py/PETSc/PC.pyx:1469 setFieldSplitSchurFactType(ctype) Set the type of approximate block factorization. Collective. Parameters ctype (FieldSplitSchurFactType) -- The type indicating which blocks to retain. Return type None SEE ALSO: PCFieldSplitSetSchurFactType Source code at petsc4py/PETSc/PC.pyx:1581 setFieldSplitSchurPreType(ptype, pre=None) Set from what operator the PC is constructed. Collective. Parameters • ptype (FieldSplitSchurPreType) -- The type of matrix to use for preconditioning the Schur complement. • pre (Mat | None) -- The optional matrix to use for preconditioning. Return type None SEE ALSO: PCFieldSplitSetSchurPre Source code at petsc4py/PETSc/PC.pyx:1599 setFieldSplitType(ctype) Set the type of composition of a field split preconditioner. Collective. Parameters ctype (CompositeType) -- The type of composition. Return type None SEE ALSO: PCFieldSplitSetType Source code at petsc4py/PETSc/PC.pyx:1451 setFromOptions() Set various PC parameters from user options. Collective. SEE ALSO: Working with PETSc options, PCSetFromOptions Source code at petsc4py/PETSc/PC.pyx:374 Return type None setGAMGLevels(levels) Set the maximum number of levels. Not collective. Parameters levels (int) -- The maximum number of levels to use. Return type None SEE ALSO: PCGAMGSetNlevels Source code at petsc4py/PETSc/PC.pyx:1038 setGAMGSmooths(smooths) Set the number of smoothing steps used on all levels. Logically collective. Parameters smooths (int) -- The maximum number of smooths. Return type None SEE ALSO: PCGAMGSetNSmooths Source code at petsc4py/PETSc/PC.pyx:1056 setGAMGType(gamgtype) Set the type of algorithm. Collective. Parameters gamgtype (GAMGType | str) -- The type of GAMG Return type None SEE ALSO: PCGAMGSetType Source code at petsc4py/PETSc/PC.pyx:1019 setGASMOverlap(overlap) Set the overlap between a pair of subdomains. Logically collective. Parameters overlap (int) -- The amount of overlap between subdomains. Return type None SEE ALSO: PCGASMSetOverlap Source code at petsc4py/PETSc/PC.pyx:999 setGASMType(gasmtype) Set the type of restriction and interpolation. Logically collective. Parameters gasmtype (GASMType) -- The type of GASM. Return type None SEE ALSO: PCGASMSetType Source code at petsc4py/PETSc/PC.pyx:981 setHPDDMAuxiliaryMat(uis, uaux) Set the auxiliary matrix used by the preconditioner. Logically collective. Parameters • uis (IS) -- The IS of the local auxiliary matrix • uaux (Mat) -- The auxiliary sequential matrix Return type None SEE ALSO: PCHPDDMSetAuxiliaryMat Source code at petsc4py/PETSc/PC.pyx:2476 setHPDDMCoarseCorrectionType(correction_type) Set the coarse correction type. Collective. Parameters correction_type (HPDDMCoarseCorrectionType) -- The type of coarse correction to apply. Return type None SEE ALSO: PCHPDDMSetCoarseCorrectionType Source code at petsc4py/PETSc/PC.pyx:2544 setHPDDMDeflationMat(uis, U) Set the deflation space used to assemble a coarse operator. Logically collective. Parameters • uis (IS) -- The IS of the local deflation matrix. • U (Mat) -- The deflation sequential matrix of type Mat.Type.DENSE. Return type None SEE ALSO: PCHPDDMSetDeflationMat Source code at petsc4py/PETSc/PC.pyx:2590 setHPDDMHasNeumannMat(has) Set to indicate that the Mat passed to the PC is the local Neumann matrix. Logically collective. Parameters has (bool) -- Enable to indicate the matrix is the local Neumann matrix. Return type None SEE ALSO: PCHPDDMHasNeumannMat Source code at petsc4py/PETSc/PC.pyx:2526 setHPDDMRHSMat(B) Set the right-hand side matrix of the preconditioner. Logically collective. Parameters B (Mat) -- The right-hand side sequential matrix. Return type None SEE ALSO: PCHPDDMSetRHSMat Source code at petsc4py/PETSc/PC.pyx:2495 setHYPREAMSSetInteriorNodes(interior) Set the list of interior nodes to a zero conductivity region. Collective. Parameters interior (Vec) -- A vector where a value of 1.0 indicates an interior node. Return type None SEE ALSO: PCHYPREAMSSetInteriorNodes Source code at petsc4py/PETSc/PC.pyx:1252 setHYPREDiscreteCurl(mat) Set the discrete curl matrix. Collective. Parameters mat (Mat) -- The discrete curl. Return type None SEE ALSO: PCHYPRESetDiscreteCurl Source code at petsc4py/PETSc/PC.pyx:1110 setHYPREDiscreteGradient(mat) Set the discrete gradient matrix. Collective. Parameters mat (Mat) -- The discrete gradient. Return type None SEE ALSO: PCHYPRESetDiscreteGradient Source code at petsc4py/PETSc/PC.pyx:1127 setHYPRESetAlphaPoissonMatrix(mat) Set the vector Poisson matrix. Collective. Parameters mat (Mat) -- The vector Poisson matrix. Return type None SEE ALSO: PCHYPRESetAlphaPoissonMatrix Source code at petsc4py/PETSc/PC.pyx:1144 setHYPRESetBetaPoissonMatrix(mat=None) Set the Posson matrix. Collective. Parameters mat (Mat | None) -- The Poisson matrix or None to turn off. Return type None SEE ALSO: PCHYPRESetBetaPoissonMatrix Source code at petsc4py/PETSc/PC.pyx:1161 setHYPRESetEdgeConstantVectors(ozz, zoz, zzo=None) Set the representation of the constant vector fields in the edge element basis. Collective. Parameters • ozz (Vec) -- A vector representing [1, 0, 0] or [1, 0] in 2D. • zoz (Vec) -- A vector representing [0, 1, 0] or [0, 1] in 2D. • zzo (Vec | None) -- A vector representing [0, 0, 1] or None in 2D. Return type None SEE ALSO: PCHYPRESetEdgeConstantVectors Source code at petsc4py/PETSc/PC.pyx:1228 setHYPRESetInterpolations(dim, RT_Pi_Full=None, RT_Pi=None, ND_Pi_Full=None, ND_Pi=None) Set the interpolation matrices. Collective. Parameters • dim (int) -- The dimension of the problem. • RT_Pi_Full (Mat | None) -- The Raviart-Thomas interpolation matrix or None to omit. • RT_Pi -- The xyz components of the Raviart-Thomas interpolation matrix, or None to omit. • ND_Pi_Full (Mat | None) -- The Nedelec interpolation matrix or None to omit. • ND_Pi -- The xyz components of the Nedelec interpolation matrix, or None to omit. Return type None SEE ALSO: PCHYPRESetInterpolations Source code at petsc4py/PETSc/PC.pyx:1180 setHYPREType(hypretype) Set the Type.HYPRE type. Collective. Parameters hypretype (str) -- The name of the type, one of "euclid", "pilut", "parasails", "boomeramg", "ams", "ads" Return type None SEE ALSO: PCHYPRESetType Source code at petsc4py/PETSc/PC.pyx:1090 setMGCycleType(cycle_type) Set the type of cycles. Logically collective. Parameters cycle_type (MGCycleType) -- The type of multigrid cycles to use. Return type None SEE ALSO: setMGCycleTypeOnLevel, PCMGSetCycleType Source code at petsc4py/PETSc/PC.pyx:1963 setMGCycleTypeOnLevel(level, cycle_type) Set the type of cycle on the given level. Logically collective. Parameters • level (int) -- The level on which to set the cycle type. • cycle_type (MGCycleType) -- The type of multigrid cycles to use. Return type None SEE ALSO: setMGCycleType, PCMGSetCycleTypeOnLevel Source code at petsc4py/PETSc/PC.pyx:1981 setMGInterpolation(level, mat) Set the interpolation operator for the given level. Logically collective. Parameters • level -- The level where interpolation is defined from level-1 to level. • mat (Mat) -- The interpolation operator Return type None SEE ALSO: PCMGSetInterpolation Source code at petsc4py/PETSc/PC.pyx:1777 setMGLevels(levels) Set the number of MG levels. Logically collective. Parameters levels (int) -- The number of levels Return type None SEE ALSO: PCMGSetLevels Source code at petsc4py/PETSc/PC.pyx:1744 setMGR(level, r) Set the vector where the residual is stored. Logically collective. If not provided, one will be set internally. Will be cleaned up in destroy. Parameters • level (int) -- The level on which to set the residual. • r (Vec) -- The vector where the residual is stored. Return type None SEE ALSO: PCMGSetR Source code at petsc4py/PETSc/PC.pyx:2048 setMGRScale(level, rscale) Set the pointwise scaling for the restriction operator on the given level. Logically collective. Parameters • level (int) -- The level where restriction is defined from level to level-1. • rscale (Vec) -- The scaling vector. Return type None SEE ALSO: PCMGSetRScale Source code at petsc4py/PETSc/PC.pyx:1859 setMGRestriction(level, mat) Set the restriction operator for the given level. Logically collective. Parameters • level (int) -- The level where restriction is defined from level to level-1. • mat (Mat) -- The restriction operator Return type None SEE ALSO: PCMGSetRestriction Source code at petsc4py/PETSc/PC.pyx:1818 setMGRhs(level, rhs) Set the vector where the right-hand side is stored. Logically collective. If not provided, one will be set internally. Will be cleaned up in destroy. Parameters • level (int) -- The level on which to set the right-hand side. • rhs (Vec) -- The vector where the right-hand side is stored. Return type None SEE ALSO: PCMGSetRhs Source code at petsc4py/PETSc/PC.pyx:2002 setMGType(mgtype) Set the form of multigrid. Logically collective. SEE ALSO: PCMGSetType Source code at petsc4py/PETSc/PC.pyx:1717 Parameters mgtype (MGType) Return type None setMGX(level, x) Set the vector where the solution is stored. Logically collective. If not provided, one will be set internally. Will be cleaned up in destroy. Parameters • level (int) -- The level on which to set the solution. • x (Vec) -- The vector where the solution is stored. Return type None SEE ALSO: PCMGSetX Source code at petsc4py/PETSc/PC.pyx:2025 setOperators(A=None, P=None) Set the matrices associated with the linear system. Logically collective. Passing None for A or P removes the matrix that is currently used. PETSc does not reset the matrix entries of either A or P to zero after a linear solve; the user is completely responsible for matrix assembly. See Mat.zeroEntries to zero all elements of a matrix. Parameters • A (Mat | None) -- the matrix which defines the linear system • P (Mat | None) -- the matrix to be used in constructing the preconditioner, usually the same as A Return type None SEE ALSO: PCSetOperators Source code at petsc4py/PETSc/PC.pyx:386 setOptionsPrefix(prefix) Set the prefix used for all the PC options. Logically collective. Parameters prefix (str | None) -- The prefix to prepend to all option names. Return type None SEE ALSO: Working with PETSc options, PCSetOptionsPrefix Source code at petsc4py/PETSc/PC.pyx:322 setPatchCellNumbering(sec) Set the cell numbering. Source code at petsc4py/PETSc/PC.pyx:2383 Parameters sec (Section) Return type None setPatchComputeFunction(function, args=None, kargs=None) Set compute operator callbacks. Source code at petsc4py/PETSc/PC.pyx:2444 Return type None setPatchComputeFunctionInteriorFacets(function, args=None, kargs=None) Set compute operator callbacks. Source code at petsc4py/PETSc/PC.pyx:2452 Return type None setPatchComputeOperator(operator, args=None, kargs=None) Set compute operator callbacks. Source code at petsc4py/PETSc/PC.pyx:2428 Return type None setPatchComputeOperatorInteriorFacets(operator, args=None, kargs=None) Set compute operator callbacks. Source code at petsc4py/PETSc/PC.pyx:2436 Return type None setPatchConstructType(typ, operator=None, args=None, kargs=None) Set compute operator callbacks. Source code at petsc4py/PETSc/PC.pyx:2460 Return type None setPatchDiscretisationInfo(dms, bs, cellNodeMaps, subspaceOffsets, ghostBcNodes, globalBcNodes) Set discretisation info. Source code at petsc4py/PETSc/PC.pyx:2387 Return type None setPythonContext(context) Set the instance of the class implementing the required Python methods. Not collective. SEE ALSO: PETSc Python preconditioner type, getPythonContext Source code at petsc4py/PETSc/PC.pyx:767 Parameters context (Any) Return type None setPythonType(py_type) Set the fully qualified Python name of the class to be used. Collective. SEE ALSO: PETSc Python preconditioner type, setPythonContext, getPythonType, PCPythonSetType Source code at petsc4py/PETSc/PC.pyx:794 Parameters py_type (str) Return type None setReusePreconditioner(flag) Set to indicate the preconditioner is to be reused. Logically collective. Normally if the A matrix inside a PC changes, the PC automatically updates itself using information from the changed matrix. Enable this option prevents this. Parameters flag (bool) -- Set to True to use the reuse the current preconditioner and False to recompute on changes to the matrix. Return type None SEE ALSO: setOperators, PCSetReusePreconditioner Source code at petsc4py/PETSc/PC.pyx:477 setSPAIBlockSize(n) Set the block size of the preconditioner. Logically collective. Parameters n (int) -- The block size, defaults to 1. Return type None SEE ALSO: PCSPAISetBlockSize Source code at petsc4py/PETSc/PC.pyx:2684 setSPAICacheSize(size) Set the cache size. Logically collective. Parameters size (int) -- The size of the cache, defaults to 5. Return type None SEE ALSO: PCSPAISetCacheSize Source code at petsc4py/PETSc/PC.pyx:2702 setSPAIEpsilon(val) Set the tolerance for the preconditioner. Logically collective. Parameters val (float) -- The tolerance, defaults to 0.4. Return type None SEE ALSO: PCSPAISetEpsilon Source code at petsc4py/PETSc/PC.pyx:2611 setSPAIMax(maxval) Set the size of working buffers in the preconditioner. Logically collective. Parameters maxval (int) -- Number of entries in the work arrays to be allocated, defaults to 5000. Return type None SEE ALSO: PCSPAISetMax Source code at petsc4py/PETSc/PC.pyx:2647 setSPAIMaxNew(maxval) Set the maximum number of new non-zero candidates per step. Logically collective. Parameters maxval (int) -- Number of entries allowed, defaults to 5. Return type None SEE ALSO: PCSPAISetMaxNew Source code at petsc4py/PETSc/PC.pyx:2666 setSPAINBSteps(nbsteps) Set the maximum number of improvement steps per row. Logically collective. Parameters nbsteps (int) -- The number of steps, defaults to 5. Return type None SEE ALSO: PCSPAISetNBSteps Source code at petsc4py/PETSc/PC.pyx:2629 setSPAISp(sym) Set to specify a symmetric sparsity pattern. Logically collective. Parameters sym (int) -- Enable to indicate the matrix is symmetric. Return type None SEE ALSO: PCSPAISetSp Source code at petsc4py/PETSc/PC.pyx:2738 setSPAIVerbose(level) Set the verbosity level. Logically collective. Parameters level (int) -- The level of verbosity, defaults to 1. Return type None SEE ALSO: PCSPAISetVerbose Source code at petsc4py/PETSc/PC.pyx:2720 setType(pc_type) Set the preconditioner type. Collective. Parameters pc_type (Type | str) -- The preconditioner type. Return type None SEE ALSO: Working with PETSc options, getType, TSSetType Source code at petsc4py/PETSc/PC.pyx:289 setUp() Set up the internal data structures for the PC. Collective. SEE ALSO: PCSetUp Source code at petsc4py/PETSc/PC.pyx:541 Return type None setUpOnBlocks() Set up the PC for each block. Collective. For nested preconditioners such as BJACOBI, setUp is not called on each sub-KSP when setUp is called on the outer PC. This routine ensures it is called. SEE ALSO: setUp, PCSetUpOnBlocks Source code at petsc4py/PETSc/PC.pyx:565 Return type None setUseAmat(flag) Set to indicate to apply PC to A and not P. Logically collective. Sets a flag to indicate that when the preconditioner needs to apply (part of) the operator during the preconditioning process, it applies to A provided to TS.setRHSJacobian, TS.setIJacobian, SNES.setJacobian, KSP.setOperators or PC.setOperators not the P. Parameters flag (bool) -- Set True to use A and False to use P. Return type None SEE ALSO: setOperators, PCSetUseAmat Source code at petsc4py/PETSc/PC.pyx:432 view(viewer=None) View the PC object. Collective. Parameters viewer (Viewer | None) -- The visualization context. Return type None SEE ALSO: PCView Source code at petsc4py/PETSc/PC.pyx:231 petsc4py.PETSc.Partitioner class petsc4py.PETSc.Partitioner Bases: Object A graph partitioner. Enumerations ┌──────┬────────────────────────┐ │ Type │ The partitioner types. │ └──────┴────────────────────────┘ petsc4py.PETSc.Partitioner.Type class petsc4py.PETSc.Partitioner.Type Bases: object The partitioner types. Attributes Summary ┌─────────────────┬────────────────────────────────────┐ │ CHACO │ Object CHACO of type str │ ├─────────────────┼────────────────────────────────────┤ │ GATHER │ Object GATHER of type str │ ├─────────────────┼────────────────────────────────────┤ │ MATPARTITIONING │ Object MATPARTITIONING of type str │ ├─────────────────┼────────────────────────────────────┤ │ PARMETIS │ Object PARMETIS of type str │ ├─────────────────┼────────────────────────────────────┤ │ PTSCOTCH │ Object PTSCOTCH of type str │ ├─────────────────┼────────────────────────────────────┤ │ SHELL │ Object SHELL of type str │ ├─────────────────┼────────────────────────────────────┤ │ SIMPLE │ Object SIMPLE of type str │ └─────────────────┴────────────────────────────────────┘ Attributes Documentation CHACO: str = CHACO Object CHACO of type str GATHER: str = GATHER Object GATHER of type str MATPARTITIONING: str = MATPARTITIONING Object MATPARTITIONING of type str PARMETIS: str = PARMETIS Object PARMETIS of type str PTSCOTCH: str = PTSCOTCH Object PTSCOTCH of type str SHELL: str = SHELL Object SHELL of type str SIMPLE: str = SIMPLE Object SIMPLE of type str Methods Summary ┌───────────────────────────────────────┬───────────────────────────────────────┐ │ create([comm]) │ Create an empty partitioner object. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy the partitioner object. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getType() │ Return the partitioner type. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ reset() │ Reset data structures of the │ │ │ partitioner. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFromOptions() │ Set parameters in the partitioner │ │ │ from the options database. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setShellPartition(numProcs[, sizes, │ Set a custom partition for a mesh. │ │ points]) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setType(part_type) │ Build a particular type of the │ │ │ partitioner. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setUp() │ Construct data structures for the │ │ │ partitioner. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ View the partitioner. │ └───────────────────────────────────────┴───────────────────────────────────────┘ Methods Documentation create(comm=None) Create an empty partitioner object. Collective. The type can be set with setType. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: setType, PetscPartitionerCreate Source code at petsc4py/PETSc/Partitioner.pyx:57 destroy() Destroy the partitioner object. Collective. SEE ALSO: PetscPartitionerDestroy Source code at petsc4py/PETSc/Partitioner.pyx:44 Return type Self getType() Return the partitioner type. Not collective. SEE ALSO: setType, PetscPartitionerGetType Source code at petsc4py/PETSc/Partitioner.pyx:99 Return type Type reset() Reset data structures of the partitioner. Collective. SEE ALSO: PetscPartitionerReset Source code at petsc4py/PETSc/Partitioner.pyx:137 Return type None setFromOptions() Set parameters in the partitioner from the options database. Collective. SEE ALSO: Working with PETSc options, PetscPartitionerSetFromOptions Source code at petsc4py/PETSc/Partitioner.pyx:113 Return type None setShellPartition(numProcs, sizes=None, points=None) Set a custom partition for a mesh. Collective. Parameters • sizes (Sequence[int] | None) -- The number of points in each partition. • points (Sequence[int] | None) -- A permutation of the points that groups those assigned to each partition in order (i.e., partition 0 first, partition 1 next, etc.). • numProcs (int) Return type None SEE ALSO: PetscPartitionerShellSetPartition Source code at petsc4py/PETSc/Partitioner.pyx:149 setType(part_type) Build a particular type of the partitioner. Collective. Parameters part_type (Type | str) -- The kind of partitioner. Return type None SEE ALSO: getType, PetscPartitionerSetType Source code at petsc4py/PETSc/Partitioner.pyx:80 setUp() Construct data structures for the partitioner. Collective. SEE ALSO: PetscPartitionerSetUp Source code at petsc4py/PETSc/Partitioner.pyx:125 Return type None view(viewer=None) View the partitioner. Collective. Parameters viewer (Viewer | None) -- A Viewer to display the graph. Return type None SEE ALSO: PetscPartitionerView Source code at petsc4py/PETSc/Partitioner.pyx:25 petsc4py.PETSc.Quad class petsc4py.PETSc.Quad Bases: Object Quadrature rule for integration. Methods Summary ┌──────────────────────┬───────────────────────────────────────┐ │ create([comm]) │ Create a Quad object. │ ├──────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy the Quad object. │ ├──────────────────────┼───────────────────────────────────────┤ │ duplicate() │ Create a deep copy of the Quad │ │ │ object. │ ├──────────────────────┼───────────────────────────────────────┤ │ getData() │ Return the data defining the Quad. │ ├──────────────────────┼───────────────────────────────────────┤ │ getNumComponents() │ Return the number of components for │ │ │ functions to be integrated. │ ├──────────────────────┼───────────────────────────────────────┤ │ getOrder() │ Return the order of the method in the │ │ │ Quad. │ ├──────────────────────┼───────────────────────────────────────┤ │ setNumComponents(nc) │ Return the number of components for │ │ │ functions to be integrated. │ ├──────────────────────┼───────────────────────────────────────┤ │ setOrder(order) │ Set the order of the method in the │ │ │ Quad. │ ├──────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ View a Quad object. │ └──────────────────────┴───────────────────────────────────────┘ Methods Documentation create(comm=None) Create a Quad object. Collective. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: PetscQuadratureCreate Source code at petsc4py/PETSc/DT.pyx:28 destroy() Destroy the Quad object. Collective. SEE ALSO: PetscQuadratureDestroy Source code at petsc4py/PETSc/DT.pyx:63 Return type Self duplicate() Create a deep copy of the Quad object. Collective. SEE ALSO: PetscQuadratureDuplicate Source code at petsc4py/PETSc/DT.pyx:49 Return type Quad getData() Return the data defining the Quad. Not collective. Returns • points (ArrayReal) -- The coordinates of the quadrature points. • weights (ArrayReal) -- The quadrature weights. Return type tuple(ArrayReal, ArrayReal) SEE ALSO: PetscQuadratureGetData Source code at petsc4py/PETSc/DT.pyx:76 getNumComponents() Return the number of components for functions to be integrated. Not collective. SEE ALSO: setNumComponents, PetscQuadratureGetNumComponents Source code at petsc4py/PETSc/DT.pyx:104 Return type int getOrder() Return the order of the method in the Quad. Not collective. SEE ALSO: setOrder, PetscQuadratureGetOrder Source code at petsc4py/PETSc/DT.pyx:136 Return type int setNumComponents(nc) Return the number of components for functions to be integrated. Not collective. Parameters nc (int) -- The number of components. Return type None SEE ALSO: getNumComponents, PetscQuadratureSetNumComponents Source code at petsc4py/PETSc/DT.pyx:118 setOrder(order) Set the order of the method in the Quad. Not collective. Parameters order (int) -- The order of the quadrature, i.e. the highest degree polynomial that is exactly integrated. Return type None SEE ALSO: getOrder, PetscQuadratureSetOrder Source code at petsc4py/PETSc/DT.pyx:150 view(viewer=None) View a Quad object. Collective. Parameters viewer (Viewer | None) -- A Viewer to display the graph. Return type None SEE ALSO: PetscQuadratureView Source code at petsc4py/PETSc/DT.pyx:9 petsc4py.PETSc.Random class petsc4py.PETSc.Random Bases: Object The random number generator object. SEE ALSO: PetscRandom Enumerations ┌──────┬───────────────────────────────────┐ │ Type │ The random number generator type. │ └──────┴───────────────────────────────────┘ petsc4py.PETSc.Random.Type class petsc4py.PETSc.Random.Type Bases: object The random number generator type. Attributes Summary ┌───────────┬──────────────────────────────┐ │ RAND │ Object RAND of type str │ ├───────────┼──────────────────────────────┤ │ RAND48 │ Object RAND48 of type str │ ├───────────┼──────────────────────────────┤ │ RANDER48 │ Object RANDER48 of type str │ ├───────────┼──────────────────────────────┤ │ RANDOM123 │ Object RANDOM123 of type str │ ├───────────┼──────────────────────────────┤ │ SPRNG │ Object SPRNG of type str │ └───────────┴──────────────────────────────┘ Attributes Documentation RAND: str = RAND Object RAND of type str RAND48: str = RAND48 Object RAND48 of type str RANDER48: str = RANDER48 Object RANDER48 of type str RANDOM123: str = RANDOM123 Object RANDOM123 of type str SPRNG: str = SPRNG Object SPRNG of type str Methods Summary ┌───────────────────────┬───────────────────────────────────────┐ │ create([comm]) │ Create a random number generator │ │ │ object. │ ├───────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy the random number generator │ │ │ object. │ ├───────────────────────┼───────────────────────────────────────┤ │ getInterval() │ Return the interval containing the │ │ │ random numbers generated. │ ├───────────────────────┼───────────────────────────────────────┤ │ getSeed() │ Return the random number generator │ │ │ seed. │ ├───────────────────────┼───────────────────────────────────────┤ │ getType() │ Return the type of the random number │ │ │ generator object. │ ├───────────────────────┼───────────────────────────────────────┤ │ getValue() │ Generate a scalar random number. │ ├───────────────────────┼───────────────────────────────────────┤ │ getValueReal() │ Generate a real random number. │ ├───────────────────────┼───────────────────────────────────────┤ │ setFromOptions() │ Configure the random number generator │ │ │ from the options database. │ ├───────────────────────┼───────────────────────────────────────┤ │ setInterval(interval) │ Set the interval of the random number │ │ │ generator. │ ├───────────────────────┼───────────────────────────────────────┤ │ setSeed([seed]) │ Set the seed of random number │ │ │ generator. │ ├───────────────────────┼───────────────────────────────────────┤ │ setType(rnd_type) │ Set the type of the random number │ │ │ generator object. │ ├───────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ View a random number generator │ │ │ object. │ └───────────────────────┴───────────────────────────────────────┘ Attributes Summary ┌──────────┬───────────────────────────────────────┐ │ interval │ The interval of the generated random │ │ │ numbers. │ ├──────────┼───────────────────────────────────────┤ │ seed │ The seed of the random number │ │ │ generator. │ └──────────┴───────────────────────────────────────┘ Methods Documentation create(comm=None) Create a random number generator object. Collective. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: Sys.getDefaultComm, PetscRandomCreate Source code at petsc4py/PETSc/Random.pyx:74 destroy() Destroy the random number generator object. Collective. SEE ALSO: PetscRandomDestroy Source code at petsc4py/PETSc/Random.pyx:61 Return type Self getInterval() Return the interval containing the random numbers generated. Not collective. SEE ALSO: setInterval, PetscRandomGetInterval Source code at petsc4py/PETSc/Random.pyx:199 Return type tuple[Scalar, Scalar] getSeed() Return the random number generator seed. Not collective. SEE ALSO: setSeed, PetscRandomGetSeed Source code at petsc4py/PETSc/Random.pyx:166 Return type int getType() Return the type of the random number generator object. Not collective. SEE ALSO: setType, PetscRandomGetType Source code at petsc4py/PETSc/Random.pyx:112 Return type str getValue() Generate a scalar random number. Not collective. SEE ALSO: PetscRandomGetValue Source code at petsc4py/PETSc/Random.pyx:138 Return type Scalar getValueReal() Generate a real random number. Not collective. SEE ALSO: PetscRandomGetValueReal Source code at petsc4py/PETSc/Random.pyx:152 Return type float setFromOptions() Configure the random number generator from the options database. Collective. SEE ALSO: Working with PETSc options, PetscRandomSetFromOptions Source code at petsc4py/PETSc/Random.pyx:126 Return type None setInterval(interval) Set the interval of the random number generator. Not collective. SEE ALSO: getInterval, PetscRandomSetInterval Source code at petsc4py/PETSc/Random.pyx:214 Parameters interval (tuple[Scalar, Scalar]) Return type None setSeed(seed=None) Set the seed of random number generator. Not collective. Parameters seed (int | None) -- The value for the seed. If None, it only seeds the generator. Return type None SEE ALSO: getSeed, PetscRandomSetSeed, PetscRandomSeed Source code at petsc4py/PETSc/Random.pyx:180 setType(rnd_type) Set the type of the random number generator object. Collective. Parameters rnd_type (Type | str) -- The type of the generator. Return type None SEE ALSO: getType, PetscRandomSetType Source code at petsc4py/PETSc/Random.pyx:93 view(viewer=None) View a random number generator object. Collective. Parameters viewer (Viewer | None) -- A Viewer instance or None for the default viewer. Return type None SEE ALSO: PetscRandomView Source code at petsc4py/PETSc/Random.pyx:41 Attributes Documentation interval The interval of the generated random numbers. Source code at petsc4py/PETSc/Random.pyx:241 seed The seed of the random number generator. Source code at petsc4py/PETSc/Random.pyx:233 petsc4py.PETSc.SF class petsc4py.PETSc.SF Bases: Object Star Forest object for communication. SF is used for setting up and managing the communication of certain entries of arrays and Vec between MPI processes. Enumerations ┌──────┬────────────────────────┐ │ Type │ The star forest types. │ └──────┴────────────────────────┘ petsc4py.PETSc.SF.Type class petsc4py.PETSc.SF.Type Bases: object The star forest types. Attributes Summary ┌────────────┬───────────────────────────────┐ │ ALLGATHER │ Object ALLGATHER of type str │ ├────────────┼───────────────────────────────┤ │ ALLGATHERV │ Object ALLGATHERV of type str │ ├────────────┼───────────────────────────────┤ │ ALLTOALL │ Object ALLTOALL of type str │ ├────────────┼───────────────────────────────┤ │ BASIC │ Object BASIC of type str │ ├────────────┼───────────────────────────────┤ │ GATHER │ Object GATHER of type str │ ├────────────┼───────────────────────────────┤ │ GATHERV │ Object GATHERV of type str │ ├────────────┼───────────────────────────────┤ │ NEIGHBOR │ Object NEIGHBOR of type str │ ├────────────┼───────────────────────────────┤ │ WINDOW │ Object WINDOW of type str │ └────────────┴───────────────────────────────┘ Attributes Documentation ALLGATHER: str = ALLGATHER Object ALLGATHER of type str ALLGATHERV: str = ALLGATHERV Object ALLGATHERV of type str ALLTOALL: str = ALLTOALL Object ALLTOALL of type str BASIC: str = BASIC Object BASIC of type str GATHER: str = GATHER Object GATHER of type str GATHERV: str = GATHERV Object GATHERV of type str NEIGHBOR: str = NEIGHBOR Object NEIGHBOR of type str WINDOW: str = WINDOW Object WINDOW of type str Methods Summary ┌───────────────────────────────────────┬───────────────────────────────────────┐ │ bcastBegin(unit, rootdata, leafdata, │ Begin pointwise broadcast. │ │ op) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ bcastEnd(unit, rootdata, leafdata, │ End a broadcast & reduce operation │ │ op) │ started with bcastBegin. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ compose(sf) │ Compose a new SF. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ computeDegree() │ Compute and return the degree of each │ │ │ root vertex. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ create([comm]) │ Create a star forest communication │ │ │ context. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createEmbeddedLeafSF(selected) │ Remove edges from all but the │ │ │ selected leaves. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createEmbeddedRootSF(selected) │ Remove edges from all but the │ │ │ selected roots. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createInverse() │ Create the inverse map. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createSectionSF(rootSection, │ Create an expanded SF of DOFs. │ │ remoteOffsets, ...) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy the star forest. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ distributeSection(rootSection[, │ Create a new, reorganized Section. │ │ leafSection]) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ fetchAndOpBegin(unit, rootdata, │ Begin fetch and update operation. │ │ leafdata, ...) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ fetchAndOpEnd(unit, rootdata, │ End operation started in a matching │ │ leafdata, ...) │ call to fetchAndOpBegin. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ gatherBegin(unit, leafdata, │ Begin pointwise gather of all leaves │ │ multirootdata) │ into multi-roots. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ gatherEnd(unit, leafdata, │ End gather operation that was started │ │ multirootdata) │ with gatherBegin. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getGraph() │ Return star forest graph. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getMulti() │ Return the inner SF implementing │ │ │ gathers and scatters. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getType() │ Return the type name of the star │ │ │ forest. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ reduceBegin(unit, leafdata, rootdata, │ Begin reduction of leafdata into │ │ op) │ rootdata. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ reduceEnd(unit, leafdata, rootdata, │ End a reduction operation started │ │ op) │ with reduceBegin. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ reset() │ Reset a star forest so that different │ │ │ sizes or neighbors can be used. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ scatterBegin(unit, multirootdata, │ Begin pointwise scatter operation. │ │ leafdata) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ scatterEnd(unit, multirootdata, │ End scatter operation that was │ │ leafdata) │ started with scatterBegin. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFromOptions() │ Set options using the options │ │ │ database. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setGraph(nroots, local, remote) │ Set star forest graph. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setRankOrder(flag) │ Sort multi-points for gathers and │ │ │ scatters by rank order. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setType(sf_type) │ Set the type of the star forest. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setUp() │ Set up communication structures. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ View a star forest. │ └───────────────────────────────────────┴───────────────────────────────────────┘ Methods Documentation bcastBegin(unit, rootdata, leafdata, op) Begin pointwise broadcast. Collective. Root values are reduced to leaf values. This call has to be concluded with a call to bcastEnd. Parameters • unit (Datatype) -- MPI datatype. • rootdata (ndarray) -- Buffer to broadcast. • leafdata (ndarray) -- Buffer to be reduced with values from each leaf's respective root. • op (Op) -- MPI reduction operation. Return type None SEE ALSO: bcastEnd, PetscSFBcastBegin Source code at petsc4py/PETSc/SF.pyx:434 bcastEnd(unit, rootdata, leafdata, op) End a broadcast & reduce operation started with bcastBegin. Collective. Parameters • unit (Datatype) -- MPI datatype. • rootdata (ndarray) -- Buffer to broadcast. • leafdata (ndarray) -- Buffer to be reduced with values from each leaf's respective root. • op (Op) -- MPI reduction operation. Return type None SEE ALSO: bcastBegin, PetscSFBcastEnd Source code at petsc4py/PETSc/SF.pyx:463 compose(sf) Compose a new SF. Collective. Puts the sf under this object in a top (roots) down (leaves) view. Parameters sf (SF) -- SF to put under this object. Return type SF SEE ALSO: PetscSFCompose Source code at petsc4py/PETSc/SF.pyx:413 computeDegree() Compute and return the degree of each root vertex. Collective. SEE ALSO: PetscSFComputeDegreeBegin, PetscSFComputeDegreeEnd Source code at petsc4py/PETSc/SF.pyx:279 Return type ArrayInt create(comm=None) Create a star forest communication context. Collective. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: PetscSFCreate Source code at petsc4py/PETSc/SF.pyx:63 createEmbeddedLeafSF(selected) Remove edges from all but the selected leaves. Collective. Does not remap indices. Parameters selected (Sequence[int]) -- Indices of the selected roots on this process. Return type SF SEE ALSO: PetscSFCreateEmbeddedLeafSF Source code at petsc4py/PETSc/SF.pyx:321 createEmbeddedRootSF(selected) Remove edges from all but the selected roots. Collective. Does not remap indices. Parameters selected (Sequence[int]) -- Indices of the selected roots on this process. Return type SF SEE ALSO: PetscSFCreateEmbeddedRootSF Source code at petsc4py/PETSc/SF.pyx:297 createInverse() Create the inverse map. Collective. Create the inverse map given a PetscSF in which all vertices have degree 1. SEE ALSO: PetscSFCreateInverseSF Source code at petsc4py/PETSc/SF.pyx:262 Return type SF createSectionSF(rootSection, remoteOffsets, leafSection) Create an expanded SF of DOFs. Collective. Assumes the input SF relates points. Parameters • rootSection (Section) -- Data layout of remote points for outgoing data (this is usually the serial section). • remoteOffsets (Sequence[int] | None) -- Offsets for point data on remote processes (these are offsets from the root section), or None. • leafSection (Section) -- Data layout of local points for incoming data (this is the distributed section). Return type SF SEE ALSO: PetscSFCreateSectionSF Source code at petsc4py/PETSc/SF.pyx:345 destroy() Destroy the star forest. Collective. SEE ALSO: PetscSFDestroy Source code at petsc4py/PETSc/SF.pyx:50 Return type Self distributeSection(rootSection, leafSection=None) Create a new, reorganized Section. Collective. Moves from the root to the leaves of the SF. Parameters • rootSection (Section) -- Section defined on root space. • leafSection (Section | None) -- Section defined on the leaf space. Return type tuple[ArrayInt, Section] SEE ALSO: PetscSFDistributeSection Source code at petsc4py/PETSc/SF.pyx:378 fetchAndOpBegin(unit, rootdata, leafdata, leafupdate, op) Begin fetch and update operation. Collective. This operation fetches values from root and updates atomically by applying an operation using the leaf value. This call has to be completed with fetchAndOpEnd. Parameters • unit (Datatype) -- MPI datatype. • rootdata (ndarray) -- Root values to be updated, input state is seen by first process to perform an update. • leafdata (ndarray) -- Leaf values to use in reduction. • leafupdate (ndarray) -- State at each leaf's respective root immediately prior to my atomic update. • op (Op) -- MPI reduction operation. Return type None SEE ALSO: fetchAndOpEnd, PetscSFFetchAndOpBegin Source code at petsc4py/PETSc/SF.pyx:642 fetchAndOpEnd(unit, rootdata, leafdata, leafupdate, op) End operation started in a matching call to fetchAndOpBegin. Collective. Parameters • unit (Datatype) -- MPI datatype. • rootdata (ndarray) -- Root values to be updated, input state is seen by first process to perform an update. • leafdata (ndarray) -- Leaf values to use in reduction. • leafupdate (ndarray) -- State at each leaf's respective root immediately prior to my atomic update. • op (Op) -- MPI reduction operation. Return type None SEE ALSO: fetchAndOpBegin, PetscSFFetchAndOpEnd Source code at petsc4py/PETSc/SF.pyx:678 gatherBegin(unit, leafdata, multirootdata) Begin pointwise gather of all leaves into multi-roots. Collective. This call has to be completed with gatherEnd. Parameters • unit (Datatype) -- MPI datatype. • leafdata (ndarray) -- Leaf data to gather to roots. • multirootdata (ndarray) -- Root buffer to gather into, amount of space per root is equal to its degree. Return type None SEE ALSO: gatherEnd, PetscSFGatherBegin Source code at petsc4py/PETSc/SF.pyx:592 gatherEnd(unit, leafdata, multirootdata) End gather operation that was started with gatherBegin. Collective. Parameters • unit (Datatype) -- MPI datatype. • leafdata (ndarray) -- Leaf data to gather to roots. • multirootdata (ndarray) -- Root buffer to gather into, amount of space per root is equal to its degree. Return type None SEE ALSO: gatherBegin, PetscSFGatherEnd Source code at petsc4py/PETSc/SF.pyx:618 getGraph() Return star forest graph. Not collective. The number of leaves can be determined from the size of ilocal. Returns • nroots (int) -- Number of root vertices on the current process (these are possible targets for other process to attach leaves). • ilocal (ArrayInt) -- Locations of leaves in leafdata buffers. • iremote (ArrayInt) -- Remote locations of root vertices for each leaf on the current process. Return type tuple[int, ArrayInt, ArrayInt] SEE ALSO: PetscSFGetGraph Source code at petsc4py/PETSc/SF.pyx:155 getMulti() Return the inner SF implementing gathers and scatters. Collective. SEE ALSO: PetscSFGetMultiSF Source code at petsc4py/PETSc/SF.pyx:247 Return type SF getType() Return the type name of the star forest. Collective. SEE ALSO: PetscSFGetType Source code at petsc4py/PETSc/SF.pyx:103 Return type str reduceBegin(unit, leafdata, rootdata, op) Begin reduction of leafdata into rootdata. Collective. This call has to be completed with call to reduceEnd. Parameters • unit (Datatype) -- MPI datatype. • leafdata (ndarray) -- Values to reduce. • rootdata (ndarray) -- Result of reduction of values from all leaves of each root. • op (Op) -- MPI reduction operation. Return type None SEE ALSO: reduceEnd, PetscSFReduceBegin Source code at petsc4py/PETSc/SF.pyx:489 reduceEnd(unit, leafdata, rootdata, op) End a reduction operation started with reduceBegin. Collective. Parameters • unit (Datatype) -- MPI datatype. • leafdata (ndarray) -- Values to reduce. • rootdata (ndarray) -- Result of reduction of values from all leaves of each root. • op (Op) -- MPI reduction operation. Return type None SEE ALSO: reduceBegin, PetscSFReduceEnd Source code at petsc4py/PETSc/SF.pyx:517 reset() Reset a star forest so that different sizes or neighbors can be used. Collective. SEE ALSO: PetscSFReset Source code at petsc4py/PETSc/SF.pyx:141 Return type None scatterBegin(unit, multirootdata, leafdata) Begin pointwise scatter operation. Collective. Operation is from multi-roots to leaves. This call has to be completed with scatterEnd. Parameters • unit (Datatype) -- MPI datatype. • multirootdata (ndarray) -- Root buffer to send to each leaf, one unit of data per leaf. • leafdata (ndarray) -- Leaf data to be updated with personal data from each respective root. Return type None SEE ALSO: scatterEnd, PetscSFScatterBegin Source code at petsc4py/PETSc/SF.pyx:543 scatterEnd(unit, multirootdata, leafdata) End scatter operation that was started with scatterBegin. Collective. Parameters • unit (Datatype) -- MPI datatype. • multirootdata (ndarray) -- Root buffer to send to each leaf, one unit of data per leaf. • leafdata (ndarray) -- Leaf data to be updated with personal data from each respective root. Return type None SEE ALSO: scatterBegin, PetscSFScatterEnd Source code at petsc4py/PETSc/SF.pyx:569 setFromOptions() Set options using the options database. Logically collective. SEE ALSO: Working with PETSc options, PetscSFSetFromOptions Source code at petsc4py/PETSc/SF.pyx:117 Return type None setGraph(nroots, local, remote) Set star forest graph. Collective. The number of leaves argument can be determined from the size of local and/or remote. Parameters • nroots (int) -- Number of root vertices on the current process (these are possible targets for other process to attach leaves). • local (Sequence[int]) -- Locations of leaves in leafdata buffers, pass None for contiguous storage. • remote (Sequence[int]) -- Remote locations of root vertices for each leaf on the current process. Should be 2*nleaves long as (rank, index) pairs. Return type None SEE ALSO: PetscSFSetGraph Source code at petsc4py/PETSc/SF.pyx:190 setRankOrder(flag) Sort multi-points for gathers and scatters by rank order. Logically collective. Parameters flag (bool) -- True to sort, False to skip sorting. Return type None SEE ALSO: PetscSFSetRankOrder Source code at petsc4py/PETSc/SF.pyx:229 setType(sf_type) Set the type of the star forest. Collective. Parameters sf_type (Type | str) -- The star forest type. Return type None SEE ALSO: PetscSFSetType Source code at petsc4py/PETSc/SF.pyx:84 setUp() Set up communication structures. Collective. SEE ALSO: PetscSFSetUp Source code at petsc4py/PETSc/SF.pyx:129 Return type None view(viewer=None) View a star forest. Collective. Parameters viewer (Viewer | None) -- A Viewer to display the graph. Return type None SEE ALSO: PetscSFView Source code at petsc4py/PETSc/SF.pyx:31 petsc4py.PETSc.SNES class petsc4py.PETSc.SNES Bases: Object Nonlinear equations solver. SNES is described in the PETSc manual. SEE ALSO: SNES Enumerations ┌─────────────────┬─────────────────────────────────┐ │ ConvergedReason │ SNES solver termination reason. │ ├─────────────────┼─────────────────────────────────┤ │ NormSchedule │ SNES norm schedule. │ ├─────────────────┼─────────────────────────────────┤ │ Type │ SNES solver type. │ └─────────────────┴─────────────────────────────────┘ petsc4py.PETSc.SNES.ConvergedReason class petsc4py.PETSc.SNES.ConvergedReason Bases: object SNES solver termination reason. SEE ALSO: SNESGetConvergedReason Attributes Summary ┌──────────────────────────┬───────────────────────────────────────┐ │ CONVERGED_FNORM_ABS │ Constant CONVERGED_FNORM_ABS of type │ │ │ int │ ├──────────────────────────┼───────────────────────────────────────┤ │ CONVERGED_FNORM_RELATIVE │ Constant CONVERGED_FNORM_RELATIVE of │ │ │ type int │ ├──────────────────────────┼───────────────────────────────────────┤ │ CONVERGED_ITERATING │ Constant CONVERGED_ITERATING of type │ │ │ int │ ├──────────────────────────┼───────────────────────────────────────┤ │ CONVERGED_ITS │ Constant CONVERGED_ITS of type int │ ├──────────────────────────┼───────────────────────────────────────┤ │ CONVERGED_SNORM_RELATIVE │ Constant CONVERGED_SNORM_RELATIVE of │ │ │ type int │ ├──────────────────────────┼───────────────────────────────────────┤ │ DIVERGED_DTOL │ Constant DIVERGED_DTOL of type int │ ├──────────────────────────┼───────────────────────────────────────┤ │ DIVERGED_FNORM_NAN │ Constant DIVERGED_FNORM_NAN of type ‐ │ │ │ int │ ├──────────────────────────┼───────────────────────────────────────┤ │ DIVERGED_FUNCTION_COUNT │ Constant DIVERGED_FUNCTION_COUNT of │ │ │ type int │ ├──────────────────────────┼───────────────────────────────────────┤ │ DIVERGED_FUNCTION_DOMAIN │ Constant DIVERGED_FUNCTION_DOMAIN of │ │ │ type int │ ├──────────────────────────┼───────────────────────────────────────┤ │ DIVERGED_INNER │ Constant DIVERGED_INNER of type int │ ├──────────────────────────┼───────────────────────────────────────┤ │ DIVERGED_JACOBIAN_DOMAIN │ Constant DIVERGED_JACOBIAN_DOMAIN of │ │ │ type int │ ├──────────────────────────┼───────────────────────────────────────┤ │ DIVERGED_LINEAR_SOLVE │ Constant DIVERGED_LINEAR_SOLVE of │ │ │ type int │ ├──────────────────────────┼───────────────────────────────────────┤ │ DIVERGED_LINE_SEARCH │ Constant DIVERGED_LINE_SEARCH of type │ │ │ int │ ├──────────────────────────┼───────────────────────────────────────┤ │ DIVERGED_LOCAL_MIN │ Constant DIVERGED_LOCAL_MIN of type ‐ │ │ │ int │ ├──────────────────────────┼───────────────────────────────────────┤ │ DIVERGED_MAX_IT │ Constant DIVERGED_MAX_IT of type int │ ├──────────────────────────┼───────────────────────────────────────┤ │ DIVERGED_TR_DELTA │ Constant DIVERGED_TR_DELTA of type ‐ │ │ │ int │ ├──────────────────────────┼───────────────────────────────────────┤ │ ITERATING │ Constant ITERATING of type int │ └──────────────────────────┴───────────────────────────────────────┘ Attributes Documentation CONVERGED_FNORM_ABS: int = CONVERGED_FNORM_ABS Constant CONVERGED_FNORM_ABS of type int CONVERGED_FNORM_RELATIVE: int = CONVERGED_FNORM_RELATIVE Constant CONVERGED_FNORM_RELATIVE of type int CONVERGED_ITERATING: int = CONVERGED_ITERATING Constant CONVERGED_ITERATING of type int CONVERGED_ITS: int = CONVERGED_ITS Constant CONVERGED_ITS of type int CONVERGED_SNORM_RELATIVE: int = CONVERGED_SNORM_RELATIVE Constant CONVERGED_SNORM_RELATIVE of type int DIVERGED_DTOL: int = DIVERGED_DTOL Constant DIVERGED_DTOL of type int DIVERGED_FNORM_NAN: int = DIVERGED_FNORM_NAN Constant DIVERGED_FNORM_NAN of type int DIVERGED_FUNCTION_COUNT: int = DIVERGED_FUNCTION_COUNT Constant DIVERGED_FUNCTION_COUNT of type int DIVERGED_FUNCTION_DOMAIN: int = DIVERGED_FUNCTION_DOMAIN Constant DIVERGED_FUNCTION_DOMAIN of type int DIVERGED_INNER: int = DIVERGED_INNER Constant DIVERGED_INNER of type int DIVERGED_JACOBIAN_DOMAIN: int = DIVERGED_JACOBIAN_DOMAIN Constant DIVERGED_JACOBIAN_DOMAIN of type int DIVERGED_LINEAR_SOLVE: int = DIVERGED_LINEAR_SOLVE Constant DIVERGED_LINEAR_SOLVE of type int DIVERGED_LINE_SEARCH: int = DIVERGED_LINE_SEARCH Constant DIVERGED_LINE_SEARCH of type int DIVERGED_LOCAL_MIN: int = DIVERGED_LOCAL_MIN Constant DIVERGED_LOCAL_MIN of type int DIVERGED_MAX_IT: int = DIVERGED_MAX_IT Constant DIVERGED_MAX_IT of type int DIVERGED_TR_DELTA: int = DIVERGED_TR_DELTA Constant DIVERGED_TR_DELTA of type int ITERATING: int = ITERATING Constant ITERATING of type int petsc4py.PETSc.SNES.NormSchedule class petsc4py.PETSc.SNES.NormSchedule Bases: object SNES norm schedule. SEE ALSO: SNESNormSchedule Attributes Summary ┌─────────────────────────┬───────────────────────────────────────┐ │ ALWAYS │ Constant ALWAYS of type int │ ├─────────────────────────┼───────────────────────────────────────┤ │ DEFAULT │ Constant DEFAULT of type int │ ├─────────────────────────┼───────────────────────────────────────┤ │ FINAL_ONLY │ Constant FINAL_ONLY of type int │ ├─────────────────────────┼───────────────────────────────────────┤ │ INITIAL_FINAL_ONLY │ Constant INITIAL_FINAL_ONLY of type ‐ │ │ │ int │ ├─────────────────────────┼───────────────────────────────────────┤ │ INITIAL_ONLY │ Constant INITIAL_ONLY of type int │ ├─────────────────────────┼───────────────────────────────────────┤ │ NONE │ Constant NONE of type int │ ├─────────────────────────┼───────────────────────────────────────┤ │ NORM_ALWAYS │ Constant NORM_ALWAYS of type int │ ├─────────────────────────┼───────────────────────────────────────┤ │ NORM_DEFAULT │ Constant NORM_DEFAULT of type int │ ├─────────────────────────┼───────────────────────────────────────┤ │ NORM_FINAL_ONLY │ Constant NORM_FINAL_ONLY of type int │ ├─────────────────────────┼───────────────────────────────────────┤ │ NORM_INITIAL_FINAL_ONLY │ Constant NORM_INITIAL_FINAL_ONLY of │ │ │ type int │ ├─────────────────────────┼───────────────────────────────────────┤ │ NORM_INITIAL_ONLY │ Constant NORM_INITIAL_ONLY of type ‐ │ │ │ int │ ├─────────────────────────┼───────────────────────────────────────┤ │ NORM_NONE │ Constant NORM_NONE of type int │ └─────────────────────────┴───────────────────────────────────────┘ Attributes Documentation ALWAYS: int = ALWAYS Constant ALWAYS of type int DEFAULT: int = DEFAULT Constant DEFAULT of type int FINAL_ONLY: int = FINAL_ONLY Constant FINAL_ONLY of type int INITIAL_FINAL_ONLY: int = INITIAL_FINAL_ONLY Constant INITIAL_FINAL_ONLY of type int INITIAL_ONLY: int = INITIAL_ONLY Constant INITIAL_ONLY of type int NONE: int = NONE Constant NONE of type int NORM_ALWAYS: int = NORM_ALWAYS Constant NORM_ALWAYS of type int NORM_DEFAULT: int = NORM_DEFAULT Constant NORM_DEFAULT of type int NORM_FINAL_ONLY: int = NORM_FINAL_ONLY Constant NORM_FINAL_ONLY of type int NORM_INITIAL_FINAL_ONLY: int = NORM_INITIAL_FINAL_ONLY Constant NORM_INITIAL_FINAL_ONLY of type int NORM_INITIAL_ONLY: int = NORM_INITIAL_ONLY Constant NORM_INITIAL_ONLY of type int NORM_NONE: int = NORM_NONE Constant NORM_NONE of type int petsc4py.PETSc.SNES.Type class petsc4py.PETSc.SNES.Type Bases: object SNES solver type. SEE ALSO: SNESType Attributes Summary ┌──────────────────┬─────────────────────────────────────┐ │ ANDERSON │ Object ANDERSON of type str │ ├──────────────────┼─────────────────────────────────────┤ │ ASPIN │ Object ASPIN of type str │ ├──────────────────┼─────────────────────────────────────┤ │ COMPOSITE │ Object COMPOSITE of type str │ ├──────────────────┼─────────────────────────────────────┤ │ FAS │ Object FAS of type str │ ├──────────────────┼─────────────────────────────────────┤ │ KSPONLY │ Object KSPONLY of type str │ ├──────────────────┼─────────────────────────────────────┤ │ KSPTRANSPOSEONLY │ Object KSPTRANSPOSEONLY of type str │ ├──────────────────┼─────────────────────────────────────┤ │ MS │ Object MS of type str │ ├──────────────────┼─────────────────────────────────────┤ │ NASM │ Object NASM of type str │ ├──────────────────┼─────────────────────────────────────┤ │ NCG │ Object NCG of type str │ ├──────────────────┼─────────────────────────────────────┤ │ NEWTONLS │ Object NEWTONLS of type str │ ├──────────────────┼─────────────────────────────────────┤ │ NEWTONTR │ Object NEWTONTR of type str │ ├──────────────────┼─────────────────────────────────────┤ │ NGMRES │ Object NGMRES of type str │ ├──────────────────┼─────────────────────────────────────┤ │ NGS │ Object NGS of type str │ ├──────────────────┼─────────────────────────────────────┤ │ NRICHARDSON │ Object NRICHARDSON of type str │ ├──────────────────┼─────────────────────────────────────┤ │ PATCH │ Object PATCH of type str │ ├──────────────────┼─────────────────────────────────────┤ │ PYTHON │ Object PYTHON of type str │ ├──────────────────┼─────────────────────────────────────┤ │ QN │ Object QN of type str │ ├──────────────────┼─────────────────────────────────────┤ │ SHELL │ Object SHELL of type str │ ├──────────────────┼─────────────────────────────────────┤ │ VINEWTONRSLS │ Object VINEWTONRSLS of type str │ ├──────────────────┼─────────────────────────────────────┤ │ VINEWTONSSLS │ Object VINEWTONSSLS of type str │ └──────────────────┴─────────────────────────────────────┘ Attributes Documentation ANDERSON: str = ANDERSON Object ANDERSON of type str ASPIN: str = ASPIN Object ASPIN of type str COMPOSITE: str = COMPOSITE Object COMPOSITE of type str FAS: str = FAS Object FAS of type str KSPONLY: str = KSPONLY Object KSPONLY of type str KSPTRANSPOSEONLY: str = KSPTRANSPOSEONLY Object KSPTRANSPOSEONLY of type str MS: str = MS Object MS of type str NASM: str = NASM Object NASM of type str NCG: str = NCG Object NCG of type str NEWTONLS: str = NEWTONLS Object NEWTONLS of type str NEWTONTR: str = NEWTONTR Object NEWTONTR of type str NGMRES: str = NGMRES Object NGMRES of type str NGS: str = NGS Object NGS of type str NRICHARDSON: str = NRICHARDSON Object NRICHARDSON of type str PATCH: str = PATCH Object PATCH of type str PYTHON: str = PYTHON Object PYTHON of type str QN: str = QN Object QN of type str SHELL: str = SHELL Object SHELL of type str VINEWTONRSLS: str = VINEWTONRSLS Object VINEWTONRSLS of type str VINEWTONSSLS: str = VINEWTONSSLS Object VINEWTONSSLS of type str Methods Summary ┌───────────────────────────────────────┬───────────────────────────────────────┐ │ appendOptionsPrefix(prefix) │ Append to the prefix used for │ │ │ searching for options in the │ │ │ database. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ callConvergenceTest(its, xnorm, │ Compute the convergence test. │ │ ynorm, fnorm) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ computeFunction(x, f) │ Compute the function. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ computeJacobian(x, J[, P]) │ Compute the Jacobian. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ computeNGS(x[, b]) │ Compute a nonlinear Gauss-Seidel │ │ │ step. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ computeObjective(x) │ Compute the value of the objective │ │ │ function. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ converged(its, xnorm, ynorm, fnorm) │ Compute the convergence test and │ │ │ update the solver converged reason. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ create([comm]) │ Create a SNES solver. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createPython([context, comm]) │ Create a nonlinear solver of Python │ │ │ type. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy the solver. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getApplicationContext() │ Return the application context. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getCompositeNumber() │ Return the number of solvers in the │ │ │ composite. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getCompositeSNES(n) │ Return the n-th solver in the │ │ │ composite. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getConvergedReason() │ Return the termination flag. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getConvergenceHistory() │ Return the convergence history. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getConvergenceTest() │ Return the callback to used as │ │ │ convergence test. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getDM() │ Return the DM associated with the │ │ │ solver. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getDivergenceTolerance() │ Get the divergence tolerance │ │ │ parameter used in the convergence │ │ │ tests. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getErrorIfNotConverged() │ Return the flag indicating error on │ │ │ divergence. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getFASCoarseSolve() │ Return the SNES used at the coarsest │ │ │ level of the FAS hierarchy. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getFASCycleSNES(level) │ Return the SNES corresponding to a │ │ │ particular level of the FAS │ │ │ hierarchy. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getFASInjection(level) │ Return the Mat used to apply the │ │ │ injection from level-1 to level. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getFASInterpolation(level) │ Return the Mat used to apply the │ │ │ interpolation from level-1 to level. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getFASLevels() │ Return the number of levels used. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getFASRestriction(level) │ Return the Mat used to apply the │ │ │ restriction from level-1 to level. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getFASSmoother(level) │ Return the smoother used at a given │ │ │ level of the FAS hierarchy. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getFASSmootherDown(level) │ Return the downsmoother used at a │ │ │ given level of the FAS hierarchy. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getFASSmootherUp(level) │ Return the upsmoother used at a given │ │ │ level of the FAS hierarchy. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getFunction() │ Return the callback to compute the │ │ │ nonlinear function. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getFunctionEvaluations() │ Return the current number of function │ │ │ evaluations. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getFunctionNorm() │ Return the function norm. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getInitialGuess() │ Return the callback to compute the │ │ │ initial guess. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getIterationNumber() │ Return the current iteration number. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getJacobian() │ Return the matrices used to compute │ │ │ the Jacobian and the callback tuple. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getKSP() │ Return the linear solver used by the │ │ │ nonlinear solver. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getKSPFailures() │ Return the current number of linear │ │ │ solve failures. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getLinearSolveIterations() │ Return the total number of linear │ │ │ iterations. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getMaxFunctionEvaluations() │ Return the maximum allowed number of │ │ │ function evaluations. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getMaxKSPFailures() │ Return the maximum allowed number of │ │ │ linear solve failures. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getMaxStepFailures() │ Return the maximum allowed number of │ │ │ step failures. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getMonitor() │ Return the callback used to monitor │ │ │ solver convergence. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getNASMNumber() │ Return the number of solvers in NASM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getNASMSNES(n) │ Return the n-th solver in NASM. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getNGS() │ Return the nonlinear Gauss-Seidel │ │ │ callback tuple. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getNPC() │ Return the nonlinear preconditioner │ │ │ associated with the solver. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getNPCSide() │ Return the nonlinear preconditioning │ │ │ side. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getNormSchedule() │ Return the norm schedule. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getObjective() │ Return the objective callback tuple. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getOptionsPrefix() │ Return the prefix used for searching │ │ │ for options in the database. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getParamsEW() │ Get the parameters of the Eisenstat │ │ │ and Walker trick. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getPythonContext() │ Return the instance of the class │ │ │ implementing the required Python │ │ │ methods. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getPythonType() │ Return the fully qualified Python │ │ │ name of the class used by the solver. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getRhs() │ Return the vector holding the │ │ │ right-hand side. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getSolution() │ Return the vector holding the │ │ │ solution. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getSolutionUpdate() │ Return the vector holding the │ │ │ solution update. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getStepFailures() │ Return the current number of step │ │ │ failures. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getTRTolerances() │ Return the tolerance parameters used │ │ │ for the trust region. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getTRUpdateParameters() │ Return the update parameters used for │ │ │ the trust region. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getTolerances() │ Return the tolerance parameters used │ │ │ in the solver convergence tests. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getType() │ Return the type of the solver. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getUpdate() │ Return the callback to compute the │ │ │ update at the beginning of each step. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getUseEW() │ Return the flag indicating if the │ │ │ solver uses the Eisenstat-Walker │ │ │ trick. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getUseFD() │ Return true if the solver uses color │ │ │ finite-differencing for the Jacobian. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getUseKSP() │ Return the flag indicating if the │ │ │ solver uses a linear solver. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getUseMF() │ Return the flag indicating if the │ │ │ solver uses matrix-free │ │ │ finite-differencing. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getVIInactiveSet() │ Return the index set for the inactive │ │ │ set. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ hasNPC() │ Return a boolean indicating whether │ │ │ the solver has a nonlinear │ │ │ preconditioner. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ logConvergenceHistory(norm[, │ Log residual norm and linear │ │ linear_its]) │ iterations. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ monitor(its, rnorm) │ Monitor the solver. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ monitorCancel() │ Cancel all the monitors of the │ │ │ solver. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ reset() │ Reset the solver. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setApplicationContext(appctx) │ Set the application context. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setConvergedReason(reason) │ Set the termination flag. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setConvergenceHistory([length, │ Set the convergence history. │ │ reset]) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setConvergenceTest(converged[, args, │ Set the callback to use as │ │ kargs]) │ convergence test. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setDM(dm) │ Associate a DM with the solver. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setDivergenceTolerance(dtol) │ Set the divergence tolerance │ │ │ parameter used in the convergence │ │ │ tests. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setErrorIfNotConverged(flag) │ Immediately generate an error if the │ │ │ solver has not converged. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFASInjection(level, mat) │ Set the Mat to be used to apply the │ │ │ injection from level-1 to level. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFASInterpolation(level, mat) │ Set the Mat to be used to apply the │ │ │ interpolation from level-1 to level. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFASLevels(levels[, comms]) │ Set the number of levels to use with │ │ │ FAS. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFASRScale(level, vec) │ Set the scaling factor of the │ │ │ restriction operator from level to │ │ │ level-1. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFASRestriction(level, mat) │ Set the Mat to be used to apply the │ │ │ restriction from level-1 to level. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setForceIteration(force) │ Force solve to take at least one │ │ │ iteration. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFromOptions() │ Configure the solver from the options │ │ │ database. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFunction(function[, f, args, │ Set the callback to compute the │ │ kargs]) │ nonlinear function. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFunctionNorm(norm) │ Set the function norm value. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setInitialGuess(initialguess[, args, │ Set the callback to compute the │ │ kargs]) │ initial guess. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setIterationNumber(its) │ Set the current iteration number. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setJacobian(jacobian[, J, P, args, │ Set the callback to compute the │ │ kargs]) │ Jacobian. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setKSP(ksp) │ Set the linear solver that will be │ │ │ used by the nonlinear solver. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setLineSearchPreCheck(precheck[, │ Set the callback that will be called │ │ args, kargs]) │ before applying the linesearch. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setMaxFunctionEvaluations(max_funcs) │ Set the maximum allowed number of │ │ │ function evaluations. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setMaxKSPFailures(max_fails) │ Set the maximum allowed number of │ │ │ linear solve failures. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setMaxStepFailures(max_fails) │ Set the maximum allowed number of │ │ │ step failures. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setMonitor(monitor[, args, kargs]) │ Set the callback used to monitor │ │ │ solver convergence. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setNGS(ngs[, args, kargs]) │ Set the callback to compute nonlinear │ │ │ Gauss-Seidel. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setNPC(snes) │ Set the nonlinear preconditioner. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setNPCSide(side) │ Set the nonlinear preconditioning │ │ │ side. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setNormSchedule(normsched) │ Set the norm schedule. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setObjective(objective[, args, │ Set the callback to compute the │ │ kargs]) │ objective function. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setOptionsPrefix(prefix) │ Set the prefix used for searching for │ │ │ options in the database. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setParamsEW([version, rtol_0, │ Set the parameters for the Eisenstat │ │ rtol_max, ...]) │ and Walker trick. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setPatchCellNumbering(sec) │ Set cell patch numbering. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setPatchComputeFunction(function[, │ Set patch compute function. │ │ args, kargs]) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setPatchComputeOperator(operator[, │ Set patch compute operator. │ │ args, kargs]) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setPatchConstructType(typ[, operator, │ Set patch construct type. │ │ args, ...]) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setPatchDiscretisationInfo(dms, bs, │ Set patch discretisation information. │ │ ...) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setPythonContext(context) │ Set the instance of the class │ │ │ implementing the required Python │ │ │ methods. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setPythonType(py_type) │ Set the fully qualified Python name │ │ │ of the class to be used. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setResetCounters([reset]) │ Set the flag to reset the counters. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setSolution(vec) │ Set the vector used to store the │ │ │ solution. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setTRTolerances([delta_min, │ Set the tolerance parameters used for │ │ delta_max, delta_0]) │ the trust region. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setTRUpdateParameters([eta1, eta2, │ Set the update parameters used for │ │ eta3, t1, t2]) │ the trust region. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setTolerances([rtol, atol, stol, │ Set the tolerance parameters used in │ │ max_it]) │ the solver convergence tests. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setType(snes_type) │ Set the type of the solver. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setUp() │ Set up the internal data structures │ │ │ for using the solver. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setUpMatrices() │ Ensures that matrices are available │ │ │ for Newton-like methods. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setUpdate(update[, args, kargs]) │ Set the callback to compute update at │ │ │ the beginning of each step. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setUseEW([flag]) │ Tell the solver to use the │ │ │ Eisenstat-Walker trick. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setUseFD([flag]) │ Set the boolean flag to use coloring │ │ │ finite-differencing for Jacobian │ │ │ assembly. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setUseKSP([flag]) │ Set the boolean flag indicating to │ │ │ use a linear solver. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setUseMF([flag]) │ Set the boolean flag indicating to │ │ │ use matrix-free finite-differencing. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setVariableBounds(xl, xu) │ Set the vector for the variable │ │ │ bounds. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ solve([b, x]) │ Solve the nonlinear equations. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ View the solver. │ └───────────────────────────────────────┴───────────────────────────────────────┘ Attributes Summary ┌──────────────┬───────────────────────────────────────┐ │ appctx │ Application context. │ ├──────────────┼───────────────────────────────────────┤ │ atol │ Absolute residual tolerance. │ ├──────────────┼───────────────────────────────────────┤ │ dm │ DM. │ ├──────────────┼───────────────────────────────────────┤ │ history │ Convergence history. │ ├──────────────┼───────────────────────────────────────┤ │ is_converged │ Boolean indicating if the solver has │ │ │ converged. │ ├──────────────┼───────────────────────────────────────┤ │ is_diverged │ Boolean indicating if the solver has │ │ │ failed. │ ├──────────────┼───────────────────────────────────────┤ │ is_iterating │ Boolean indicating if the solver has │ │ │ not converged yet. │ ├──────────────┼───────────────────────────────────────┤ │ its │ Number of iterations. │ ├──────────────┼───────────────────────────────────────┤ │ ksp │ Linear solver. │ ├──────────────┼───────────────────────────────────────┤ │ max_funcs │ Maximum number of function │ │ │ evaluations. │ ├──────────────┼───────────────────────────────────────┤ │ max_it │ Maximum number of iterations. │ ├──────────────┼───────────────────────────────────────┤ │ norm │ Function norm. │ ├──────────────┼───────────────────────────────────────┤ │ npc │ Nonlinear preconditioner. │ ├──────────────┼───────────────────────────────────────┤ │ reason │ Converged reason. │ ├──────────────┼───────────────────────────────────────┤ │ rtol │ Relative residual tolerance. │ ├──────────────┼───────────────────────────────────────┤ │ stol │ Solution update tolerance. │ ├──────────────┼───────────────────────────────────────┤ │ use_ew │ Use the Eisenstat-Walker trick. │ ├──────────────┼───────────────────────────────────────┤ │ use_fd │ Boolean indicating if the solver uses │ │ │ coloring finite-differencing. │ ├──────────────┼───────────────────────────────────────┤ │ use_ksp │ Boolean indicating if the solver uses │ │ │ a linear solver. │ ├──────────────┼───────────────────────────────────────┤ │ use_mf │ Boolean indicating if the solver uses │ │ │ matrix-free finite-differencing. │ ├──────────────┼───────────────────────────────────────┤ │ vec_rhs │ Right-hand side vector. │ ├──────────────┼───────────────────────────────────────┤ │ vec_sol │ Solution vector. │ ├──────────────┼───────────────────────────────────────┤ │ vec_upd │ Update vector. │ └──────────────┴───────────────────────────────────────┘ Methods Documentation appendOptionsPrefix(prefix) Append to the prefix used for searching for options in the database. Logically collective. SEE ALSO: Working with PETSc options, setOptionsPrefix, SNESAppendOptionsPrefix Source code at petsc4py/PETSc/SNES.pyx:227 Parameters prefix (str | None) Return type None callConvergenceTest(its, xnorm, ynorm, fnorm) Compute the convergence test. Collective. Parameters • its (int) -- Iteration number. • xnorm (float) -- Solution norm. • ynorm (float) -- Update norm. • fnorm (float) -- Function norm. Return type ConvergedReason SEE ALSO: setConvergenceTest, getConvergenceTest Source code at petsc4py/PETSc/SNES.pyx:1326 computeFunction(x, f) Compute the function. Collective. Parameters • x (Vec) -- The input state vector. • f (Vec) -- The output vector. Return type None SEE ALSO: setFunction, SNESComputeFunction Source code at petsc4py/PETSc/SNES.pyx:1027 computeJacobian(x, J, P=None) Compute the Jacobian. Collective. Parameters • x (Vec) -- The input state vector. • J (Mat) -- The output Jacobian matrix. • P (Mat | None) -- The output Jacobian matrix used to construct the preconditioner. Return type None SEE ALSO: setJacobian, SNESComputeJacobian Source code at petsc4py/PETSc/SNES.pyx:1046 computeNGS(x, b=None) Compute a nonlinear Gauss-Seidel step. Collective. Parameters • x (Vec) -- The input/output state vector. • b (Vec | None) -- The input right-hand side vector. Return type None SEE ALSO: setNGS, getNGS, SNESComputeNGS Source code at petsc4py/PETSc/SNES.pyx:1133 computeObjective(x) Compute the value of the objective function. Collective. Parameters x (Vec) -- The input state vector. Return type float SEE ALSO: setObjective, SNESComputeObjective Source code at petsc4py/PETSc/SNES.pyx:1069 converged(its, xnorm, ynorm, fnorm) Compute the convergence test and update the solver converged reason. Collective. Parameters • its (int) -- Iteration number. • xnorm (float) -- Solution norm. • ynorm (float) -- Update norm. • fnorm (float) -- Function norm. Return type None SEE ALSO: setConvergenceTest, getConvergenceTest, SNESConverged Source code at petsc4py/PETSc/SNES.pyx:1356 create(comm=None) Create a SNES solver. Collective. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: Sys.getDefaultComm, SNESCreate Source code at petsc4py/PETSc/SNES.pyx:145 createPython(context=None, comm=None) Create a nonlinear solver of Python type. Collective. Parameters • context (Any) -- An instance of the Python class implementing the required methods. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: PETSc Python nonlinear solver type (TODO), setType, setPythonContext, Type.PYTHON Source code at petsc4py/PETSc/SNES.pyx:2179 destroy() Destroy the solver. Collective. SEE ALSO: SNESDestroy Source code at petsc4py/PETSc/SNES.pyx:132 Return type Self getApplicationContext() Return the application context. Source code at petsc4py/PETSc/SNES.pyx:264 Return type Any getCompositeNumber() Return the number of solvers in the composite. Not collective. SEE ALSO: getCompositeSNES, SNESCompositeGetNumber, SNESCOMPOSITE Source code at petsc4py/PETSc/SNES.pyx:2280 Return type int getCompositeSNES(n) Return the n-th solver in the composite. Not collective. SEE ALSO: getCompositeNumber, SNESCompositeGetSNES, SNESCOMPOSITE Source code at petsc4py/PETSc/SNES.pyx:2263 Parameters n (int) Return type SNES getConvergedReason() Return the termination flag. Not collective. SEE ALSO: setConvergedReason, SNESGetConvergedReason Source code at petsc4py/PETSc/SNES.pyx:1739 Return type ConvergedReason getConvergenceHistory() Return the convergence history. Not collective. SEE ALSO: SNESGetConvergenceHistory Source code at petsc4py/PETSc/SNES.pyx:1407 Return type tuple[ArrayReal, ArrayInt] getConvergenceTest() Return the callback to used as convergence test. Not collective. SEE ALSO: setConvergenceTest, callConvergenceTest Source code at petsc4py/PETSc/SNES.pyx:1314 Return type SNESConvergedFunction getDM() Return the DM associated with the solver. Not collective. SEE ALSO: setDM, SNESGetDM Source code at petsc4py/PETSc/SNES.pyx:279 Return type DM getDivergenceTolerance() Get the divergence tolerance parameter used in the convergence tests. Not collective. SEE ALSO: setDivergenceTolerance, getTolerances, SNESGetDivergenceTolerance Source code at petsc4py/PETSc/SNES.pyx:1239 Return type float getErrorIfNotConverged() Return the flag indicating error on divergence. Not collective. SEE ALSO: setErrorIfNotConverged, SNESGetErrorIfNotConverged Source code at petsc4py/PETSc/SNES.pyx:1766 Return type bool getFASCoarseSolve() Return the SNES used at the coarsest level of the FAS hierarchy. Not collective. SEE ALSO: getFASSmoother, SNESFASGetCoarseSolve, SNESFAS Source code at petsc4py/PETSc/SNES.pyx:594 Return type SNES getFASCycleSNES(level) Return the SNES corresponding to a particular level of the FAS hierarchy. Not collective. SEE ALSO: setFASLevels, getFASCoarseSolve, getFASSmoother, SNESFASGetCycleSNES, SNESFAS Source code at petsc4py/PETSc/SNES.pyx:577 Parameters level (int) Return type SNES getFASInjection(level) Return the Mat used to apply the injection from level-1 to level. Not collective. SEE ALSO: setFASInjection, SNESFASGetInjection, SNESFAS Source code at petsc4py/PETSc/SNES.pyx:500 Parameters level (int) Return type Mat getFASInterpolation(level) Return the Mat used to apply the interpolation from level-1 to level. Not collective. SEE ALSO: setFASInterpolation, SNESFASGetInterpolation, SNESFAS Source code at petsc4py/PETSc/SNES.pyx:440 Parameters level (int) Return type Mat getFASLevels() Return the number of levels used. Not collective. SEE ALSO: setFASLevels, SNESFASGetLevels, SNESFAS Source code at petsc4py/PETSc/SNES.pyx:563 Return type int getFASRestriction(level) Return the Mat used to apply the restriction from level-1 to level. Not collective. SEE ALSO: setFASRestriction, SNESFASGetRestriction, SNESFAS Source code at petsc4py/PETSc/SNES.pyx:470 Parameters level (int) Return type Mat getFASSmoother(level) Return the smoother used at a given level of the FAS hierarchy. Not collective. SEE ALSO: setFASLevels, getFASCoarseSolve, getFASSmootherDown, getFASSmootherUp, ‐ SNESFASGetSmoother, SNESFAS Source code at petsc4py/PETSc/SNES.pyx:609 Parameters level (int) Return type SNES getFASSmootherDown(level) Return the downsmoother used at a given level of the FAS hierarchy. Not collective. SEE ALSO: setFASLevels, getFASCoarseSolve, getFASSmoother, getFASSmootherUp, ‐ SNESFASGetSmootherDown, SNESFAS Source code at petsc4py/PETSc/SNES.pyx:626 Parameters level (int) Return type SNES getFASSmootherUp(level) Return the upsmoother used at a given level of the FAS hierarchy. Not collective. SEE ALSO: setFASLevels, getFASCoarseSolve, getFASSmoother, getFASSmootherDown, ‐ SNESFASGetSmootherUp, SNESFAS Source code at petsc4py/PETSc/SNES.pyx:643 Parameters level (int) Return type SNES getFunction() Return the callback to compute the nonlinear function. Not collective. SEE ALSO: setFunction, SNESGetFunction Source code at petsc4py/PETSc/SNES.pyx:843 Return type SNESFunction getFunctionEvaluations() Return the current number of function evaluations. Not collective. SEE ALSO: setMaxFunctionEvaluations, SNESGetNumberFunctionEvals Source code at petsc4py/PETSc/SNES.pyx:1560 Return type int getFunctionNorm() Return the function norm. Not collective. SEE ALSO: setFunctionNorm, SNESGetFunctionNorm Source code at petsc4py/PETSc/SNES.pyx:1837 Return type float getInitialGuess() Return the callback to compute the initial guess. Not collective. SEE ALSO: setInitialGuess Source code at petsc4py/PETSc/SNES.pyx:796 Return type SNESGuessFunction getIterationNumber() Return the current iteration number. Not collective. SEE ALSO: setIterationNumber, SNESGetIterationNumber Source code at petsc4py/PETSc/SNES.pyx:1795 Return type int getJacobian() Return the matrices used to compute the Jacobian and the callback tuple. Not collective. Returns • J (Mat) -- The matrix to store the Jacobian. • P (Mat) -- The matrix to construct the preconditioner. • callback (SNESJacobianFunction) -- callback, positional and keyword arguments. Return type tuple[Mat, Mat, SNESJacobianFunction] SEE ALSO: setJacobian, SNESGetJacobian Source code at petsc4py/PETSc/SNES.pyx:955 getKSP() Return the linear solver used by the nonlinear solver. Not collective. SEE ALSO: setKSP, SNESGetKSP Source code at petsc4py/PETSc/SNES.pyx:1936 Return type KSP getKSPFailures() Return the current number of linear solve failures. Not collective. SEE ALSO: getMaxKSPFailures, SNESGetLinearSolveFailures Source code at petsc4py/PETSc/SNES.pyx:1642 Return type int getLinearSolveIterations() Return the total number of linear iterations. Not collective. SEE ALSO: SNESGetLinearSolveIterations Source code at petsc4py/PETSc/SNES.pyx:1851 Return type int getMaxFunctionEvaluations() Return the maximum allowed number of function evaluations. Not collective. SEE ALSO: setMaxFunctionEvaluations, SNESSetTolerances Source code at petsc4py/PETSc/SNES.pyx:1544 Return type int getMaxKSPFailures() Return the maximum allowed number of linear solve failures. Not collective. SEE ALSO: setMaxKSPFailures, SNESGetMaxLinearSolveFailures Source code at petsc4py/PETSc/SNES.pyx:1628 Return type int getMaxStepFailures() Return the maximum allowed number of step failures. Not collective. SEE ALSO: setMaxStepFailures, SNESGetMaxNonlinearStepFailures Source code at petsc4py/PETSc/SNES.pyx:1587 Return type int getMonitor() Return the callback used to monitor solver convergence. Not collective. SEE ALSO: setMonitor Source code at petsc4py/PETSc/SNES.pyx:1479 Return type list[tuple[SNESMonitorFunction, tuple[Any, ...], dict[str, Any]]] getNASMNumber() Return the number of solvers in NASM. Not collective. SEE ALSO: getNASMSNES, SNESNASMGetNumber, SNESNASM Source code at petsc4py/PETSc/SNES.pyx:2312 Return type int getNASMSNES(n) Return the n-th solver in NASM. Not collective. SEE ALSO: getNASMNumber, SNESNASMGetSNES, SNESNASM Source code at petsc4py/PETSc/SNES.pyx:2296 Parameters n (int) Return type SNES getNGS() Return the nonlinear Gauss-Seidel callback tuple. Not collective. SEE ALSO: setNGS, computeNGS Source code at petsc4py/PETSc/SNES.pyx:1119 Return type SNESNGSFunction getNPC() Return the nonlinear preconditioner associated with the solver. Not collective. SEE ALSO: setNPC, hasNPC, setNPCSide, getNPCSide, SNESGetNPC Source code at petsc4py/PETSc/SNES.pyx:662 Return type SNES getNPCSide() Return the nonlinear preconditioning side. Not collective. SEE ALSO: setNPC, getNPC, hasNPC, setNPCSide, SNESGetNPCSide Source code at petsc4py/PETSc/SNES.pyx:715 Return type Side getNormSchedule() Return the norm schedule. Not collective. SEE ALSO: setNormSchedule, SNESGetNormSchedule Source code at petsc4py/PETSc/SNES.pyx:1265 Return type NormSchedule getObjective() Return the objective callback tuple. Not collective. SEE ALSO: setObjective Source code at petsc4py/PETSc/SNES.pyx:1013 Return type SNESObjFunction getOptionsPrefix() Return the prefix used for searching for options in the database. Not collective. SEE ALSO: Working with PETSc options, setOptionsPrefix, SNESGetOptionsPrefix Source code at petsc4py/PETSc/SNES.pyx:213 Return type str getParamsEW() Get the parameters of the Eisenstat and Walker trick. Not collective. SEE ALSO: setUseEW, setParamsEW, SNESKSPGetParametersEW Source code at petsc4py/PETSc/SNES.pyx:2040 Return type dict[str, int | float] getPythonContext() Return the instance of the class implementing the required Python methods. Not collective. SEE ALSO: PETSc Python nonlinear solver type (TODO), setPythonContext Source code at petsc4py/PETSc/SNES.pyx:2216 Return type Any getPythonType() Return the fully qualified Python name of the class used by the solver. Not collective. SEE ALSO: PETSc Python nonlinear solver type (TODO), setPythonContext, setPythonType, ‐ SNESPythonGetType Source code at petsc4py/PETSc/SNES.pyx:2246 Return type str getRhs() Return the vector holding the right-hand side. Not collective. SEE ALSO: SNESGetRhs Source code at petsc4py/PETSc/SNES.pyx:1865 Return type Vec getSolution() Return the vector holding the solution. Not collective. SEE ALSO: setSolution, SNESGetSolution Source code at petsc4py/PETSc/SNES.pyx:1880 Return type Vec getSolutionUpdate() Return the vector holding the solution update. Not collective. SEE ALSO: SNESGetSolutionUpdate Source code at petsc4py/PETSc/SNES.pyx:1907 Return type Vec getStepFailures() Return the current number of step failures. Not collective. SEE ALSO: getMaxStepFailures, SNESGetNonlinearStepFailures Source code at petsc4py/PETSc/SNES.pyx:1601 Return type int getTRTolerances() Return the tolerance parameters used for the trust region. Not collective. Returns • delta_min (float) -- The minimum allowed trust region size. • delta_max (float) -- The maximum allowed trust region size. • delta_0 (float) -- The initial trust region size. Return type tuple[float, float, float] SEE ALSO: setTRTolerances, getTRUpdateParameters, SNESNewtonTRGetTolerances Source code at petsc4py/PETSc/SNES.pyx:337 getTRUpdateParameters() Return the update parameters used for the trust region. Not collective. Returns • eta1 (float) -- The step acceptance tolerance. • eta2 (float) -- The shrinking tolerance. • eta3 (float) -- The enlarging tolerance. • t1 (float) -- The shrinking factor. • t2 (float) -- The enlarging factor. Return type tuple[float, float, float, float, float] SEE ALSO: setTRUpdateParameters, getTRTolerances, SNESNewtonTRGetUpdateParameters Source code at petsc4py/PETSc/SNES.pyx:396 getTolerances() Return the tolerance parameters used in the solver convergence tests. Not collective. Returns • rtol (float) -- The relative norm of the residual. • atol (float) -- The absolute norm of the residual. • stol (float) -- The absolute norm of the step. • max_it (int) -- The maximum allowed number of iterations. Return type tuple[float, float, float, int] SEE ALSO: setTolerances, SNESGetTolerances Source code at petsc4py/PETSc/SNES.pyx:1195 getType() Return the type of the solver. Not collective. SEE ALSO: setType, SNESGetType Source code at petsc4py/PETSc/SNES.pyx:185 Return type str getUpdate() Return the callback to compute the update at the beginning of each step. Not collective. SEE ALSO: setUpdate Source code at petsc4py/PETSc/SNES.pyx:904 Return type SNESUpdateFunction getUseEW() Return the flag indicating if the solver uses the Eisenstat-Walker trick. Not collective. SEE ALSO: setUseEW, setParamsEW, SNESKSPGetUseEW Source code at petsc4py/PETSc/SNES.pyx:1974 Return type bool getUseFD() Return true if the solver uses color finite-differencing for the Jacobian. Not collective. SEE ALSO: setUseFD Source code at petsc4py/PETSc/SNES.pyx:2134 Return type False getUseKSP() Return the flag indicating if the solver uses a linear solver. Not collective. SEE ALSO: setUseKSP Source code at petsc4py/PETSc/SNES.pyx:2078 Return type bool getUseMF() Return the flag indicating if the solver uses matrix-free finite-differencing. Not collective. SEE ALSO: setUseMF Source code at petsc4py/PETSc/SNES.pyx:2107 Return type bool getVIInactiveSet() Return the index set for the inactive set. Not collective. SEE ALSO: SNESVIGetInactiveSet Source code at petsc4py/PETSc/SNES.pyx:2162 Return type IS hasNPC() Return a boolean indicating whether the solver has a nonlinear preconditioner. Not collective. SEE ALSO: setNPC, getNPC, setNPCSide, getNPCSide, SNESHasNPC Source code at petsc4py/PETSc/SNES.pyx:677 Return type bool logConvergenceHistory(norm, linear_its=0) Log residual norm and linear iterations. Source code at petsc4py/PETSc/SNES.pyx:1425 Parameters • norm (float) • linear_its (int) Return type None monitor(its, rnorm) Monitor the solver. Collective. Parameters • its -- Current number of iterations. • rnorm -- Current value of the residual norm. Return type None SEE ALSO: setMonitor, SNESMonitor Source code at petsc4py/PETSc/SNES.pyx:1506 monitorCancel() Cancel all the monitors of the solver. Logically collective. SEE ALSO: setMonitor, SNESMonitorCancel Source code at petsc4py/PETSc/SNES.pyx:1491 Return type None reset() Reset the solver. Collective. SEE ALSO: SNESReset Source code at petsc4py/PETSc/SNES.pyx:1691 Return type None setApplicationContext(appctx) Set the application context. Source code at petsc4py/PETSc/SNES.pyx:255 Parameters appctx (Any) Return type None setConvergedReason(reason) Set the termination flag. Collective. SEE ALSO: getConvergedReason, SNESSetConvergedReason Source code at petsc4py/PETSc/SNES.pyx:1726 Parameters reason (ConvergedReason) Return type None setConvergenceHistory(length=None, reset=False) Set the convergence history. Logically collective. SEE ALSO: SNESSetConvergenceHistory Source code at petsc4py/PETSc/SNES.pyx:1383 Return type None setConvergenceTest(converged, args=None, kargs=None) Set the callback to use as convergence test. Logically collective. Parameters • converged (SNESConvergedFunction | Literal['skip', 'default']) -- The convergence testing callback. • args (tuple[Any, ...] | None) -- Positional arguments for the callback. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback. Return type None SEE ALSO: getConvergenceTest, callConvergenceTest, SNESSetConvergenceTest Source code at petsc4py/PETSc/SNES.pyx:1279 setDM(dm) Associate a DM with the solver. Not collective. SEE ALSO: getDM, SNESSetDM Source code at petsc4py/PETSc/SNES.pyx:296 Parameters dm (DM) Return type None setDivergenceTolerance(dtol) Set the divergence tolerance parameter used in the convergence tests. Logically collective. Parameters dtol (float) -- The divergence tolerance. Return type None SEE ALSO: getDivergenceTolerance, setTolerances, SNESSetDivergenceTolerance Source code at petsc4py/PETSc/SNES.pyx:1222 setErrorIfNotConverged(flag) Immediately generate an error if the solver has not converged. Collective. SEE ALSO: getErrorIfNotConverged, SNESSetErrorIfNotConverged Source code at petsc4py/PETSc/SNES.pyx:1753 Parameters flag (bool) Return type None setFASInjection(level, mat) Set the Mat to be used to apply the injection from level-1 to level. Collective. SEE ALSO: getFASInjection, setFASInterpolation, setFASRestriction, SNESFASSetInjection, SNESFAS Source code at petsc4py/PETSc/SNES.pyx:486 Parameters • level (int) • mat (Mat) Return type None setFASInterpolation(level, mat) Set the Mat to be used to apply the interpolation from level-1 to level. Collective. SEE ALSO: getFASInterpolation, setFASRestriction, setFASInjection, SNESFASSetInterpolation, ‐ SNESFAS Source code at petsc4py/PETSc/SNES.pyx:426 Parameters • level (int) • mat (Mat) Return type None setFASLevels(levels, comms=None) Set the number of levels to use with FAS. Collective. Parameters • levels (int) -- The number of levels • comms (Sequence[Comm]) -- An optional sequence of communicators of length Logging Levels, or None for the default communicator Sys.getDefaultComm. Return type None SEE ALSO: getFASLevels, SNESFASSetLevels, SNESFAS Source code at petsc4py/PETSc/SNES.pyx:529 setFASRScale(level, vec) Set the scaling factor of the restriction operator from level to level-1. Collective. SEE ALSO: setFASRestriction, SNESFASSetRScale, SNESFAS Source code at petsc4py/PETSc/SNES.pyx:516 Parameters • level (int) • vec (Vec) Return type None setFASRestriction(level, mat) Set the Mat to be used to apply the restriction from level-1 to level. Collective. SEE ALSO: setFASRScale, getFASRestriction, setFASInterpolation, setFASInjection, ‐ SNESFASSetRestriction, SNESFAS Source code at petsc4py/PETSc/SNES.pyx:456 Parameters • level (int) • mat (Mat) Return type None setForceIteration(force) Force solve to take at least one iteration. Collective. SEE ALSO: SNESSetForceIteration Source code at petsc4py/PETSc/SNES.pyx:1809 Parameters force (bool) Return type None setFromOptions() Configure the solver from the options database. Collective. SEE ALSO: Working with PETSc options, SNESSetFromOptions Source code at petsc4py/PETSc/SNES.pyx:241 Return type None setFunction(function, f=None, args=None, kargs=None) Set the callback to compute the nonlinear function. Logically collective. Parameters • function (SNESFunction | None) -- The callback. • f (Vec | None) -- An optional vector to store the result. • args (tuple[Any, ...] | None) -- Positional arguments for the callback. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback. Return type None SEE ALSO: getFunction, SNESSetFunction Source code at petsc4py/PETSc/SNES.pyx:808 setFunctionNorm(norm) Set the function norm value. Collective. This is only of use to implementers of custom SNES types. SEE ALSO: getFunctionNorm, SNESSetFunctionNorm Source code at petsc4py/PETSc/SNES.pyx:1822 Parameters norm (float) Return type None setInitialGuess(initialguess, args=None, kargs=None) Set the callback to compute the initial guess. Logically collective. Parameters • initialguess (SNESGuessFunction | None) -- The callback. • args (tuple[Any, ...] | None) -- Positional arguments for the callback. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback. Return type None SEE ALSO: getInitialGuess, SNESSetComputeInitialGuess Source code at petsc4py/PETSc/SNES.pyx:765 setIterationNumber(its) Set the current iteration number. Collective. This is only of use to implementers of custom SNES types. SEE ALSO: getIterationNumber, SNESSetIterationNumber Source code at petsc4py/PETSc/SNES.pyx:1780 Parameters its (int) Return type None setJacobian(jacobian, J=None, P=None, args=None, kargs=None) Set the callback to compute the Jacobian. Logically collective. Parameters • jacobian (SNESJacobianFunction | None) -- The Jacobian callback. • J (Mat | None) -- The matrix to store the Jacobian. • P (Mat | None) -- The matrix to construct the preconditioner. • args (tuple[Any, ...] | None) -- Positional arguments for the callback. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback. Return type None SEE ALSO: getJacobian, SNESSetJacobian Source code at petsc4py/PETSc/SNES.pyx:916 setKSP(ksp) Set the linear solver that will be used by the nonlinear solver. Logically collective. SEE ALSO: getKSP, SNESSetKSP Source code at petsc4py/PETSc/SNES.pyx:1924 Parameters ksp (KSP) Return type None setLineSearchPreCheck(precheck, args=None, kargs=None) Set the callback that will be called before applying the linesearch. Logically collective. Parameters • precheck (SNESLSPreFunction | None) -- The callback. • args (tuple[Any, ...] | None) -- Positional arguments for the callback. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback. Return type None SEE ALSO: SNESLineSearchSetPreCheck Source code at petsc4py/PETSc/SNES.pyx:731 setMaxFunctionEvaluations(max_funcs) Set the maximum allowed number of function evaluations. Collective. SEE ALSO: getMaxFunctionEvaluations, SNESSetTolerances Source code at petsc4py/PETSc/SNES.pyx:1529 Parameters max_funcs (int) Return type None setMaxKSPFailures(max_fails) Set the maximum allowed number of linear solve failures. Collective. SEE ALSO: getMaxKSPFailures, SNESSetMaxLinearSolveFailures Source code at petsc4py/PETSc/SNES.pyx:1615 Parameters max_fails (int) Return type None setMaxStepFailures(max_fails) Set the maximum allowed number of step failures. Collective. SEE ALSO: getMaxStepFailures, SNESSetMaxNonlinearStepFailures Source code at petsc4py/PETSc/SNES.pyx:1574 Parameters max_fails (int) Return type None setMonitor(monitor, args=None, kargs=None) Set the callback used to monitor solver convergence. Logically collective. Parameters • monitor (SNESMonitorFunction | None) -- The callback. • args (tuple[Any, ...] | None) -- Positional arguments for the callback. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback. Return type None SEE ALSO: getMonitor, SNESMonitorSet Source code at petsc4py/PETSc/SNES.pyx:1446 setNGS(ngs, args=None, kargs=None) Set the callback to compute nonlinear Gauss-Seidel. Logically collective. Parameters • ngs (SNESNGSFunction | None) -- The nonlinear Gauss-Seidel callback. • args (tuple[Any, ...] | None) -- Positional arguments for the callback. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback. Return type None SEE ALSO: getNGS, computeNGS, SNESSetNGS Source code at petsc4py/PETSc/SNES.pyx:1088 setNPC(snes) Set the nonlinear preconditioner. Logically collective. SEE ALSO: getNPC, hasNPC, setNPCSide, getNPCSide, SNESSetNPC Source code at petsc4py/PETSc/SNES.pyx:691 Parameters snes (SNES) Return type None setNPCSide(side) Set the nonlinear preconditioning side. Collective. SEE ALSO: setNPC, getNPC, hasNPC, getNPCSide, SNESSetNPCSide Source code at petsc4py/PETSc/SNES.pyx:703 Parameters side (Side) Return type None setNormSchedule(normsched) Set the norm schedule. Collective. SEE ALSO: getNormSchedule, SNESSetNormSchedule Source code at petsc4py/PETSc/SNES.pyx:1253 Parameters normsched (NormSchedule) Return type None setObjective(objective, args=None, kargs=None) Set the callback to compute the objective function. Logically collective. Parameters • objective (SNESObjFunction | None) -- The Jacobian callback. • args (tuple[Any, ...] | None) -- Positional arguments for the callback. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback. Return type None SEE ALSO: getObjective, SNESSetObjective Source code at petsc4py/PETSc/SNES.pyx:982 setOptionsPrefix(prefix) Set the prefix used for searching for options in the database. Logically collective. SEE ALSO: Working with PETSc options, SNESSetOptionsPrefix Source code at petsc4py/PETSc/SNES.pyx:199 Parameters prefix (str | None) Return type None setParamsEW(version=None, rtol_0=None, rtol_max=None, gamma=None, alpha=None, alpha2=None, threshold=None) Set the parameters for the Eisenstat and Walker trick. Logically collective. Parameters • version (int) -- The version of the algorithm. Defaults to CURRENT. • rtol_0 (float) -- The initial relative residual norm. Defaults to CURRENT. • rtol_max (float) -- The maximum relative residual norm. Defaults to CURRENT. • gamma (float) -- Parameter. Defaults to CURRENT. • alpha (float) -- Parameter. Defaults to CURRENT. • alpha2 (float) -- Parameter. Defaults to CURRENT. • threshold (float) -- Parameter. Defaults to CURRENT. Return type None SEE ALSO: setUseEW, getParamsEW, SNESKSPSetParametersEW Source code at petsc4py/PETSc/SNES.pyx:1988 setPatchCellNumbering(sec) Set cell patch numbering. Source code at petsc4py/PETSc/SNES.pyx:2328 Parameters sec (Section) Return type None setPatchComputeFunction(function, args=None, kargs=None) Set patch compute function. Source code at petsc4py/PETSc/SNES.pyx:2381 Return type None setPatchComputeOperator(operator, args=None, kargs=None) Set patch compute operator. Source code at petsc4py/PETSc/SNES.pyx:2373 Return type None setPatchConstructType(typ, operator=None, args=None, kargs=None) Set patch construct type. Source code at petsc4py/PETSc/SNES.pyx:2389 Return type None setPatchDiscretisationInfo(dms, bs, cellNodeMaps, subspaceOffsets, ghostBcNodes, globalBcNodes) Set patch discretisation information. Source code at petsc4py/PETSc/SNES.pyx:2332 Return type None setPythonContext(context) Set the instance of the class implementing the required Python methods. Not collective. SEE ALSO: PETSc Python nonlinear solver type (TODO), getPythonContext Source code at petsc4py/PETSc/SNES.pyx:2204 Parameters context (Any) Return type None setPythonType(py_type) Set the fully qualified Python name of the class to be used. Collective. SEE ALSO: PETSc Python nonlinear solver type (TODO), setPythonContext, getPythonType, ‐ SNESPythonSetType Source code at petsc4py/PETSc/SNES.pyx:2231 Parameters py_type (str) Return type None setResetCounters(reset=True) Set the flag to reset the counters. Collective. SEE ALSO: SNESSetCountersReset Source code at petsc4py/PETSc/SNES.pyx:1431 Parameters reset (bool) Return type None setSolution(vec) Set the vector used to store the solution. Collective. SEE ALSO: getSolution, SNESSetSolution Source code at petsc4py/PETSc/SNES.pyx:1895 Parameters vec (Vec) Return type None setTRTolerances(delta_min=None, delta_max=None, delta_0=None) Set the tolerance parameters used for the trust region. Logically collective. Parameters • delta_min (float) -- The minimum allowed trust region size. Defaults to CURRENT. • delta_max (float) -- The maximum allowed trust region size. Defaults to CURRENT. • delta_0 (float) -- The initial trust region size. Defaults to CURRENT. Return type None SEE ALSO: getTRTolerances, setTRUpdateParameters, SNESNewtonTRSetTolerances Source code at petsc4py/PETSc/SNES.pyx:310 setTRUpdateParameters(eta1=None, eta2=None, eta3=None, t1=None, t2=None) Set the update parameters used for the trust region. Logically collective. Parameters • eta1 (float) -- The step acceptance tolerance. Defaults to CURRENT. • eta2 (float) -- The shrinking tolerance. Defaults to CURRENT. • eta3 (float) -- The enlarging tolerance. Defaults to CURRENT. • t1 (float) -- The shrinking factor. Defaults to CURRENT. • t2 (float) -- The enlarging factor. Defaults to CURRENT. Return type None SEE ALSO: setTRTolerances, getTRUpdateParameters, SNESNewtonTRSetUpdateParameters Source code at petsc4py/PETSc/SNES.pyx:361 setTolerances(rtol=None, atol=None, stol=None, max_it=None) Set the tolerance parameters used in the solver convergence tests. Logically collective. Parameters • rtol (float) -- The relative norm of the residual, or DETERMINE to use the value when the object's type was set. Defaults to CURRENT. • atol (float) -- The absolute norm of the residual, or DETERMINE to use the value when the object's type was set. Defaults to CURRENT. • stol (float) -- The absolute norm of the step, or DETERMINE to use the value when the object's type was set. Defaults to CURRENT. • max_it (int) -- The maximum allowed number of iterations, or DETERMINE to use the value when the object's type was set. Defaults to CURRENT. Use UNLIMITED to have no maximum. Return type None SEE ALSO: getTolerances, SNESSetTolerances Source code at petsc4py/PETSc/SNES.pyx:1156 setType(snes_type) Set the type of the solver. Logically collective. Parameters snes_type (Type | str) -- The type of the solver. Return type None SEE ALSO: getType, SNESSetType Source code at petsc4py/PETSc/SNES.pyx:166 setUp() Set up the internal data structures for using the solver. Collective. SEE ALSO: SNESSetUp Source code at petsc4py/PETSc/SNES.pyx:1665 Return type None setUpMatrices() Ensures that matrices are available for Newton-like methods. Collective. This is only of use to implementers of custom SNES types. SEE ALSO: setUp, SNESSetUpMatrices Source code at petsc4py/PETSc/SNES.pyx:1677 Return type None setUpdate(update, args=None, kargs=None) Set the callback to compute update at the beginning of each step. Logically collective. Parameters • update (SNESUpdateFunction | None) -- The callback. • args (tuple[Any, ...] | None) -- Positional arguments for the callback. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback. Return type None SEE ALSO: getUpdate, SNESSetUpdate Source code at petsc4py/PETSc/SNES.pyx:873 setUseEW(flag=True, *targs, **kargs) Tell the solver to use the Eisenstat-Walker trick. Logically collective. Parameters • flag (bool) -- Whether or not to use the Eisenstat-Walker trick. • *targs (Any) -- Positional arguments for setParamsEW. • **kargs (Any) -- Keyword arguments for setParamsEW. Return type None SEE ALSO: getUseEW, setParamsEW, SNESKSPSetUseEW Source code at petsc4py/PETSc/SNES.pyx:1951 setUseFD(flag=True) Set the boolean flag to use coloring finite-differencing for Jacobian assembly. Logically collective. SEE ALSO: getUseFD Source code at petsc4py/PETSc/SNES.pyx:2121 Return type None setUseKSP(flag=True) Set the boolean flag indicating to use a linear solver. Logically collective. SEE ALSO: getUseKSP Source code at petsc4py/PETSc/SNES.pyx:2065 Return type None setUseMF(flag=True) Set the boolean flag indicating to use matrix-free finite-differencing. Logically collective. SEE ALSO: getUseMF Source code at petsc4py/PETSc/SNES.pyx:2094 Return type None setVariableBounds(xl, xu) Set the vector for the variable bounds. Collective. SEE ALSO: SNESVISetVariableBounds Source code at petsc4py/PETSc/SNES.pyx:2150 Parameters • xl (Vec) • xu (Vec) Return type None solve(b=None, x=None) Solve the nonlinear equations. Collective. Parameters • b (Vec | None) -- The affine right-hand side or None to use zero. • x (Vec | None) -- The starting vector or None to use the vector stored internally. Return type None SEE ALSO: setSolution, getSolution, SNESSolve Source code at petsc4py/PETSc/SNES.pyx:1703 view(viewer=None) View the solver. Collective. Parameters viewer (Viewer | None) -- A Viewer instance or None for the default viewer. Return type None SEE ALSO: SNESView Source code at petsc4py/PETSc/SNES.pyx:113 Attributes Documentation appctx Application context. Source code at petsc4py/PETSc/SNES.pyx:2405 atol Absolute residual tolerance. Source code at petsc4py/PETSc/SNES.pyx:2486 dm DM. Source code at petsc4py/PETSc/SNES.pyx:2415 history Convergence history. Source code at petsc4py/PETSc/SNES.pyx:2538 is_converged Boolean indicating if the solver has converged. Source code at petsc4py/PETSc/SNES.pyx:2558 is_diverged Boolean indicating if the solver has failed. Source code at petsc4py/PETSc/SNES.pyx:2563 is_iterating Boolean indicating if the solver has not converged yet. Source code at petsc4py/PETSc/SNES.pyx:2553 its Number of iterations. Source code at petsc4py/PETSc/SNES.pyx:2522 ksp Linear solver. Source code at petsc4py/PETSc/SNES.pyx:2452 max_funcs Maximum number of function evaluations. Source code at petsc4py/PETSc/SNES.pyx:2512 max_it Maximum number of iterations. Source code at petsc4py/PETSc/SNES.pyx:2502 norm Function norm. Source code at petsc4py/PETSc/SNES.pyx:2530 npc Nonlinear preconditioner. Source code at petsc4py/PETSc/SNES.pyx:2425 reason Converged reason. Source code at petsc4py/PETSc/SNES.pyx:2545 rtol Relative residual tolerance. Source code at petsc4py/PETSc/SNES.pyx:2478 stol Solution update tolerance. Source code at petsc4py/PETSc/SNES.pyx:2494 use_ew Use the Eisenstat-Walker trick. Source code at petsc4py/PETSc/SNES.pyx:2468 use_fd Boolean indicating if the solver uses coloring finite-differencing. Source code at petsc4py/PETSc/SNES.pyx:2578 use_ksp Boolean indicating if the solver uses a linear solver. Source code at petsc4py/PETSc/SNES.pyx:2460 use_mf Boolean indicating if the solver uses matrix-free finite-differencing. Source code at petsc4py/PETSc/SNES.pyx:2570 vec_rhs Right-hand side vector. Source code at petsc4py/PETSc/SNES.pyx:2445 vec_sol Solution vector. Source code at petsc4py/PETSc/SNES.pyx:2435 vec_upd Update vector. Source code at petsc4py/PETSc/SNES.pyx:2440 petsc4py.PETSc.Scatter class petsc4py.PETSc.Scatter Bases: Object Scatter object. The object used to perform data movement between vectors. Scatter is described in the PETSc manual. SEE ALSO: Vec, SF, VecScatter Enumerations ┌──────┬───────────────┐ │ Mode │ Scatter mode. │ ├──────┼───────────────┤ │ Type │ Scatter type. │ └──────┴───────────────┘ petsc4py.PETSc.Scatter.Mode class petsc4py.PETSc.Scatter.Mode Bases: object Scatter mode. Most commonly used scatter modes are: FORWARD Scatter values in the forward direction. REVERSE Scatter values in the reverse direction. SEE ALSO: Scatter.create, Scatter.begin, Scatter.end, ScatterMode Attributes Summary ┌───────────────────────┬───────────────────────────────────────┐ │ FORWARD │ Constant FORWARD of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ FORWARD_LOCAL │ Constant FORWARD_LOCAL of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ REVERSE │ Constant REVERSE of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ REVERSE_LOCAL │ Constant REVERSE_LOCAL of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ SCATTER_FORWARD │ Constant SCATTER_FORWARD of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ SCATTER_FORWARD_LOCAL │ Constant SCATTER_FORWARD_LOCAL of │ │ │ type int │ ├───────────────────────┼───────────────────────────────────────┤ │ SCATTER_REVERSE │ Constant SCATTER_REVERSE of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ SCATTER_REVERSE_LOCAL │ Constant SCATTER_REVERSE_LOCAL of │ │ │ type int │ └───────────────────────┴───────────────────────────────────────┘ Attributes Documentation FORWARD: int = FORWARD Constant FORWARD of type int FORWARD_LOCAL: int = FORWARD_LOCAL Constant FORWARD_LOCAL of type int REVERSE: int = REVERSE Constant REVERSE of type int REVERSE_LOCAL: int = REVERSE_LOCAL Constant REVERSE_LOCAL of type int SCATTER_FORWARD: int = SCATTER_FORWARD Constant SCATTER_FORWARD of type int SCATTER_FORWARD_LOCAL: int = SCATTER_FORWARD_LOCAL Constant SCATTER_FORWARD_LOCAL of type int SCATTER_REVERSE: int = SCATTER_REVERSE Constant SCATTER_REVERSE of type int SCATTER_REVERSE_LOCAL: int = SCATTER_REVERSE_LOCAL Constant SCATTER_REVERSE_LOCAL of type int petsc4py.PETSc.Scatter.Type class petsc4py.PETSc.Scatter.Type Bases: object Scatter type. SEE ALSO: VecScatterType Attributes Summary ┌────────────┬───────────────────────────────┐ │ ALLGATHER │ Object ALLGATHER of type str │ ├────────────┼───────────────────────────────┤ │ ALLGATHERV │ Object ALLGATHERV of type str │ ├────────────┼───────────────────────────────┤ │ ALLTOALL │ Object ALLTOALL of type str │ ├────────────┼───────────────────────────────┤ │ BASIC │ Object BASIC of type str │ ├────────────┼───────────────────────────────┤ │ GATHER │ Object GATHER of type str │ ├────────────┼───────────────────────────────┤ │ GATHERV │ Object GATHERV of type str │ ├────────────┼───────────────────────────────┤ │ NEIGHBOR │ Object NEIGHBOR of type str │ ├────────────┼───────────────────────────────┤ │ WINDOW │ Object WINDOW of type str │ └────────────┴───────────────────────────────┘ Attributes Documentation ALLGATHER: str = ALLGATHER Object ALLGATHER of type str ALLGATHERV: str = ALLGATHERV Object ALLGATHERV of type str ALLTOALL: str = ALLTOALL Object ALLTOALL of type str BASIC: str = BASIC Object BASIC of type str GATHER: str = GATHER Object GATHER of type str GATHERV: str = GATHERV Object GATHERV of type str NEIGHBOR: str = NEIGHBOR Object NEIGHBOR of type str WINDOW: str = WINDOW Object WINDOW of type str Methods Summary ┌───────────────────────────────────────┬───────────────────────────────────────┐ │ begin(vec_from, vec_to[, addv, mode]) │ Begin a generalized scatter from one │ │ │ vector into another. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ copy() │ Return a copy of the scatter. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ create(vec_from, is_from, vec_to, │ Create a scatter object. │ │ is_to) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy the scatter. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ end(vec_from, vec_to[, addv, mode]) │ Complete a generalized scatter from │ │ │ one vector into another. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getType() │ Return the type of the scatter. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ scatter(vec_from, vec_to[, addv, │ Perform a generalized scatter from │ │ mode]) │ one vector into another. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFromOptions() │ Configure the scatter from the │ │ │ options database. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setType(scatter_type) │ Set the type of the scatter. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setUp() │ Set up the internal data structures │ │ │ for using the scatter. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ toAll(vec) │ Create a scatter that communicates a │ │ │ vector to all sharing processes. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ toZero(vec) │ Create a scatter that communicates a │ │ │ vector to rank zero. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ View the scatter. │ └───────────────────────────────────────┴───────────────────────────────────────┘ Methods Documentation begin(vec_from, vec_to, addv=None, mode=None) Begin a generalized scatter from one vector into another. Collective. This call has to be concluded with a call to end. For additional details on the Parameters, see scatter. SEE ALSO: create, end, VecScatterBegin Source code at petsc4py/PETSc/Scatter.pyx:262 Parameters • vec_from (Vec) • vec_to (Vec) • addv (InsertModeSpec) • mode (ScatterModeSpec) Return type None copy() Return a copy of the scatter. Source code at petsc4py/PETSc/Scatter.pyx:199 Return type Scatter create(vec_from, is_from, vec_to, is_to) Create a scatter object. Collective. Parameters • vec_from (Vec) -- Representative vector from which to scatter the data. • is_from (IS) -- Indices of vec_from to scatter. If None, use all indices. • vec_to (Vec) -- Representative vector to which scatter the data. • is_to (IS) -- Indices of vec_to where to receive. If None, use all indices. Return type Self Examples The scatter object can be used to repeatedly perform data movement. It is the PETSc equivalent of NumPy-like indexing and slicing, with support for parallel communications: >>> revmode = PETSc.Scatter.Mode.REVERSE >>> v1 = PETSc.Vec().createWithArray([1, 2, 3]) >>> v2 = PETSc.Vec().createWithArray([0, 0, 0]) >>> sct = PETSc.Scatter().create(v1,None,v2,None) >>> sct.scatter(v1,v2) # v2[:] = v1[:] >>> sct.scatter(v2,v1,mode=revmode) # v1[:] = v2[:] >>> revmode = PETSc.Scatter.Mode.REVERSE >>> v1 = PETSc.Vec().createWithArray([1, 2, 3, 4]) >>> v2 = PETSc.Vec().createWithArray([0, 0]) >>> is1 = PETSc.IS().createStride(2, 3, -2) >>> sct = PETSc.Scatter().create(v1,is1,v2,None) >>> sct.scatter(v1,v2) # v2[:] = v1[3:0:-2] >>> sct.scatter(v2,v1,mode=revmode) # v1[3:0:-2] = v2[:] SEE ALSO: IS, VecScatterCreate Source code at petsc4py/PETSc/Scatter.pyx:90 destroy() Destroy the scatter. Collective. SEE ALSO: VecScatterDestroy Source code at petsc4py/PETSc/Scatter.pyx:77 Return type Self end(vec_from, vec_to, addv=None, mode=None) Complete a generalized scatter from one vector into another. Collective. This call has to be preceded by a call to begin. For additional details on the Parameters, see scatter. SEE ALSO: create, begin, VecScatterEnd Source code at petsc4py/PETSc/Scatter.pyx:285 Parameters • vec_from (Vec) • vec_to (Vec) • addv (InsertModeSpec) • mode (ScatterModeSpec) Return type None getType() Return the type of the scatter. Not collective. SEE ALSO: setType, VecScatterGetType Source code at petsc4py/PETSc/Scatter.pyx:160 Return type str scatter(vec_from, vec_to, addv=None, mode=None) Perform a generalized scatter from one vector into another. Collective. Parameters • vec_from (Vec) -- The source vector. • vec_to (Vec) -- The destination vector. • addv (InsertModeSpec) -- Insertion mode. • mode (ScatterModeSpec) -- Scatter mode. Return type None SEE ALSO: create, begin, end, VecScatterBegin, VecScatterEnd Source code at petsc4py/PETSc/Scatter.pyx:308 setFromOptions() Configure the scatter from the options database. Collective. SEE ALSO: Working with PETSc options, VecScatterSetFromOptions Source code at petsc4py/PETSc/Scatter.pyx:174 Return type None setType(scatter_type) Set the type of the scatter. Logically collective. SEE ALSO: getType, VecScatterSetType Source code at petsc4py/PETSc/Scatter.pyx:146 Parameters scatter_type (Type | str) Return type None setUp() Set up the internal data structures for using the scatter. Collective. SEE ALSO: VecScatterSetUp Source code at petsc4py/PETSc/Scatter.pyx:186 Return type Self classmethod toAll(vec) Create a scatter that communicates a vector to all sharing processes. Collective. Parameters vec (Vec) -- The vector to scatter from. Return type tuple[Scatter, Vec] Notes The created scatter will have the same communicator of vec. The method also returns an output vector of appropriate size to contain the result of the operation. SEE ALSO: toZero, VecScatterCreateToAll Source code at petsc4py/PETSc/Scatter.pyx:205 classmethod toZero(vec) Create a scatter that communicates a vector to rank zero. Collective. Parameters vec (Vec) -- The vector to scatter from. Return type tuple[Scatter, Vec] Notes The created scatter will have the same communicator of vec. The method also returns an output vector of appropriate size to contain the result of the operation. SEE ALSO: toAll, VecScatterCreateToZero Source code at petsc4py/PETSc/Scatter.pyx:233 view(viewer=None) View the scatter. Collective. Parameters viewer (Viewer | None) -- A Viewer instance or None for the default viewer. Return type None SEE ALSO: VecScatterView Source code at petsc4py/PETSc/Scatter.pyx:58 petsc4py.PETSc.ScatterMode class petsc4py.PETSc.ScatterMode Bases: object Scatter mode. Most commonly used scatter modes are: FORWARD Scatter values in the forward direction. REVERSE Scatter values in the reverse direction. SEE ALSO: Scatter.create, Scatter.begin, Scatter.end, ScatterMode Attributes Summary ┌───────────────────────┬───────────────────────────────────────┐ │ FORWARD │ Constant FORWARD of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ FORWARD_LOCAL │ Constant FORWARD_LOCAL of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ REVERSE │ Constant REVERSE of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ REVERSE_LOCAL │ Constant REVERSE_LOCAL of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ SCATTER_FORWARD │ Constant SCATTER_FORWARD of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ SCATTER_FORWARD_LOCAL │ Constant SCATTER_FORWARD_LOCAL of │ │ │ type int │ ├───────────────────────┼───────────────────────────────────────┤ │ SCATTER_REVERSE │ Constant SCATTER_REVERSE of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ SCATTER_REVERSE_LOCAL │ Constant SCATTER_REVERSE_LOCAL of │ │ │ type int │ └───────────────────────┴───────────────────────────────────────┘ Attributes Documentation FORWARD: int = FORWARD Constant FORWARD of type int FORWARD_LOCAL: int = FORWARD_LOCAL Constant FORWARD_LOCAL of type int REVERSE: int = REVERSE Constant REVERSE of type int REVERSE_LOCAL: int = REVERSE_LOCAL Constant REVERSE_LOCAL of type int SCATTER_FORWARD: int = SCATTER_FORWARD Constant SCATTER_FORWARD of type int SCATTER_FORWARD_LOCAL: int = SCATTER_FORWARD_LOCAL Constant SCATTER_FORWARD_LOCAL of type int SCATTER_REVERSE: int = SCATTER_REVERSE Constant SCATTER_REVERSE of type int SCATTER_REVERSE_LOCAL: int = SCATTER_REVERSE_LOCAL Constant SCATTER_REVERSE_LOCAL of type int petsc4py.PETSc.Section class petsc4py.PETSc.Section Bases: Object Mapping from integers in a range to unstructured set of integers. Methods Summary ┌───────────────────────────────────────┬───────────────────────────────────────┐ │ addConstraintDof(point, numDof) │ Increment the number of constrained │ │ │ DOFs for a given point. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ addDof(point, numDof) │ Add numDof degrees of freedom │ │ │ associated with a given point. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ addFieldConstraintDof(point, field, │ Add numDof constrained DOFs for a │ │ numDof) │ given field on a point. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ addFieldDof(point, field, numDof) │ Add numDof DOFs associated with a │ │ │ field on a given point. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ clone() │ Return a copy of the section. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ create([comm]) │ Allocate a section and set the map │ │ │ contents to the default. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createGlobalSection(sf) │ Create a section describing the │ │ │ global field layout. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy a section. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getChart() │ Return the range in which points │ │ │ (indices) lie for this section. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getConstrainedStorageSize() │ Return the size capable of holding │ │ │ all unconstrained DOFs in a section. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getConstraintDof(point) │ Return the number of constrained DOFs │ │ │ associated with a given point. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getConstraintIndices(point) │ Return the point DOFs numbers which │ │ │ are constrained for a given point. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getDof(point) │ Return the number of degrees of │ │ │ freedom for a given point. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getFieldComponents(field) │ Return the number of field components │ │ │ for the given field. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getFieldConstraintDof(point, field) │ Return the number of constrained DOFs │ │ │ for a given field on a point. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getFieldConstraintIndices(point, │ Return the field DOFs numbers, in [0, │ │ field) │ DOFs), which are constrained. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getFieldDof(point, field) │ Return the number of DOFs associated │ │ │ with a field on a given point. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getFieldName(field) │ Return the name of a field in the │ │ │ section. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getFieldOffset(point, field) │ Return the offset for the field DOFs │ │ │ on the given point. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getMaxDof() │ Return the maximum number of DOFs for │ │ │ any point in the section. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getNumFields() │ Return the number of fields in a │ │ │ section. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getOffset(point) │ Return the offset for the DOFs │ │ │ associated with the given point. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getOffsetRange() │ Return the full range of offsets, │ │ │ [start, end), for a section. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getPermutation() │ Return the permutation that was set │ │ │ with setPermutation. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getStorageSize() │ Return the size capable of holding │ │ │ all the DOFs defined in a section. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ reset() │ Free all section data. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setChart(pStart, pEnd) │ Set the range in which points │ │ │ (indices) lie for this section. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setConstraintDof(point, numDof) │ Set the number of constrained DOFs │ │ │ associated with a given point. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setConstraintIndices(point, indices) │ Set the point DOFs numbers, in [0, │ │ │ DOFs), which are constrained. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setDof(point, numDof) │ Set the number of degrees of freedom │ │ │ associated with a given point. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFieldComponents(field, numComp) │ Set the number of field components │ │ │ for the given field. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFieldConstraintDof(point, field, │ Set the number of constrained DOFs │ │ numDof) │ for a given field on a point. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFieldConstraintIndices(point, │ Set the field DOFs numbers, in [0, │ │ field, indices) │ DOFs), which are constrained. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFieldDof(point, field, numDof) │ Set the number of DOFs associated │ │ │ with a field on a given point. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFieldName(field, fieldName) │ Set the name of a field in the │ │ │ section. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFieldOffset(point, field, offset) │ Set the offset for the DOFs on the │ │ │ given field at a point. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setNumFields(numFields) │ Set the number of fields in a │ │ │ section. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setOffset(point, offset) │ Set the offset for the DOFs │ │ │ associated with the given point. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setPermutation(perm) │ Set the permutation for [0, pEnd - │ │ │ pStart). │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setUp() │ Calculate offsets. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ View the section. │ └───────────────────────────────────────┴───────────────────────────────────────┘ Methods Documentation addConstraintDof(point, numDof) Increment the number of constrained DOFs for a given point. Not collective. Parameters • point (int) -- The point. • numDof (int) -- The number of additional DOFs which are fixed by constraints. Return type None SEE ALSO: setConstraintDof, getConstraintDof, PetscSectionAddConstraintDof Source code at petsc4py/PETSc/Section.pyx:485 addDof(point, numDof) Add numDof degrees of freedom associated with a given point. Not collective. Parameters • point (int) -- The point. • numDof (int) -- The number of additional DOFs. Return type None SEE ALSO: setDof, getDof, PetscSectionAddDof Source code at petsc4py/PETSc/Section.pyx:354 addFieldConstraintDof(point, field, numDof) Add numDof constrained DOFs for a given field on a point. Not collective. Parameters • point (int) -- The point. • field (int) -- The field. • numDof (int) -- The number of additional DOFs which are fixed by constraints. Return type None SEE ALSO: setFieldConstraintDof, getFieldConstraintDof, PetscSectionAddFieldConstraintDof Source code at petsc4py/PETSc/Section.pyx:557 addFieldDof(point, field, numDof) Add numDof DOFs associated with a field on a given point. Not collective. Parameters • point (int) -- The point. • field (int) -- The field. • numDof (int) -- The number of additional DOFs. Return type None SEE ALSO: setFieldDof, getFieldDof, PetscSectionAddFieldDof Source code at petsc4py/PETSc/Section.pyx:421 clone() Return a copy of the section. Collective. The copy is shallow, if possible. SEE ALSO: PetscSectionClone Source code at petsc4py/PETSc/Section.pyx:80 Return type Section create(comm=None) Allocate a section and set the map contents to the default. Collective. Typical calling sequence: - create - setNumFields - setChart - setDof - setUp - getOffset - destroy The Section object and methods are intended to be used in the PETSc Vec and Mat implementations. The indices returned by the Section are appropriate for the kind of Vec it is associated with. For example, if the vector being indexed is a local vector, we call the section a local section. If the section indexes a global vector, we call it a global section. For parallel vectors, like global vectors, we use negative indices to indicate DOFs owned by other processes. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: PetscSectionCreate Source code at petsc4py/PETSc/Section.pyx:42 createGlobalSection(sf) Create a section describing the global field layout. Collective. The section describes the global field layout using the local section and an SF describing the section point overlap. If we have a set of local sections defining the layout of a set of local vectors, and also an SF to determine which section points are shared and the ownership, we can calculate a global section defining the parallel data layout, and the associated global vector. This gives negative sizes and offsets to points not owned by this process. includeConstraints and localOffsets parameters of the C API are always set to False. Parameters sf (SF) -- The SF describing the parallel layout of the section points (leaves are unowned local points). Return type Section SEE ALSO: PetscSectionCreateGlobalSection Source code at petsc4py/PETSc/Section.pyx:846 destroy() Destroy a section. Not collective. SEE ALSO: PetscSectionDestroy Source code at petsc4py/PETSc/Section.pyx:29 Return type Self getChart() Return the range in which points (indices) lie for this section. Not collective. The range is [pStart, pEnd), i.e., from the first point to one past the last point. SEE ALSO: PetscSectionGetChart Source code at petsc4py/PETSc/Section.pyx:238 Return type tuple[int, int] getConstrainedStorageSize() Return the size capable of holding all unconstrained DOFs in a section. Not collective. SEE ALSO: getStorageSize, PetscSectionGetConstrainedStorageSize Source code at petsc4py/PETSc/Section.pyx:720 Return type int getConstraintDof(point) Return the number of constrained DOFs associated with a given point. Not collective. Parameters point (int) -- The point. Return type int SEE ALSO: setConstraintDof, PetscSectionGetConstraintDof Source code at petsc4py/PETSc/Section.pyx:445 getConstraintIndices(point) Return the point DOFs numbers which are constrained for a given point. Not collective. The range is in [0, DOFs). Parameters point (int) -- The point. Return type ArrayInt SEE ALSO: setConstraintIndices, PetscSectionGetConstraintIndices Source code at petsc4py/PETSc/Section.pyx:586 getDof(point) Return the number of degrees of freedom for a given point. Not collective. In a global section, this value will be negative for points not owned by this process. Parameters point (int) -- The point. Return type int SEE ALSO: setDof, addDof, PetscSectionGetDof Source code at petsc4py/PETSc/Section.pyx:311 getFieldComponents(field) Return the number of field components for the given field. Not collective. Parameters field (int) -- The field number. Return type int SEE ALSO: setFieldComponents, PetscSectionGetFieldComponents Source code at petsc4py/PETSc/Section.pyx:198 getFieldConstraintDof(point, field) Return the number of constrained DOFs for a given field on a point. Not collective. Parameters • point (int) -- The point. • field (int) -- The field. Return type int SEE ALSO: setFieldConstraintDof, PetscSectionGetFieldConstraintDof Source code at petsc4py/PETSc/Section.pyx:506 getFieldConstraintIndices(point, field) Return the field DOFs numbers, in [0, DOFs), which are constrained. Not collective. The constrained DOFs are sorted in ascending order. Parameters • field (int) -- The field number. • point (int) -- The point. Return type ArrayInt SEE ALSO: setFieldConstraintIndices, PetscSectionGetFieldConstraintIndices Source code at petsc4py/PETSc/Section.pyx:634 getFieldDof(point, field) Return the number of DOFs associated with a field on a given point. Not collective. Parameters • point (int) -- The point. • field (int) -- The field. Return type int SEE ALSO: setFieldDof, PetscSectionGetFieldDof Source code at petsc4py/PETSc/Section.pyx:375 getFieldName(field) Return the name of a field in the section. Not collective. Parameters field (int) -- The field number. Return type str SEE ALSO: setFieldName, PetscSectionGetFieldName Source code at petsc4py/PETSc/Section.pyx:156 getFieldOffset(point, field) Return the offset for the field DOFs on the given point. Not collective. In a global section, this offset will be negative for points not owned by this process. Parameters • point (int) -- The point. • field (int) -- The field. Return type int SEE ALSO: setFieldOffset, PetscSectionGetFieldOffset Source code at petsc4py/PETSc/Section.pyx:779 getMaxDof() Return the maximum number of DOFs for any point in the section. Not collective. SEE ALSO: PetscSectionGetMaxDof Source code at petsc4py/PETSc/Section.pyx:692 Return type int getNumFields() Return the number of fields in a section. Not collective. Returns 0 if no fields were defined. SEE ALSO: setNumFields, PetscSectionGetNumFields Source code at petsc4py/PETSc/Section.pyx:122 Return type int getOffset(point) Return the offset for the DOFs associated with the given point. Not collective. In a global section, this offset will be negative for points not owned by this process. Parameters point (int) -- The point. Return type int SEE ALSO: setOffset, PetscSectionGetOffset Source code at petsc4py/PETSc/Section.pyx:734 getOffsetRange() Return the full range of offsets, [start, end), for a section. Not collective. SEE ALSO: PetscSectionGetOffsetRange Source code at petsc4py/PETSc/Section.pyx:831 Return type tuple[int, int] getPermutation() Return the permutation that was set with setPermutation. Not collective. SEE ALSO: setPermutation, PetscSectionGetPermutation Source code at petsc4py/PETSc/Section.pyx:279 Return type IS getStorageSize() Return the size capable of holding all the DOFs defined in a section. Not collective. SEE ALSO: getConstrainedStorageSize, PetscSectionGetStorageSize Source code at petsc4py/PETSc/Section.pyx:706 Return type int reset() Free all section data. Not collective. SEE ALSO: PetscSectionReset Source code at petsc4py/PETSc/Section.pyx:110 Return type None setChart(pStart, pEnd) Set the range in which points (indices) lie for this section. Not collective. The range is [pStart, pEnd), i.e., from the first point to one past the last point. Parameters • pStart (int) -- The first point. • pEnd (int) -- One past the last point. Return type None SEE ALSO: PetscSectionSetChart Source code at petsc4py/PETSc/Section.pyx:255 setConstraintDof(point, numDof) Set the number of constrained DOFs associated with a given point. Not collective. Parameters • point (int) -- The point. • numDof (int) -- The number of DOFs which are fixed by constraints. Return type None SEE ALSO: getConstraintDof, addConstraintDof, PetscSectionSetConstraintDof Source code at petsc4py/PETSc/Section.pyx:464 setConstraintIndices(point, indices) Set the point DOFs numbers, in [0, DOFs), which are constrained. Not collective. Parameters • point (int) -- The point. • indices (Sequence[int]) -- The constrained DOFs. Return type None SEE ALSO: getConstraintIndices, PetscSectionSetConstraintIndices Source code at petsc4py/PETSc/Section.pyx:610 setDof(point, numDof) Set the number of degrees of freedom associated with a given point. Not collective. Parameters • point (int) -- The point. • numDof (int) -- The number of DOFs. Return type None SEE ALSO: getDof, addDof, PetscSectionSetDof Source code at petsc4py/PETSc/Section.pyx:333 setFieldComponents(field, numComp) Set the number of field components for the given field. Not collective. Parameters • field (int) -- The field number. • numComp (int) -- The number of field components. Return type None SEE ALSO: getFieldComponents, PetscSectionSetFieldComponents Source code at petsc4py/PETSc/Section.pyx:217 setFieldConstraintDof(point, field, numDof) Set the number of constrained DOFs for a given field on a point. Not collective. Parameters • point (int) -- The point. • field (int) -- The field. • numDof (int) -- The number of DOFs which are fixed by constraints. Return type None SEE ALSO: getFieldConstraintDof, addFieldConstraintDof, PetscSectionSetFieldConstraintDof Source code at petsc4py/PETSc/Section.pyx:528 setFieldConstraintIndices(point, field, indices) Set the field DOFs numbers, in [0, DOFs), which are constrained. Not collective. Parameters • point (int) -- The point. • field (int) -- The field number. • indices (Sequence[int]) -- The constrained DOFs. Return type None SEE ALSO: getFieldConstraintIndices, PetscSectionSetFieldConstraintIndices Source code at petsc4py/PETSc/Section.pyx:661 setFieldDof(point, field, numDof) Set the number of DOFs associated with a field on a given point. Not collective. Parameters • point (int) -- The point. • field (int) -- The field. • numDof (int) -- The number of DOFs. Return type None SEE ALSO: getFieldDof, addFieldDof, PetscSectionSetFieldDof Source code at petsc4py/PETSc/Section.pyx:397 setFieldName(field, fieldName) Set the name of a field in the section. Not collective. Parameters • field (int) -- The field number. • fieldName (str) -- The field name. Return type None SEE ALSO: getFieldName, PetscSectionSetFieldName Source code at petsc4py/PETSc/Section.pyx:176 setFieldOffset(point, field, offset) Set the offset for the DOFs on the given field at a point. Not collective. The user usually does not call this function, but uses setUp. Parameters • point (int) -- The point. • field (int) -- The field. • offset (int) -- The offset. Return type None SEE ALSO: getFieldOffset, PetscSectionSetFieldOffset Source code at petsc4py/PETSc/Section.pyx:805 setNumFields(numFields) Set the number of fields in a section. Not collective. Parameters numFields (int) -- The number of fields. Return type None SEE ALSO: getNumFields, PetscSectionSetNumFields Source code at petsc4py/PETSc/Section.pyx:138 setOffset(point, offset) Set the offset for the DOFs associated with the given point. Not collective. The user usually does not call this function, but uses setUp. Parameters • point (int) -- The point. • offset (int) -- The offset. Return type None SEE ALSO: getOffset, PetscSectionSetOffset Source code at petsc4py/PETSc/Section.pyx:756 setPermutation(perm) Set the permutation for [0, pEnd - pStart). Not collective. Parameters perm (IS) -- The permutation of points. Return type None SEE ALSO: getPermutation, PetscSectionSetPermutation Source code at petsc4py/PETSc/Section.pyx:294 setUp() Calculate offsets. Not collective. Offsets are based on the number of degrees of freedom for each point. SEE ALSO: PetscSectionSetUp Source code at petsc4py/PETSc/Section.pyx:96 Return type None view(viewer=None) View the section. Collective. Parameters viewer (Viewer | None) -- A Viewer to display the section. Return type None SEE ALSO: PetscSectionView Source code at petsc4py/PETSc/Section.pyx:10 petsc4py.PETSc.Space class petsc4py.PETSc.Space Bases: Object Function space object. Enumerations ┌──────┬───────────────────────────┐ │ Type │ The function space types. │ └──────┴───────────────────────────┘ petsc4py.PETSc.Space.Type class petsc4py.PETSc.Space.Type Bases: object The function space types. Attributes Summary ┌────────────┬───────────────────────────────┐ │ POINT │ Object POINT of type str │ ├────────────┼───────────────────────────────┤ │ POLYNOMIAL │ Object POLYNOMIAL of type str │ ├────────────┼───────────────────────────────┤ │ PTRIMMED │ Object PTRIMMED of type str │ ├────────────┼───────────────────────────────┤ │ SUBSPACE │ Object SUBSPACE of type str │ ├────────────┼───────────────────────────────┤ │ SUM │ Object SUM of type str │ ├────────────┼───────────────────────────────┤ │ TENSOR │ Object TENSOR of type str │ ├────────────┼───────────────────────────────┤ │ WXY │ Object WXY of type str │ └────────────┴───────────────────────────────┘ Attributes Documentation POINT: str = POINT Object POINT of type str POLYNOMIAL: str = POLYNOMIAL Object POLYNOMIAL of type str PTRIMMED: str = PTRIMMED Object PTRIMMED of type str SUBSPACE: str = SUBSPACE Object SUBSPACE of type str SUM: str = SUM Object SUM of type str TENSOR: str = TENSOR Object TENSOR of type str WXY: str = WXY Object WXY of type str Methods Summary ┌──────────────────────────────────────┬───────────────────────────────────────┐ │ create([comm]) │ Create an empty Space object. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy the Space object. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ getDegree() │ Return the polynomial degrees that │ │ │ characterize this space. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ getDimension() │ Return the number of basis vectors. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ getNumComponents() │ Return the number of components for │ │ │ this space. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ getNumVariables() │ Return the number of variables for │ │ │ this space. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ getPTrimmedFormDegree() │ Return the form degree of the trimmed │ │ │ polynomials. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ getPointPoints() │ Return the evaluation points for the │ │ │ space as the points of a quad. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ getPolynomialTensor() │ Return whether a function space is a │ │ │ space of tensor polynomials. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ getSumConcatenate() │ Return the concatenate flag for this │ │ │ space. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ getSumNumSubspaces() │ Return the number of spaces in the │ │ │ sum. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ getSumSubspace(s) │ Return a space in the sum. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ getTensorNumSubspaces() │ Return the number of spaces in the │ │ │ tensor product. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ getTensorSubspace(s) │ Return a space in the tensor product. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ getType() │ Return the type of the space object. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ setDegree(degree, maxDegree) │ Set the degree of approximation for │ │ │ this space. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ setFromOptions() │ Set parameters in Space from the │ │ │ options database. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ setNumComponents(nc) │ Set the number of components for this │ │ │ space. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ setNumVariables(n) │ Set the number of variables for this │ │ │ space. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ setPTrimmedFormDegree(formDegree) │ Set the form degree of the trimmed │ │ │ polynomials. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ setPointPoints(quad) │ Set the evaluation points for the │ │ │ space to be based on a quad. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ setPolynomialTensor(tensor) │ Set whether a function space is a │ │ │ space of tensor polynomials. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ setSumConcatenate(concatenate) │ Set the concatenate flag for this │ │ │ space. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ setSumNumSubspaces(numSumSpaces) │ Set the number of spaces in the sum. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ setSumSubspace(s, subsp) │ Set a space in the sum. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ setTensorNumSubspaces(numTensSpaces) │ Set the number of spaces in the │ │ │ tensor product. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ setTensorSubspace(s, subsp) │ Set a space in the tensor product. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ setType(space_type) │ Build a particular type of space. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ setUp() │ Construct data structures for the │ │ │ Space. │ ├──────────────────────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ View a Space. │ └──────────────────────────────────────┴───────────────────────────────────────┘ Methods Documentation create(comm=None) Create an empty Space object. Collective. The type can then be set with setType. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: PetscSpaceCreate Source code at petsc4py/PETSc/Space.pyx:36 destroy() Destroy the Space object. Collective. SEE ALSO: PetscSpaceDestroy Source code at petsc4py/PETSc/Space.pyx:59 Return type Self getDegree() Return the polynomial degrees that characterize this space. Not collective. Returns • minDegree (int) -- The degree of the largest polynomial space contained in the space. • maxDegree (int) -- The degree of the smallest polynomial space containing the space. Return type tuple[int, int] SEE ALSO: setDegree, PetscSpaceGetDegree Source code at petsc4py/PETSc/Space.pyx:117 getDimension() Return the number of basis vectors. Not collective. SEE ALSO: PetscSpaceGetDimension Source code at petsc4py/PETSc/Space.pyx:103 Return type int getNumComponents() Return the number of components for this space. Not collective. SEE ALSO: setNumComponents, PetscSpaceGetNumComponents Source code at petsc4py/PETSc/Space.pyx:195 Return type int getNumVariables() Return the number of variables for this space. Not collective. SEE ALSO: setNumVariables, PetscSpaceGetNumVariables Source code at petsc4py/PETSc/Space.pyx:163 Return type int getPTrimmedFormDegree() Return the form degree of the trimmed polynomials. Not collective. SEE ALSO: setPTrimmedFormDegree, PetscSpacePTrimmedGetFormDegree Source code at petsc4py/PETSc/Space.pyx:546 Return type int getPointPoints() Return the evaluation points for the space as the points of a quad. Logically collective. SEE ALSO: setPointPoints, PetscSpacePointGetPoints Source code at petsc4py/PETSc/Space.pyx:513 Return type Quad getPolynomialTensor() Return whether a function space is a space of tensor polynomials. Not collective. Return True if a function space is a space of tensor polynomials (the space is spanned by polynomials whose degree in each variable is bounded by the given order), as opposed to polynomials (the space is spanned by polynomials whose total degree—summing over all variables is bounded by the given order). SEE ALSO: setPolynomialTensor, PetscSpacePolynomialGetTensor Source code at petsc4py/PETSc/Space.pyx:448 Return type bool getSumConcatenate() Return the concatenate flag for this space. Not collective. A concatenated sum space will have the number of components equal to the sum of the number of components of all subspaces. A non-concatenated, or direct sum space will have the same number of components as its subspaces. SEE ALSO: setSumConcatenate, PetscSpaceSumGetConcatenate Source code at petsc4py/PETSc/Space.pyx:261 Return type bool getSumNumSubspaces() Return the number of spaces in the sum. Not collective. SEE ALSO: setSumNumSubspaces, PetscSpaceSumGetNumSubspaces Source code at petsc4py/PETSc/Space.pyx:304 Return type int getSumSubspace(s) Return a space in the sum. Not collective. Parameters s (int) -- The space number. Return type Space SEE ALSO: setSumSubspace, PetscSpaceSumGetSubspace Source code at petsc4py/PETSc/Space.pyx:318 getTensorNumSubspaces() Return the number of spaces in the tensor product. Not collective. SEE ALSO: setTensorNumSubspaces, PetscSpaceTensorGetNumSubspaces Source code at petsc4py/PETSc/Space.pyx:376 Return type int getTensorSubspace(s) Return a space in the tensor product. Not collective. Parameters s (int) -- The space number. Return type Space SEE ALSO: setTensorSubspace, PetscSpaceTensorGetSubspace Source code at petsc4py/PETSc/Space.pyx:410 getType() Return the type of the space object. Not collective. SEE ALSO: setType, PetscSpaceGetType Source code at petsc4py/PETSc/Space.pyx:227 Return type str setDegree(degree, maxDegree) Set the degree of approximation for this space. Logically collective. One of degree and maxDegree can be None. Parameters • degree (int | None) -- The degree of the largest polynomial space contained in the space. • maxDegree (int | None) -- The degree of the largest polynomial space containing the space. Return type None SEE ALSO: getDegree, PetscSpaceSetDegree Source code at petsc4py/PETSc/Space.pyx:138 setFromOptions() Set parameters in Space from the options database. Collective. SEE ALSO: Working with PETSc options, PetscSpaceSetFromOptions Source code at petsc4py/PETSc/Space.pyx:91 Return type None setNumComponents(nc) Set the number of components for this space. Logically collective. Parameters nc (int) -- The number of components. Return type None SEE ALSO: getNumComponents, PetscSpaceSetNumComponents Source code at petsc4py/PETSc/Space.pyx:209 setNumVariables(n) Set the number of variables for this space. Logically collective. Parameters n (int) -- The number of variables (x, y, z etc.). Return type None SEE ALSO: getNumVariables, PetscSpaceSetNumVariables Source code at petsc4py/PETSc/Space.pyx:177 setPTrimmedFormDegree(formDegree) Set the form degree of the trimmed polynomials. Logically collective. Parameters formDegree (int) -- The form degree. Return type None SEE ALSO: getPTrimmedFormDegree, PetscSpacePTrimmedSetFormDegree Source code at petsc4py/PETSc/Space.pyx:528 setPointPoints(quad) Set the evaluation points for the space to be based on a quad. Logically collective. Sets the evaluation points for the space to coincide with the points of a quadrature rule. Parameters quad (Quad) -- The Quad defining the points. Return type None SEE ALSO: getPointPoints, PetscSpacePointSetPoints Source code at petsc4py/PETSc/Space.pyx:493 setPolynomialTensor(tensor) Set whether a function space is a space of tensor polynomials. Logically collective. Set to True for a function space which is a space of tensor polynomials (the space is spanned by polynomials whose degree in each variable is bounded by the given order), as opposed to polynomials (the space is spanned by polynomials whose total degree—summing over all variables is bounded by the given order). Parameters tensor (bool) -- True for a tensor polynomial space, False for a polynomial space. Return type None SEE ALSO: getPolynomialTensor, PetscSpacePolynomialSetTensor Source code at petsc4py/PETSc/Space.pyx:468 setSumConcatenate(concatenate) Set the concatenate flag for this space. Logically collective. A concatenated sum space will have the number of components equal to the sum of the number of components of all subspaces. A non-concatenated, or direct sum space will have the same number of components as its subspaces. Parameters concatenate (bool) -- True if subspaces are concatenated components, False if direct summands. Return type None SEE ALSO: getSumConcatenate, PetscSpaceSumSetConcatenate Source code at petsc4py/PETSc/Space.pyx:280 setSumNumSubspaces(numSumSpaces) Set the number of spaces in the sum. Logically collective. Parameters numSumSpaces (int) -- The number of spaces. Return type None SEE ALSO: getSumNumSubspaces, PetscSpaceSumSetNumSubspaces Source code at petsc4py/PETSc/Space.pyx:358 setSumSubspace(s, subsp) Set a space in the sum. Logically collective. Parameters • s (int) -- The space number. • subsp (Space) -- The number of spaces. Return type None SEE ALSO: getSumSubspace, PetscSpaceSumSetSubspace Source code at petsc4py/PETSc/Space.pyx:338 setTensorNumSubspaces(numTensSpaces) Set the number of spaces in the tensor product. Logically collective. Parameters numTensSpaces (int) -- The number of spaces. Return type None SEE ALSO: getTensorNumSubspaces, PetscSpaceTensorSetNumSubspaces Source code at petsc4py/PETSc/Space.pyx:430 setTensorSubspace(s, subsp) Set a space in the tensor product. Logically collective. Parameters • s (int) -- The space number. • subsp (Space) -- The number of spaces. Return type None SEE ALSO: getTensorSubspace, PetscSpaceTensorSetSubspace Source code at petsc4py/PETSc/Space.pyx:390 setType(space_type) Build a particular type of space. Collective. Parameters space_type (Type | str) -- The kind of space. Return type Self SEE ALSO: getType, PetscSpaceSetType Source code at petsc4py/PETSc/Space.pyx:241 setUp() Construct data structures for the Space. Collective. SEE ALSO: PetscSpaceSetUp Source code at petsc4py/PETSc/Space.pyx:24 Return type None view(viewer=None) View a Space. Collective. Parameters viewer (Viewer | None) -- A Viewer to display the Space. Return type None SEE ALSO: PetscSpaceView Source code at petsc4py/PETSc/Space.pyx:72 petsc4py.PETSc.Sys class petsc4py.PETSc.Sys Bases: object System utilities. Methods Summary ┌───────────────────────────────────────┬───────────────────────────────────────┐ │ Print(*args[, sep, end, comm]) │ Print output from the first processor │ │ │ of a communicator. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getDefaultComm() │ Get the default MPI communicator used │ │ │ to create PETSc objects. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getVersion([devel, date, author]) │ Return PETSc version information. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getVersionInfo() │ Return PETSc version information. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ hasExternalPackage(package) │ Return whether PETSc has support for │ │ │ external package. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ infoAllow(flag[, filename, mode]) │ Enables or disables PETSc info │ │ │ messages. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ isFinalized() │ Return whether PETSc has been │ │ │ finalized. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ isInitialized() │ Return whether PETSc has been │ │ │ initialized. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ popErrorHandler() │ Remove the current error handler. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ popSignalHandler() │ Remove the current signal handler. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ pushErrorHandler(errhandler) │ Set the current error handler. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ registerCitation(citation) │ Register BibTeX citation. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setDefaultComm(comm) │ Set the default MPI communicator used │ │ │ to create PETSc objects. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ sleep([seconds]) │ Sleep some number of seconds. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ splitOwnership(size[, bsize, comm]) │ Given a global (or local) size │ │ │ determines a local (or global) size. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ syncFlush([comm]) │ Flush output from previous syncPrint │ │ │ calls. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ syncPrint(*args[, sep, end, flush, │ Print synchronized output from │ │ comm]) │ several processors of a communicator. │ └───────────────────────────────────────┴───────────────────────────────────────┘ Methods Documentation classmethod Print(*args, sep=' ', end='\n', comm=None, **kwargs) Print output from the first processor of a communicator. Collective. Parameters • *args (Any) -- Positional arguments. • sep (str) -- String inserted between values, by default a space. • end (str) -- String appended after the last value, by default a newline. • comm (Comm | None) -- MPI communicator, defaults to getDefaultComm. • **kwargs (Any) -- Keyword arguments. Return type None SEE ALSO: PetscPrintf Source code at petsc4py/PETSc/Sys.pyx:155 classmethod getDefaultComm() Get the default MPI communicator used to create PETSc objects. Not collective. SEE ALSO: setDefaultComm Source code at petsc4py/PETSc/Sys.pyx:116 Return type Comm classmethod getVersion(devel=False, date=False, author=False) Return PETSc version information. Not collective. Parameters • devel (bool) -- Additionally, return whether using an in-development version. • date (bool) -- Additionally, return date information. • author (bool) -- Additionally, return author information. Returns • major (int) -- Major version number. • minor (int) -- Minor version number. • micro (int) -- Micro (or patch) version number. Return type tuple[int, int, int] SEE ALSO: PetscGetVersion, PetscGetVersionNumber Source code at petsc4py/PETSc/Sys.pyx:7 classmethod getVersionInfo() Return PETSc version information. Not collective. Returns info -- Dictionary with version information. Return type dict SEE ALSO: PetscGetVersion, PetscGetVersionNumber Source code at petsc4py/PETSc/Sys.pyx:62 classmethod hasExternalPackage(package) Return whether PETSc has support for external package. Not collective. Parameters package (str) -- The external package name. Return type bool SEE ALSO: PetscHasExternalPackage Source code at petsc4py/PETSc/Sys.pyx:449 classmethod infoAllow(flag, filename=None, mode='w') Enables or disables PETSc info messages. Not collective. Parameters • flag (bool) -- Whether to enable info messages. • filename (str | None) -- Name of a file where to dump output. • mode (str) -- Write mode for file, by default "w". Return type None SEE ALSO: PetscInfoAllow, PetscInfoSetFile Source code at petsc4py/PETSc/Sys.pyx:392 classmethod isFinalized() Return whether PETSc has been finalized. Not collective. SEE ALSO: isInitialized Source code at petsc4py/PETSc/Sys.pyx:101 Return type bool classmethod isInitialized() Return whether PETSc has been initialized. Not collective. SEE ALSO: isFinalized Source code at petsc4py/PETSc/Sys.pyx:88 Return type bool classmethod popErrorHandler() Remove the current error handler. Logically collective. SEE ALSO: PetscPopErrorHandler Source code at petsc4py/PETSc/Sys.pyx:366 Return type None classmethod popSignalHandler() Remove the current signal handler. Logically collective. SEE ALSO: PetscPopSignalHandler Source code at petsc4py/PETSc/Sys.pyx:379 Return type None classmethod pushErrorHandler(errhandler) Set the current error handler. Logically collective. Parameters errhandler (str) -- The name of the error handler. Return type None SEE ALSO: PetscPushErrorHandler Source code at petsc4py/PETSc/Sys.pyx:331 classmethod registerCitation(citation) Register BibTeX citation. Not collective. Parameters citation (str) -- The BibTex citation entry to register. Return type None SEE ALSO: PetscCitationsRegister Source code at petsc4py/PETSc/Sys.pyx:426 classmethod setDefaultComm(comm) Set the default MPI communicator used to create PETSc objects. Logically collective. Parameters comm (Comm | None) -- MPI communicator. If set to None, uses COMM_WORLD. Return type None SEE ALSO: getDefaultComm Source code at petsc4py/PETSc/Sys.pyx:131 classmethod sleep(seconds=1.0) Sleep some number of seconds. Not collective. Parameters seconds (float) -- Time to sleep in seconds. Return type None SEE ALSO: PetscSleep Source code at petsc4py/PETSc/Sys.pyx:310 classmethod splitOwnership(size, bsize=None, comm=None) Given a global (or local) size determines a local (or global) size. Collective. Parameters • size (int | tuple[int, int]) -- Global size N or 2-tuple (n, N) with local and global sizes. Either of n or N (but not both) can be None. • bsize (int | None) -- Block size, defaults to 1. • comm (Comm | None) -- MPI communicator, defaults to getDefaultComm. Returns • n (int) -- The local size. • N (int) -- The global size. Return type tuple[int, int] Notes The size argument corresponds to the full size of the vector. That is, an array with 10 blocks and a block size of 3 will have a size of 30, not 10. SEE ALSO: PetscSplitOwnership Source code at petsc4py/PETSc/Sys.pyx:261 classmethod syncFlush(comm=None) Flush output from previous syncPrint calls. Collective. Parameters comm (Comm | None) -- MPI communicator, defaults to getDefaultComm. Return type None SEE ALSO: PetscSynchronizedPrintf, PetscSynchronizedFlush Source code at petsc4py/PETSc/Sys.pyx:240 classmethod syncPrint(*args, sep=' ', end='\n', flush=False, comm=None, **kwargs) Print synchronized output from several processors of a communicator. Not collective. Parameters • *args (Any) -- Positional arguments. • sep (str) -- String inserted between values, by default a space. • end (str) -- String appended after the last value, by default a newline. • flush (bool) -- Whether to flush output with syncFlush. • comm (Comm | None) -- MPI communicator, defaults to getDefaultComm. • **kwargs (Any) -- Keyword arguments. Return type None SEE ALSO: PetscSynchronizedPrintf, PetscSynchronizedFlush Source code at petsc4py/PETSc/Sys.pyx:197 petsc4py.PETSc.TAO class petsc4py.PETSc.TAO Bases: Object Optimization solver. TAO is described in the PETSc manual. SEE ALSO: Tao Enumerations ┌─────────────────┬───────────────────────────────────────┐ │ BNCGType │ TAO Bound Constrained Conjugate │ │ │ Gradient (BNCG) Update Type. │ ├─────────────────┼───────────────────────────────────────┤ │ ConvergedReason │ TAO solver termination reason. │ ├─────────────────┼───────────────────────────────────────┤ │ Type │ TAO solver type. │ └─────────────────┴───────────────────────────────────────┘ petsc4py.PETSc.TAO.BNCGType class petsc4py.PETSc.TAO.BNCGType Bases: object TAO Bound Constrained Conjugate Gradient (BNCG) Update Type. Attributes Summary ┌───────────┬────────────────────────────────┐ │ DK │ Constant DK of type int │ ├───────────┼────────────────────────────────┤ │ DY │ Constant DY of type int │ ├───────────┼────────────────────────────────┤ │ FR │ Constant FR of type int │ ├───────────┼────────────────────────────────┤ │ GD │ Constant GD of type int │ ├───────────┼────────────────────────────────┤ │ HS │ Constant HS of type int │ ├───────────┼────────────────────────────────┤ │ HZ │ Constant HZ of type int │ ├───────────┼────────────────────────────────┤ │ KD │ Constant KD of type int │ ├───────────┼────────────────────────────────┤ │ PCGD │ Constant PCGD of type int │ ├───────────┼────────────────────────────────┤ │ PRP │ Constant PRP of type int │ ├───────────┼────────────────────────────────┤ │ PRP_PLUS │ Constant PRP_PLUS of type int │ ├───────────┼────────────────────────────────┤ │ SSML_BFGS │ Constant SSML_BFGS of type int │ ├───────────┼────────────────────────────────┤ │ SSML_BRDN │ Constant SSML_BRDN of type int │ ├───────────┼────────────────────────────────┤ │ SSML_DFP │ Constant SSML_DFP of type int │ └───────────┴────────────────────────────────┘ Attributes Documentation DK: int = DK Constant DK of type int DY: int = DY Constant DY of type int FR: int = FR Constant FR of type int GD: int = GD Constant GD of type int HS: int = HS Constant HS of type int HZ: int = HZ Constant HZ of type int KD: int = KD Constant KD of type int PCGD: int = PCGD Constant PCGD of type int PRP: int = PRP Constant PRP of type int PRP_PLUS: int = PRP_PLUS Constant PRP_PLUS of type int SSML_BFGS: int = SSML_BFGS Constant SSML_BFGS of type int SSML_BRDN: int = SSML_BRDN Constant SSML_BRDN of type int SSML_DFP: int = SSML_DFP Constant SSML_DFP of type int petsc4py.PETSc.TAO.ConvergedReason class petsc4py.PETSc.TAO.ConvergedReason Bases: object TAO solver termination reason. SEE ALSO: TaoConvergedReason Attributes Summary ┌───────────────────────┬───────────────────────────────────────┐ │ CONTINUE_ITERATING │ Constant CONTINUE_ITERATING of type ‐ │ │ │ int │ ├───────────────────────┼───────────────────────────────────────┤ │ CONVERGED_GATOL │ Constant CONVERGED_GATOL of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ CONVERGED_GRTOL │ Constant CONVERGED_GRTOL of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ CONVERGED_GTTOL │ Constant CONVERGED_GTTOL of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ CONVERGED_ITERATING │ Constant CONVERGED_ITERATING of type │ │ │ int │ ├───────────────────────┼───────────────────────────────────────┤ │ CONVERGED_MINF │ Constant CONVERGED_MINF of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ CONVERGED_STEPTOL │ Constant CONVERGED_STEPTOL of type ‐ │ │ │ int │ ├───────────────────────┼───────────────────────────────────────┤ │ CONVERGED_USER │ Constant CONVERGED_USER of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ DIVERGED_LS_FAILURE │ Constant DIVERGED_LS_FAILURE of type │ │ │ int │ ├───────────────────────┼───────────────────────────────────────┤ │ DIVERGED_MAXFCN │ Constant DIVERGED_MAXFCN of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ DIVERGED_MAXITS │ Constant DIVERGED_MAXITS of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ DIVERGED_NAN │ Constant DIVERGED_NAN of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ DIVERGED_TR_REDUCTION │ Constant DIVERGED_TR_REDUCTION of │ │ │ type int │ ├───────────────────────┼───────────────────────────────────────┤ │ DIVERGED_USER │ Constant DIVERGED_USER of type int │ ├───────────────────────┼───────────────────────────────────────┤ │ ITERATING │ Constant ITERATING of type int │ └───────────────────────┴───────────────────────────────────────┘ Attributes Documentation CONTINUE_ITERATING: int = CONTINUE_ITERATING Constant CONTINUE_ITERATING of type int CONVERGED_GATOL: int = CONVERGED_GATOL Constant CONVERGED_GATOL of type int CONVERGED_GRTOL: int = CONVERGED_GRTOL Constant CONVERGED_GRTOL of type int CONVERGED_GTTOL: int = CONVERGED_GTTOL Constant CONVERGED_GTTOL of type int CONVERGED_ITERATING: int = CONVERGED_ITERATING Constant CONVERGED_ITERATING of type int CONVERGED_MINF: int = CONVERGED_MINF Constant CONVERGED_MINF of type int CONVERGED_STEPTOL: int = CONVERGED_STEPTOL Constant CONVERGED_STEPTOL of type int CONVERGED_USER: int = CONVERGED_USER Constant CONVERGED_USER of type int DIVERGED_LS_FAILURE: int = DIVERGED_LS_FAILURE Constant DIVERGED_LS_FAILURE of type int DIVERGED_MAXFCN: int = DIVERGED_MAXFCN Constant DIVERGED_MAXFCN of type int DIVERGED_MAXITS: int = DIVERGED_MAXITS Constant DIVERGED_MAXITS of type int DIVERGED_NAN: int = DIVERGED_NAN Constant DIVERGED_NAN of type int DIVERGED_TR_REDUCTION: int = DIVERGED_TR_REDUCTION Constant DIVERGED_TR_REDUCTION of type int DIVERGED_USER: int = DIVERGED_USER Constant DIVERGED_USER of type int ITERATING: int = ITERATING Constant ITERATING of type int petsc4py.PETSc.TAO.Type class petsc4py.PETSc.TAO.Type Bases: object TAO solver type. SEE ALSO: TaoType Attributes Summary ┌──────────┬─────────────────────────────┐ │ ADMM │ Object ADMM of type str │ ├──────────┼─────────────────────────────┤ │ ALMM │ Object ALMM of type str │ ├──────────┼─────────────────────────────┤ │ ASFLS │ Object ASFLS of type str │ ├──────────┼─────────────────────────────┤ │ ASILS │ Object ASILS of type str │ ├──────────┼─────────────────────────────┤ │ BLMVM │ Object BLMVM of type str │ ├──────────┼─────────────────────────────┤ │ BMRM │ Object BMRM of type str │ ├──────────┼─────────────────────────────┤ │ BNCG │ Object BNCG of type str │ ├──────────┼─────────────────────────────┤ │ BNLS │ Object BNLS of type str │ ├──────────┼─────────────────────────────┤ │ BNTL │ Object BNTL of type str │ ├──────────┼─────────────────────────────┤ │ BNTR │ Object BNTR of type str │ ├──────────┼─────────────────────────────┤ │ BQNKLS │ Object BQNKLS of type str │ ├──────────┼─────────────────────────────┤ │ BQNKTL │ Object BQNKTL of type str │ ├──────────┼─────────────────────────────┤ │ BQNKTR │ Object BQNKTR of type str │ ├──────────┼─────────────────────────────┤ │ BQNLS │ Object BQNLS of type str │ ├──────────┼─────────────────────────────┤ │ BQPIP │ Object BQPIP of type str │ ├──────────┼─────────────────────────────┤ │ BRGN │ Object BRGN of type str │ ├──────────┼─────────────────────────────┤ │ CG │ Object CG of type str │ ├──────────┼─────────────────────────────┤ │ GPCG │ Object GPCG of type str │ ├──────────┼─────────────────────────────┤ │ IPM │ Object IPM of type str │ ├──────────┼─────────────────────────────┤ │ LCL │ Object LCL of type str │ ├──────────┼─────────────────────────────┤ │ LMVM │ Object LMVM of type str │ ├──────────┼─────────────────────────────┤ │ NLS │ Object NLS of type str │ ├──────────┼─────────────────────────────┤ │ NM │ Object NM of type str │ ├──────────┼─────────────────────────────┤ │ NTL │ Object NTL of type str │ ├──────────┼─────────────────────────────┤ │ NTR │ Object NTR of type str │ ├──────────┼─────────────────────────────┤ │ OWLQN │ Object OWLQN of type str │ ├──────────┼─────────────────────────────┤ │ PDIPM │ Object PDIPM of type str │ ├──────────┼─────────────────────────────┤ │ POUNDERS │ Object POUNDERS of type str │ ├──────────┼─────────────────────────────┤ │ PYTHON │ Object PYTHON of type str │ ├──────────┼─────────────────────────────┤ │ SHELL │ Object SHELL of type str │ ├──────────┼─────────────────────────────┤ │ SSFLS │ Object SSFLS of type str │ ├──────────┼─────────────────────────────┤ │ SSILS │ Object SSILS of type str │ ├──────────┼─────────────────────────────┤ │ TRON │ Object TRON of type str │ └──────────┴─────────────────────────────┘ Attributes Documentation ADMM: str = ADMM Object ADMM of type str ALMM: str = ALMM Object ALMM of type str ASFLS: str = ASFLS Object ASFLS of type str ASILS: str = ASILS Object ASILS of type str BLMVM: str = BLMVM Object BLMVM of type str BMRM: str = BMRM Object BMRM of type str BNCG: str = BNCG Object BNCG of type str BNLS: str = BNLS Object BNLS of type str BNTL: str = BNTL Object BNTL of type str BNTR: str = BNTR Object BNTR of type str BQNKLS: str = BQNKLS Object BQNKLS of type str BQNKTL: str = BQNKTL Object BQNKTL of type str BQNKTR: str = BQNKTR Object BQNKTR of type str BQNLS: str = BQNLS Object BQNLS of type str BQPIP: str = BQPIP Object BQPIP of type str BRGN: str = BRGN Object BRGN of type str CG: str = CG Object CG of type str GPCG: str = GPCG Object GPCG of type str IPM: str = IPM Object IPM of type str LCL: str = LCL Object LCL of type str LMVM: str = LMVM Object LMVM of type str NLS: str = NLS Object NLS of type str NM: str = NM Object NM of type str NTL: str = NTL Object NTL of type str NTR: str = NTR Object NTR of type str OWLQN: str = OWLQN Object OWLQN of type str PDIPM: str = PDIPM Object PDIPM of type str POUNDERS: str = POUNDERS Object POUNDERS of type str PYTHON: str = PYTHON Object PYTHON of type str SHELL: str = SHELL Object SHELL of type str SSFLS: str = SSFLS Object SSFLS of type str SSILS: str = SSILS Object SSILS of type str TRON: str = TRON Object TRON of type str Methods Summary ┌──────────────────────────────────────────────┬───────────────────────────────────────┐ │ appendOptionsPrefix(prefix) │ Append to the prefix used for │ │ │ searching for options in the │ │ │ database. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ cancelMonitor() │ Cancel all the monitors of the │ │ │ solver. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ computeConstraints(x, c) │ Compute the vector corresponding to │ │ │ the constraints. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ computeDualVariables(xl, xu) │ Compute the dual vectors │ │ │ corresponding to variables' bounds. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ computeGradient(x, g) │ Compute the gradient of the objective │ │ │ function. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ computeHessian(x, H[, P]) │ Compute the Hessian of the objective │ │ │ function. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ computeJacobian(x, J[, P]) │ Compute the Jacobian. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ computeObjective(x) │ Compute the value of the objective │ │ │ function. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ computeObjectiveGradient(x, g) │ Compute the gradient of the objective │ │ │ function and its value. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ computeResidual(x, f) │ Compute the residual. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ computeVariableBounds(xl, xu) │ Compute the vectors corresponding to │ │ │ variables' bounds. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ create([comm]) │ Create a TAO solver. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ createPython([context, comm]) │ Create an optimization solver of │ │ │ Python type. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy the solver. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getAppCtx() │ Return the application context. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getBNCGType() │ Return the type of the BNCG solver. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getBRGNDampingVector() │ Return the damping vector. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getBRGNSubsolver() │ Return the subsolver inside the BRGN │ │ │ solver. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getConstraintTolerances() │ Return the constraints tolerance │ │ │ parameters used in the convergence │ │ │ tests. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getConvergedReason() │ Return the termination flag. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getConvergenceTest() │ Return the callback used to test for │ │ │ solver convergence. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getGradient() │ Return the vector used to store the │ │ │ gradient and the evaluation callback. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getGradientNorm() │ Return the matrix used to compute │ │ │ inner products. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getHessian() │ Return the matrices used to store the │ │ │ Hessian and the evaluation callback. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getIterationNumber() │ Return the current iteration number. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getKSP() │ Return the linear solver used by the │ │ │ nonlinear solver. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getLMVMH0() │ Return the initial Hessian for the │ │ │ quasi-Newton approximation. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getLMVMH0KSP() │ Return the KSP for the inverse of the │ │ │ initial Hessian approximation. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getLineSearch() │ Return the TAO Line Search object. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getMaximumFunctionEvaluations() │ Return the maximum number of │ │ │ objective evaluations within the │ │ │ solver. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getMaximumIterations() │ Return the maximum number of solver │ │ │ iterations. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getMonitor() │ Return the callback used to monitor │ │ │ solver convergence. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getObjectiveAndGradient() │ Return the vector used to store the │ │ │ gradient and the evaluation callback. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getObjectiveValue() │ Return the current value of the │ │ │ objective function. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getOptionsPrefix() │ Return the prefix used for searching │ │ │ for options in the database. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getPythonContext() │ Return the instance of the class │ │ │ implementing the required Python │ │ │ methods. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getPythonType() │ Return the fully qualified Python │ │ │ name of the class used by the solver. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getSolution() │ Return the vector holding the │ │ │ solution. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getSolutionNorm() │ Return the objective function value │ │ │ and the norms of gradient and │ │ │ constraints. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getSolutionStatus() │ Return the solution status. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getTolerances() │ Return the tolerance parameters used │ │ │ in the solver convergence tests. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getType() │ Return the type of the solver. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getUpdate() │ Return the callback to compute the │ │ │ update. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ getVariableBounds() │ Return the upper and lower bounds │ │ │ vectors. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ monitor([its, f, res, cnorm, step]) │ Monitor the solver. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setAppCtx(appctx) │ Set the application context. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setBNCGType(cg_type) │ Set the type of the BNCG solver. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setBRGNDictionaryMatrix(D) │ Set the dictionary matrix. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setBRGNRegularizerHessian(hessian[, │ Set the callback to compute the │ │ H, ...]) │ regularizer Hessian. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setBRGNRegularizerObjectiveGradient(objgrad) │ Set the callback to compute the │ │ │ regularizer objective and gradient. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setBRGNRegularizerWeight(weight) │ Set the regularizer weight. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setBRGNSmoothL1Epsilon(epsilon) │ Set the smooth L1 epsilon. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setConstraintTolerances([catol, crtol]) │ Set the constraints tolerance │ │ │ parameters used in the solver │ │ │ convergence tests. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setConstraints(constraints[, C, args, │ Set the callback to compute │ │ kargs]) │ constraints. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setConvergedReason(reason) │ Set the termination flag. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setConvergenceTest(converged[, args, kargs]) │ Set the callback used to test for │ │ │ solver convergence. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setEqualityConstraints(equality_constraints, │ Set equality constraints callback. │ │ c) │ │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setFromOptions() │ Configure the solver from the options │ │ │ database. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setGradient(gradient[, g, args, kargs]) │ Set the gradient evaluation callback. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setGradientNorm(mat) │ Set the matrix used to compute inner │ │ │ products. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setHessian(hessian[, H, P, args, kargs]) │ Set the callback to compute the │ │ │ Hessian matrix. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setInitialTrustRegionRadius(radius) │ Set the initial trust region radius. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setIterationNumber(its) │ Set the current iteration number. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setJacobian(jacobian[, J, P, args, kargs]) │ Set the callback to compute the │ │ │ Jacobian. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setJacobianDesign(jacobian_design[, J, ...]) │ Set Jacobian design callback. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setJacobianEquality(jacobian_equality[, J, │ Set Jacobian equality constraints │ │ ...]) │ callback. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setJacobianResidual(jacobian[, J, P, args, │ Set the callback to compute the │ │ ...]) │ least-squares residual Jacobian. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setJacobianState(jacobian_state[, J, P, I, │ Set Jacobian state callback. │ │ ...]) │ │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setLMVMH0(mat) │ Set the initial Hessian for the │ │ │ quasi-Newton approximation. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setMaximumFunctionEvaluations(mit) │ Set the maximum number of objective │ │ │ evaluations within the solver. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setMaximumIterations(mit) │ Set the maximum number of solver │ │ │ iterations. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setMonitor(monitor[, args, kargs]) │ Set the callback used to monitor │ │ │ solver convergence. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setObjective(objective[, args, kargs]) │ Set the objective function evaluation │ │ │ callback. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setObjectiveGradient(objgrad[, g, args, │ Set the objective function and │ │ kargs]) │ gradient evaluation callback. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setOptionsPrefix(prefix) │ Set the prefix used for searching for │ │ │ options in the database. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setPythonContext(context) │ Set the instance of the class │ │ │ implementing the required Python │ │ │ methods. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setPythonType(py_type) │ Set the fully qualified Python name │ │ │ of the class to be used. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setResidual(residual, R[, args, kargs]) │ Set the residual evaluation callback │ │ │ for least-squares applications. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setSolution(x) │ Set the vector used to store the │ │ │ solution. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setStateDesignIS([state, design]) │ Set the index sets indicating state │ │ │ and design variables. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setTolerances([gatol, grtol, gttol]) │ Set the tolerance parameters used in │ │ │ the solver convergence tests. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setType(tao_type) │ Set the type of the solver. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setUp() │ Set up the internal data structures │ │ │ for using the solver. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setUpdate(update[, args, kargs]) │ Set the callback to compute update at │ │ │ each optimization step. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ setVariableBounds(varbounds[, args, kargs]) │ Set the upper and lower bounds for │ │ │ the optimization problem. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ solve([x]) │ Solve the optimization problem. │ ├──────────────────────────────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ View the solver. │ └──────────────────────────────────────────────┴───────────────────────────────────────┘ Attributes Summary ┌───────────┬───────────────────────────────────────┐ │ appctx │ Application context. │ ├───────────┼───────────────────────────────────────┤ │ cnorm │ Constraints norm. │ ├───────────┼───────────────────────────────────────┤ │ converged │ Boolean indicating if the solver has │ │ │ converged. │ ├───────────┼───────────────────────────────────────┤ │ ctol │ Broken. │ ├───────────┼───────────────────────────────────────┤ │ diverged │ Boolean indicating if the solver has │ │ │ failed. │ ├───────────┼───────────────────────────────────────┤ │ ftol │ Broken. │ ├───────────┼───────────────────────────────────────┤ │ function │ Objective value. │ ├───────────┼───────────────────────────────────────┤ │ gnorm │ Gradient norm. │ ├───────────┼───────────────────────────────────────┤ │ gradient │ Gradient vector. │ ├───────────┼───────────────────────────────────────┤ │ gtol │ Broken. │ ├───────────┼───────────────────────────────────────┤ │ iterating │ Boolean indicating if the solver has │ │ │ not converged yet. │ ├───────────┼───────────────────────────────────────┤ │ its │ Number of iterations. │ ├───────────┼───────────────────────────────────────┤ │ ksp │ Linear solver. │ ├───────────┼───────────────────────────────────────┤ │ objective │ Objective value. │ ├───────────┼───────────────────────────────────────┤ │ reason │ Converged reason. │ ├───────────┼───────────────────────────────────────┤ │ solution │ Solution vector. │ └───────────┴───────────────────────────────────────┘ Methods Documentation appendOptionsPrefix(prefix) Append to the prefix used for searching for options in the database. Logically collective. SEE ALSO: Working with PETSc options, setOptionsPrefix, TaoAppendOptionsPrefix Source code at petsc4py/PETSc/TAO.pyx:213 Parameters prefix (str | None) Return type None cancelMonitor() Cancel all the monitors of the solver. Logically collective. SEE ALSO: setMonitor, TaoMonitorCancel Source code at petsc4py/PETSc/TAO.pyx:1220 Return type None computeConstraints(x, c) Compute the vector corresponding to the constraints. Collective. Parameters • x (Vec) -- The parameter vector. • c (Vec) -- The output constraints vector. Return type None SEE ALSO: setVariableBounds, TaoComputeVariableBounds Source code at petsc4py/PETSc/TAO.pyx:887 computeDualVariables(xl, xu) Compute the dual vectors corresponding to variables' bounds. Collective. SEE ALSO: TaoComputeDualVariables Source code at petsc4py/PETSc/TAO.pyx:851 Parameters • xl (Vec) • xu (Vec) Return type None computeGradient(x, g) Compute the gradient of the objective function. Collective. Parameters • x (Vec) -- The parameter vector. • g (Vec) -- The output gradient vector. Return type None SEE ALSO: setGradient, TaoComputeGradient Source code at petsc4py/PETSc/TAO.pyx:810 computeHessian(x, H, P=None) Compute the Hessian of the objective function. Collective. Parameters • x (Vec) -- The parameter vector. • H (Mat) -- The output Hessian matrix. • P (Mat | None) -- The output Hessian matrix used to construct the preconditioner. Return type None SEE ALSO: setHessian, TaoComputeHessian Source code at petsc4py/PETSc/TAO.pyx:906 computeJacobian(x, J, P=None) Compute the Jacobian. Collective. Parameters • x (Vec) -- The parameter vector. • J (Mat) -- The output Jacobian matrix. • P (Mat | None) -- The output Jacobian matrix used to construct the preconditioner. Return type None SEE ALSO: setJacobian, TaoComputeJacobian Source code at petsc4py/PETSc/TAO.pyx:929 computeObjective(x) Compute the value of the objective function. Collective. Parameters x (Vec) -- The parameter vector. Return type float SEE ALSO: setObjective, TaoComputeObjective Source code at petsc4py/PETSc/TAO.pyx:772 computeObjectiveGradient(x, g) Compute the gradient of the objective function and its value. Collective. Parameters • x (Vec) -- The parameter vector. • g (Vec) -- The output gradient vector. Return type float SEE ALSO: setObjectiveGradient, setGradient, setObjective, TaoComputeObjectiveAndGradient Source code at petsc4py/PETSc/TAO.pyx:829 computeResidual(x, f) Compute the residual. Collective. Parameters • x (Vec) -- The parameter vector. • f (Vec) -- The output vector. Return type None SEE ALSO: setResidual, TaoComputeResidual Source code at petsc4py/PETSc/TAO.pyx:791 computeVariableBounds(xl, xu) Compute the vectors corresponding to variables' bounds. Collective. SEE ALSO: setVariableBounds, TaoComputeVariableBounds Source code at petsc4py/PETSc/TAO.pyx:863 Parameters • xl (Vec) • xu (Vec) Return type None create(comm=None) Create a TAO solver. Collective. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: Sys.getDefaultComm, TaoCreate Source code at petsc4py/PETSc/TAO.pyx:145 createPython(context=None, comm=None) Create an optimization solver of Python type. Collective. Parameters • context (Any) -- An instance of the Python class implementing the required methods. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: PETSc Python optimization solver type (TODO), setType, setPythonContext, Type.PYTHON Source code at petsc4py/PETSc/TAO.pyx:1662 destroy() Destroy the solver. Collective. SEE ALSO: TaoDestroy Source code at petsc4py/PETSc/TAO.pyx:132 Return type Self getAppCtx() Return the application context. Source code at petsc4py/PETSc/TAO.pyx:286 Return type Any getBNCGType() Return the type of the BNCG solver. Not collective. SEE ALSO: setBNCGType, TaoBNCGGetType Source code at petsc4py/PETSc/TAO.pyx:1416 Return type BNCGType getBRGNDampingVector() Return the damping vector. Not collective. Source code at petsc4py/PETSc/TAO.pyx:1647 Return type Vec getBRGNSubsolver() Return the subsolver inside the BRGN solver. Not collective. SEE ALSO: TaoBRGNGetSubsolver Source code at petsc4py/PETSc/TAO.pyx:1564 Return type TAO getConstraintTolerances() Return the constraints tolerance parameters used in the convergence tests. Not collective. Returns • catol (float) -- The absolute norm of the constraints. • crtol (float) -- The relative norm of the constraints. Return type tuple[float, float] SEE ALSO: setConstraintTolerances, TaoGetConstraintTolerances Source code at petsc4py/PETSc/TAO.pyx:1091 getConvergedReason() Return the termination flag. Not collective. SEE ALSO: setConvergedReason, TaoGetConvergedReason Source code at petsc4py/PETSc/TAO.pyx:1165 Return type ConvergedReason getConvergenceTest() Return the callback used to test for solver convergence. Not collective. SEE ALSO: setConvergenceTest Source code at petsc4py/PETSc/TAO.pyx:1140 Return type tuple[TAOConvergedFunction, tuple[Any, ...], dict[str, Any]] getGradient() Return the vector used to store the gradient and the evaluation callback. Not collective. SEE ALSO: setGradient, setHessian, TaoGetGradient Source code at petsc4py/PETSc/TAO.pyx:416 Return type tuple[Vec, TAOGradientFunction] getGradientNorm() Return the matrix used to compute inner products. Not collective. SEE ALSO: setGradientNorm, TaoGetGradientNorm Source code at petsc4py/PETSc/TAO.pyx:1331 Return type Mat getHessian() Return the matrices used to store the Hessian and the evaluation callback. Not collective. SEE ALSO: setHessian, TaoGetHessian Source code at petsc4py/PETSc/TAO.pyx:578 Return type tuple[Mat, Mat, TAOHessianFunction] getIterationNumber() Return the current iteration number. Not collective. SEE ALSO: setIterationNumber, TaoGetIterationNumber Source code at petsc4py/PETSc/TAO.pyx:1443 Return type int getKSP() Return the linear solver used by the nonlinear solver. Not collective. SEE ALSO: TaoGetKSP Source code at petsc4py/PETSc/TAO.pyx:1547 Return type KSP getLMVMH0() Return the initial Hessian for the quasi-Newton approximation. Not collective. SEE ALSO: setLMVMH0, TaoLMVMGetH0 Source code at petsc4py/PETSc/TAO.pyx:1358 Return type Mat getLMVMH0KSP() Return the KSP for the inverse of the initial Hessian approximation. Not collective. SEE ALSO: setLMVMH0, TaoLMVMGetH0KSP Source code at petsc4py/PETSc/TAO.pyx:1373 Return type KSP getLineSearch() Return the TAO Line Search object. Not collective. SEE ALSO: TaoGetLineSearch Source code at petsc4py/PETSc/TAO.pyx:1744 Return type TAOLineSearch getMaximumFunctionEvaluations() Return the maximum number of objective evaluations within the solver. Not collective. SEE ALSO: setMaximumFunctionEvaluations, TaoGetMaximumFunctionEvaluations Source code at petsc4py/PETSc/TAO.pyx:1051 Return type int getMaximumIterations() Return the maximum number of solver iterations. Not collective. SEE ALSO: setMaximumIterations, TaoGetMaximumIterations Source code at petsc4py/PETSc/TAO.pyx:1024 Return type int getMonitor() Return the callback used to monitor solver convergence. Not collective. SEE ALSO: setMonitor Source code at petsc4py/PETSc/TAO.pyx:1208 Return type list[tuple[TAOMonitorFunction, tuple[Any, ...], dict[str, Any]]] getObjectiveAndGradient() Return the vector used to store the gradient and the evaluation callback. Not collective. SEE ALSO: setObjectiveGradient, TaoGetObjectiveAndGradient Source code at petsc4py/PETSc/TAO.pyx:462 Return type tuple[Vec, TAOObjectiveGradientFunction] getObjectiveValue() Return the current value of the objective function. Not collective. SEE ALSO: setObjective, TaoGetSolutionStatus Source code at petsc4py/PETSc/TAO.pyx:1457 Return type float getOptionsPrefix() Return the prefix used for searching for options in the database. Not collective. SEE ALSO: Working with PETSc options, setOptionsPrefix, TaoGetOptionsPrefix Source code at petsc4py/PETSc/TAO.pyx:227 Return type str getPythonContext() Return the instance of the class implementing the required Python methods. Not collective. SEE ALSO: PETSc Python optimization solver type (TODO), setPythonContext Source code at petsc4py/PETSc/TAO.pyx:1699 Return type Any getPythonType() Return the fully qualified Python name of the class used by the solver. Not collective. SEE ALSO: PETSc Python optimization solver type (TODO), setPythonContext, setPythonType, ‐ TaoPythonGetType Source code at petsc4py/PETSc/TAO.pyx:1729 Return type str getSolution() Return the vector holding the solution. Not collective. SEE ALSO: setSolution, TaoGetSolution Source code at petsc4py/PETSc/TAO.pyx:1304 Return type Vec getSolutionNorm() Return the objective function value and the norms of gradient and constraints. Not collective. Returns • f (float) -- Current value of the objective function. • res (float) -- Current value of the residual norm. • cnorm (float) -- Current value of the constrains norm. Return type tuple[float, float, float] SEE ALSO: getSolutionStatus, TaoGetSolutionStatus Source code at petsc4py/PETSc/TAO.pyx:1487 getSolutionStatus() Return the solution status. Not collective. Returns • its (int) -- Current number of iterations. • f (float) -- Current value of the objective function. • res (float) -- Current value of the residual norm. • cnorm (float) -- Current value of the constrains norm. • step (float) -- Current value of the step. • reason (ConvergedReason) -- Current value of converged reason. Return type tuple[int, float, float, float, float, ConvergedReason] SEE ALSO: TaoGetSolutionStatus Source code at petsc4py/PETSc/TAO.pyx:1512 getTolerances() Return the tolerance parameters used in the solver convergence tests. Not collective. Returns • gatol (float) -- The absolute norm of the gradient. • grtol (float) -- The relative norm of the gradient. • gttol (float) -- The relative norm of the gradient with respect to the initial norm of the gradient. Return type tuple[float, float, float] SEE ALSO: setTolerances, TaoGetTolerances Source code at petsc4py/PETSc/TAO.pyx:987 getType() Return the type of the solver. Not collective. SEE ALSO: setType, TaoGetType Source code at petsc4py/PETSc/TAO.pyx:185 Return type str getUpdate() Return the callback to compute the update. Not collective. SEE ALSO: setUpdate Source code at petsc4py/PETSc/TAO.pyx:758 Return type tuple[TAOUpdateFunction, tuple[Any, ...], dict[str, Any]] getVariableBounds() Return the upper and lower bounds vectors. Not collective. SEE ALSO: setVariableBounds, TaoGetVariableBounds Source code at petsc4py/PETSc/TAO.pyx:1388 Return type tuple[Vec, Vec] monitor(its=None, f=None, res=None, cnorm=None, step=None) Monitor the solver. Collective. This function should be called without arguments, unless users want to modify the values internally stored by the solver. Parameters • its (int) -- Current number of iterations or None to use the value stored internally by the solver. • f (float) -- Current value of the objective function or None to use the value stored internally by the solver. • res (float) -- Current value of the residual norm or None to use the value stored internally by the solver. • cnorm (float) -- Current value of the constrains norm or None to use the value stored internally by the solver. • step (float) -- Current value of the step or None to use the value stored internally by the solver. Return type None SEE ALSO: setMonitor, TaoMonitor Source code at petsc4py/PETSc/TAO.pyx:1234 setAppCtx(appctx) Set the application context. Source code at petsc4py/PETSc/TAO.pyx:282 Parameters appctx (Any) Return type None setBNCGType(cg_type) Set the type of the BNCG solver. Collective. SEE ALSO: getBNCGType, TaoBNCGSetType Source code at petsc4py/PETSc/TAO.pyx:1403 Parameters cg_type (BNCGType) Return type None setBRGNDictionaryMatrix(D) Set the dictionary matrix. Collective. SEE ALSO: TaoBRGNSetDictionaryMatrix Source code at petsc4py/PETSc/TAO.pyx:1635 Parameters D (Mat) Return type None setBRGNRegularizerHessian(hessian, H=None, args=None, kargs=None) Set the callback to compute the regularizer Hessian. Logically collective. SEE ALSO: TaoBRGNSetRegularizerHessianRoutine Source code at petsc4py/PETSc/TAO.pyx:1595 Parameters • H (Mat | None) • args (tuple[Any, ...] | None) • kargs (dict[str, Any] | None) Return type None setBRGNRegularizerObjectiveGradient(objgrad, args=None, kargs=None) Set the callback to compute the regularizer objective and gradient. Logically collective. SEE ALSO: TaoBRGNSetRegularizerObjectiveAndGradientRoutine Source code at petsc4py/PETSc/TAO.pyx:1579 Parameters • args (tuple[Any, ...] | None) • kargs (dict[str, Any] | None) Return type None setBRGNRegularizerWeight(weight) Set the regularizer weight. Collective. Source code at petsc4py/PETSc/TAO.pyx:1613 Parameters weight (float) Return type None setBRGNSmoothL1Epsilon(epsilon) Set the smooth L1 epsilon. Collective. SEE ALSO: TaoBRGNSetL1SmoothEpsilon Source code at petsc4py/PETSc/TAO.pyx:1622 Parameters epsilon (float) Return type None setConstraintTolerances(catol=None, crtol=None) Set the constraints tolerance parameters used in the solver convergence tests. Collective. Parameters • catol (float) -- The absolute norm of the constraints, or DETERMINE to use the value when the object's type was set. Defaults to CURRENT. • crtol (float) -- The relative norm of the constraints, or DETERMINE to use the value when the object's type was set. Defaults to CURRENT. Return type None SEE ALSO: getConstraintTolerances, TaoSetConstraintTolerances Source code at petsc4py/PETSc/TAO.pyx:1065 setConstraints(constraints, C=None, args=None, kargs=None) Set the callback to compute constraints. Logically collective. Parameters • constraints (TAOConstraintsFunction) -- The callback. • C (Vec | None) -- The vector to hold the constraints. • args (tuple[Any, ...] | None) -- Positional arguments for the callback. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback. Return type None SEE ALSO: TaoSetConstraintsRoutine Source code at petsc4py/PETSc/TAO.pyx:514 setConvergedReason(reason) Set the termination flag. Collective. SEE ALSO: getConvergedReason, TaoSetConvergedReason Source code at petsc4py/PETSc/TAO.pyx:1152 Parameters reason (ConvergedReason) Return type None setConvergenceTest(converged, args=None, kargs=None) Set the callback used to test for solver convergence. Logically collective. Parameters • converged (TAOConvergedFunction | None) -- The callback. If None, reset to the default convergence test. • args (tuple[Any, ...] | None) -- Positional arguments for the callback. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback. Return type None SEE ALSO: getConvergenceTest, TaoSetConvergenceTest Source code at petsc4py/PETSc/TAO.pyx:1112 setEqualityConstraints(equality_constraints, c, args=None, kargs=None) Set equality constraints callback. Logically collective. SEE ALSO: TaoSetEqualityConstraintsRoutine Source code at petsc4py/PETSc/TAO.pyx:689 Parameters • c (Vec) • args (tuple[Any, ...] | None) • kargs (dict[str, Any] | None) Return type None setFromOptions() Configure the solver from the options database. Collective. SEE ALSO: Working with PETSc options, TaoSetFromOptions Source code at petsc4py/PETSc/TAO.pyx:241 Return type None setGradient(gradient, g=None, args=None, kargs=None) Set the gradient evaluation callback. Logically collective. Parameters • gradient (TAOGradientFunction) -- The gradient callback. • g (Vec | None) -- The vector to store the gradient. • args (tuple[Any, ...] | None) -- Positional arguments for the callback. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback. Return type None SEE ALSO: setObjective, setObjectiveGradient, setHessian, TaoSetGradient Source code at petsc4py/PETSc/TAO.pyx:387 setGradientNorm(mat) Set the matrix used to compute inner products. Collective. SEE ALSO: getGradientNorm, TaoSetGradientNorm Source code at petsc4py/PETSc/TAO.pyx:1319 Parameters mat (Mat) Return type None setHessian(hessian, H=None, P=None, args=None, kargs=None) Set the callback to compute the Hessian matrix. Logically collective. Parameters • hessian (TAOHessianFunction) -- The Hessian callback. • H (Mat | None) -- The matrix to store the Hessian. • P (Mat | None) -- The matrix to construct the preconditioner. • args (tuple[Any, ...] | None) -- Positional arguments for the callback. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback. Return type None SEE ALSO: getHessian, setObjective, setObjectiveGradient, setGradient, TaoSetHessian Source code at petsc4py/PETSc/TAO.pyx:543 setInitialTrustRegionRadius(radius) Set the initial trust region radius. Collective. SEE ALSO: TaoSetInitialTrustRegionRadius Source code at petsc4py/PETSc/TAO.pyx:267 Parameters radius (float) Return type None setIterationNumber(its) Set the current iteration number. Collective. SEE ALSO: getIterationNumber, TaoSetIterationNumber Source code at petsc4py/PETSc/TAO.pyx:1430 Parameters its (int) Return type None setJacobian(jacobian, J=None, P=None, args=None, kargs=None) Set the callback to compute the Jacobian. Logically collective. Parameters • jacobian (TAOJacobianFunction) -- The Jacobian callback. • J (Mat | None) -- The matrix to store the Jacobian. • P (Mat | None) -- The matrix to construct the preconditioner. • args (tuple[Any, ...] | None) -- Positional arguments for the callback. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback. Return type None SEE ALSO: TaoSetJacobianRoutine Source code at petsc4py/PETSc/TAO.pyx:596 setJacobianDesign(jacobian_design, J=None, args=None, kargs=None) Set Jacobian design callback. Logically collective. SEE ALSO: TaoSetJacobianDesignRoutine Source code at petsc4py/PETSc/TAO.pyx:669 Parameters • J (Mat | None) • args (tuple[Any, ...] | None) • kargs (dict[str, Any] | None) Return type None setJacobianEquality(jacobian_equality, J=None, P=None, args=None, kargs=None) Set Jacobian equality constraints callback. Logically collective. SEE ALSO: TaoSetJacobianEqualityRoutine Source code at petsc4py/PETSc/TAO.pyx:707 Parameters • J (Mat | None) • P (Mat | None) • args (tuple[Any, ...] | None) • kargs (dict[str, Any] | None) Return type None setJacobianResidual(jacobian, J=None, P=None, args=None, kargs=None) Set the callback to compute the least-squares residual Jacobian. Logically collective. Parameters • jacobian (TAOJacobianResidualFunction) -- The Jacobian callback. • J (Mat | None) -- The matrix to store the Jacobian. • P (Mat | None) -- The matrix to construct the preconditioner. • args (tuple[Any, ...] | None) -- Positional arguments for the callback. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback. Return type None SEE ALSO: setResidual, TaoSetJacobianResidualRoutine Source code at petsc4py/PETSc/TAO.pyx:354 setJacobianState(jacobian_state, J=None, P=None, I=None, args=None, kargs=None) Set Jacobian state callback. Logically collective. SEE ALSO: TaoSetJacobianStateRoutine Source code at petsc4py/PETSc/TAO.pyx:645 Parameters • J (Mat | None) • P (Mat | None) • I (Mat | None) • args (tuple[Any, ...] | None) • kargs (dict[str, Any] | None) Return type None setLMVMH0(mat) Set the initial Hessian for the quasi-Newton approximation. Collective. SEE ALSO: getLMVMH0, TaoLMVMSetH0 Source code at petsc4py/PETSc/TAO.pyx:1346 Parameters mat (Mat) Return type None setMaximumFunctionEvaluations(mit) Set the maximum number of objective evaluations within the solver. Collective. SEE ALSO: setMaximumIterations, TaoSetMaximumFunctionEvaluations Source code at petsc4py/PETSc/TAO.pyx:1038 Parameters mit (int) Return type None setMaximumIterations(mit) Set the maximum number of solver iterations. Collective. SEE ALSO: setTolerances, TaoSetMaximumIterations Source code at petsc4py/PETSc/TAO.pyx:1011 Parameters mit (int) Return type float setMonitor(monitor, args=None, kargs=None) Set the callback used to monitor solver convergence. Logically collective. Parameters • monitor (TAOMonitorFunction) -- The callback. • args (tuple[Any, ...] | None) -- Positional arguments for the callback. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback. Return type None SEE ALSO: getMonitor, TaoMonitorSet Source code at petsc4py/PETSc/TAO.pyx:1179 setObjective(objective, args=None, kargs=None) Set the objective function evaluation callback. Logically collective. Parameters • objective (TAOObjectiveFunction) -- The objective function callback. • args (tuple[Any, ...] | None) -- Positional arguments for the callback. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback. Return type None SEE ALSO: setGradient, setObjectiveGradient, TaoSetObjective Source code at petsc4py/PETSc/TAO.pyx:302 setObjectiveGradient(objgrad, g=None, args=None, kargs=None) Set the objective function and gradient evaluation callback. Logically collective. Parameters • objgrad (TAOObjectiveGradientFunction) -- The objective function and gradient callback. • g (Vec | None) -- The vector to store the gradient. • args (tuple[Any, ...] | None) -- Positional arguments for the callback. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback. Return type None SEE ALSO: setObjective, setGradient, setHessian, getObjectiveAndGradient, ‐ TaoSetObjectiveAndGradient Source code at petsc4py/PETSc/TAO.pyx:432 setOptionsPrefix(prefix) Set the prefix used for searching for options in the database. Logically collective. SEE ALSO: Working with PETSc options, TaoSetOptionsPrefix Source code at petsc4py/PETSc/TAO.pyx:199 Parameters prefix (str | None) Return type None setPythonContext(context) Set the instance of the class implementing the required Python methods. Not collective. SEE ALSO: PETSc Python optimization solver type (TODO), getPythonContext Source code at petsc4py/PETSc/TAO.pyx:1687 Parameters context (Any) Return type None setPythonType(py_type) Set the fully qualified Python name of the class to be used. Collective. SEE ALSO: PETSc Python optimization solver type (TODO), setPythonContext, getPythonType, ‐ TaoPythonSetType Source code at petsc4py/PETSc/TAO.pyx:1714 Parameters py_type (str) Return type None setResidual(residual, R, args=None, kargs=None) Set the residual evaluation callback for least-squares applications. Logically collective. Parameters • residual (TAOResidualFunction) -- The residual callback. • R (Vec) -- The vector to store the residual. • args (tuple[Any, ...] | None) -- Positional arguments for the callback. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback. Return type None SEE ALSO: setJacobianResidual, TaoSetResidualRoutine Source code at petsc4py/PETSc/TAO.pyx:327 setSolution(x) Set the vector used to store the solution. Collective. SEE ALSO: getSolution, TaoSetSolution Source code at petsc4py/PETSc/TAO.pyx:290 Parameters x (Vec) Return type None setStateDesignIS(state=None, design=None) Set the index sets indicating state and design variables. Collective. SEE ALSO: TaoSetStateDesignIS Source code at petsc4py/PETSc/TAO.pyx:630 Parameters • state (IS | None) • design (IS | None) Return type None setTolerances(gatol=None, grtol=None, gttol=None) Set the tolerance parameters used in the solver convergence tests. Collective. Parameters • gatol (float) -- The absolute norm of the gradient, or DETERMINE to use the value when the object's type was set. Defaults to CURRENT. • grtol (float) -- The relative norm of the gradient with respect to the initial norm of the objective, or DETERMINE to use the value when the object's type was set. Defaults to CURRENT. • gttol (float) -- The relative norm of the gradient with respect to the initial norm of the gradient, or DETERMINE to use the value when the object's type was set. Defaults to CURRENT. Return type None SEE ALSO: getTolerances, TaoSetTolerances Source code at petsc4py/PETSc/TAO.pyx:954 setType(tao_type) Set the type of the solver. Logically collective. Parameters tao_type (Type | str) -- The type of the solver. Return type None SEE ALSO: getType, TaoSetType Source code at petsc4py/PETSc/TAO.pyx:166 setUp() Set up the internal data structures for using the solver. Collective. SEE ALSO: TaoSetUp Source code at petsc4py/PETSc/TAO.pyx:253 Return type None setUpdate(update, args=None, kargs=None) Set the callback to compute update at each optimization step. Logically collective. Parameters • update (TAOUpdateFunction) -- The update callback or None to reset it. • args (tuple[Any, ...] | None) -- Positional arguments for the callback. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback. Return type None SEE ALSO: getUpdate, TaoSetUpdate Source code at petsc4py/PETSc/TAO.pyx:729 setVariableBounds(varbounds, args=None, kargs=None) Set the upper and lower bounds for the optimization problem. Logically collective. Parameters • varbounds (tuple[Vec, Vec] | TAOVariableBoundsFunction) -- Either a tuple of Vec or a TAOVariableBoundsFunction callback. • args (tuple[Any, ...] | None) -- Positional arguments for the callback. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback. Return type None SEE ALSO: TaoSetVariableBounds, TaoSetVariableBoundsRoutine Source code at petsc4py/PETSc/TAO.pyx:478 solve(x=None) Solve the optimization problem. Collective. Parameters x (Vec | None) -- The starting vector or None to use the vector stored internally. Return type None SEE ALSO: setSolution, getSolution, TaoSolve Source code at petsc4py/PETSc/TAO.pyx:1285 view(viewer=None) View the solver. Collective. Parameters viewer (Viewer | None) -- A Viewer instance or None for the default viewer. Return type None SEE ALSO: TaoView Source code at petsc4py/PETSc/TAO.pyx:113 Attributes Documentation appctx Application context. Source code at petsc4py/PETSc/TAO.pyx:1765 cnorm Constraints norm. Source code at petsc4py/PETSc/TAO.pyx:1834 converged Boolean indicating if the solver has converged. Source code at petsc4py/PETSc/TAO.pyx:1871 ctol Broken. Source code at petsc4py/PETSc/TAO.pyx:1809 diverged Boolean indicating if the solver has failed. Source code at petsc4py/PETSc/TAO.pyx:1876 ftol Broken. Source code at petsc4py/PETSc/TAO.pyx:1783 function Objective value. Source code at petsc4py/PETSc/TAO.pyx:1849 gnorm Gradient norm. Source code at petsc4py/PETSc/TAO.pyx:1829 gradient Gradient vector. Source code at petsc4py/PETSc/TAO.pyx:1854 gtol Broken. Source code at petsc4py/PETSc/TAO.pyx:1796 iterating Boolean indicating if the solver has not converged yet. Source code at petsc4py/PETSc/TAO.pyx:1866 its Number of iterations. Source code at petsc4py/PETSc/TAO.pyx:1824 ksp Linear solver. Source code at petsc4py/PETSc/TAO.pyx:1775 objective Objective value. Source code at petsc4py/PETSc/TAO.pyx:1844 reason Converged reason. Source code at petsc4py/PETSc/TAO.pyx:1861 solution Solution vector. Source code at petsc4py/PETSc/TAO.pyx:1839 petsc4py.PETSc.TAOLineSearch class petsc4py.PETSc.TAOLineSearch Bases: Object TAO Line Search. Enumerations ┌─────────────────┬──────────────────────────────────────┐ │ ConvergedReason │ TAO Line Search Termination Reasons. │ ├─────────────────┼──────────────────────────────────────┤ │ Type │ TAO Line Search Types. │ └─────────────────┴──────────────────────────────────────┘ petsc4py.PETSc.TAOLineSearch.ConvergedReason class petsc4py.PETSc.TAOLineSearch.ConvergedReason Bases: object TAO Line Search Termination Reasons. Attributes Summary ┌─────────────────────┬───────────────────────────────────────┐ │ CONTINUE_SEARCH │ Constant CONTINUE_SEARCH of type int │ ├─────────────────────┼───────────────────────────────────────┤ │ FAILED_ASCENT │ Constant FAILED_ASCENT of type int │ ├─────────────────────┼───────────────────────────────────────┤ │ FAILED_BADPARAMETER │ Constant FAILED_BADPARAMETER of type │ │ │ int │ ├─────────────────────┼───────────────────────────────────────┤ │ FAILED_INFORNAN │ Constant FAILED_INFORNAN of type int │ ├─────────────────────┼───────────────────────────────────────┤ │ HALTED_LOWERBOUND │ Constant HALTED_LOWERBOUND of type ‐ │ │ │ int │ ├─────────────────────┼───────────────────────────────────────┤ │ HALTED_MAXFCN │ Constant HALTED_MAXFCN of type int │ ├─────────────────────┼───────────────────────────────────────┤ │ HALTED_OTHER │ Constant HALTED_OTHER of type int │ ├─────────────────────┼───────────────────────────────────────┤ │ HALTED_RTOL │ Constant HALTED_RTOL of type int │ ├─────────────────────┼───────────────────────────────────────┤ │ HALTED_UPPERBOUND │ Constant HALTED_UPPERBOUND of type ‐ │ │ │ int │ ├─────────────────────┼───────────────────────────────────────┤ │ HALTED_USER │ Constant HALTED_USER of type int │ ├─────────────────────┼───────────────────────────────────────┤ │ SUCCESS │ Constant SUCCESS of type int │ ├─────────────────────┼───────────────────────────────────────┤ │ SUCCESS_USER │ Constant SUCCESS_USER of type int │ └─────────────────────┴───────────────────────────────────────┘ Attributes Documentation CONTINUE_SEARCH: int = CONTINUE_SEARCH Constant CONTINUE_SEARCH of type int FAILED_ASCENT: int = FAILED_ASCENT Constant FAILED_ASCENT of type int FAILED_BADPARAMETER: int = FAILED_BADPARAMETER Constant FAILED_BADPARAMETER of type int FAILED_INFORNAN: int = FAILED_INFORNAN Constant FAILED_INFORNAN of type int HALTED_LOWERBOUND: int = HALTED_LOWERBOUND Constant HALTED_LOWERBOUND of type int HALTED_MAXFCN: int = HALTED_MAXFCN Constant HALTED_MAXFCN of type int HALTED_OTHER: int = HALTED_OTHER Constant HALTED_OTHER of type int HALTED_RTOL: int = HALTED_RTOL Constant HALTED_RTOL of type int HALTED_UPPERBOUND: int = HALTED_UPPERBOUND Constant HALTED_UPPERBOUND of type int HALTED_USER: int = HALTED_USER Constant HALTED_USER of type int SUCCESS: int = SUCCESS Constant SUCCESS of type int SUCCESS_USER: int = SUCCESS_USER Constant SUCCESS_USER of type int petsc4py.PETSc.TAOLineSearch.Type class petsc4py.PETSc.TAOLineSearch.Type Bases: object TAO Line Search Types. Attributes Summary ┌─────────────┬────────────────────────────────┐ │ ARMIJO │ Object ARMIJO of type str │ ├─────────────┼────────────────────────────────┤ │ GPCG │ Object GPCG of type str │ ├─────────────┼────────────────────────────────┤ │ IPM │ Object IPM of type str │ ├─────────────┼────────────────────────────────┤ │ MORETHUENTE │ Object MORETHUENTE of type str │ ├─────────────┼────────────────────────────────┤ │ OWARMIJO │ Object OWARMIJO of type str │ ├─────────────┼────────────────────────────────┤ │ UNIT │ Object UNIT of type str │ └─────────────┴────────────────────────────────┘ Attributes Documentation ARMIJO: str = ARMIJO Object ARMIJO of type str GPCG: str = GPCG Object GPCG of type str IPM: str = IPM Object IPM of type str MORETHUENTE: str = MORETHUENTE Object MORETHUENTE of type str OWARMIJO: str = OWARMIJO Object OWARMIJO of type str UNIT: str = UNIT Object UNIT of type str Methods Summary ┌───────────────────────────────────────┬───────────────────────────────────────┐ │ apply(x, g, s) │ Performs a line-search in a given │ │ │ step direction. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ create([comm]) │ Create a TAO linesearch. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy the linesearch object. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getOptionsPrefix() │ Return the prefix used for searching │ │ │ for options in the database. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getType() │ Return the type of the linesearch. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFromOptions() │ Configure the linesearch from the │ │ │ options database. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setGradient(gradient[, args, kargs]) │ Set the gradient evaluation callback. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setObjective(objective[, args, │ Set the objective function evaluation │ │ kargs]) │ callback. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setObjectiveGradient(objgrad[, args, │ Set the objective function and │ │ kargs]) │ gradient evaluation callback. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setOptionsPrefix([prefix]) │ Set the prefix used for searching for │ │ │ options in the database. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setType(ls_type) │ Set the type of the linesearch. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setUp() │ Set up the internal data structures │ │ │ for using the linesearch. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ useTAORoutine(tao) │ Use the objective and gradient │ │ │ evaluation routines from the given │ │ │ Tao object. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ View the linesearch object. │ └───────────────────────────────────────┴───────────────────────────────────────┘ Methods Documentation apply(x, g, s) Performs a line-search in a given step direction. Collective. SEE ALSO: TaoLineSearchApply Source code at petsc4py/PETSc/TAO.pyx:2161 Parameters • x (Vec) • g (Vec) • s (Vec) Return type tuple[float, float, str] create(comm=None) Create a TAO linesearch. Collective. Parameters comm -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: Sys.getDefaultComm, TaoLineSearchCreate Source code at petsc4py/PETSc/TAO.pyx:1964 destroy() Destroy the linesearch object. Collective. SEE ALSO: TaoLineSearchDestroy Source code at petsc4py/PETSc/TAO.pyx:1951 Return type Self getOptionsPrefix() Return the prefix used for searching for options in the database. Not collective. SEE ALSO: Working with PETSc options, setOptionsPrefix, TaoLineSearchGetOptionsPrefix Source code at petsc4py/PETSc/TAO.pyx:2056 Return type str getType() Return the type of the linesearch. Not collective. SEE ALSO: setType, TaoLineSearchGetType Source code at petsc4py/PETSc/TAO.pyx:2004 Return type str setFromOptions() Configure the linesearch from the options database. Collective. SEE ALSO: Working with PETSc options, TaoLineSearchSetFromOptions Source code at petsc4py/PETSc/TAO.pyx:2018 Return type None setGradient(gradient, args=None, kargs=None) Set the gradient evaluation callback. Logically collective. Parameters • gradient (TAOLSGradientFunction) -- The gradient callback. • g -- The vector to store the gradient. • args (tuple[Any, ...] | None) -- Positional arguments for the callback. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback. Return type None SEE ALSO: setObjective, setObjectiveGradient, setHessian, TaoLineSearchSetGradientRoutine Source code at petsc4py/PETSc/TAO.pyx:2095 setObjective(objective, args=None, kargs=None) Set the objective function evaluation callback. Logically collective. Parameters • objective (TAOLSObjectiveFunction) -- The objective function callback. • args (tuple[Any, ...] | None) -- Positional arguments for the callback. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback. Return type None SEE ALSO: setGradient, setObjectiveGradient, TaoLineSearchSetObjectiveRoutine Source code at petsc4py/PETSc/TAO.pyx:2070 setObjectiveGradient(objgrad, args=None, kargs=None) Set the objective function and gradient evaluation callback. Logically collective. Parameters • objgrad (TAOLSObjectiveGradientFunction) -- The objective function and gradient callback. • g -- The vector to store the gradient. • args (tuple[Any, ...] | None) -- Positional arguments for the callback. • kargs (dict[str, Any] | None) -- Keyword arguments for the callback. Return type None SEE ALSO: setObjective, setGradient, setHessian, getObjectiveAndGradient, ‐ TaoLineSearchSetObjectiveAndGradientRoutine Source code at petsc4py/PETSc/TAO.pyx:2122 setOptionsPrefix(prefix=None) Set the prefix used for searching for options in the database. Logically collective. SEE ALSO: Working with PETSc options, TaoLineSearchSetOptionsPrefix Source code at petsc4py/PETSc/TAO.pyx:2042 Parameters prefix (str | None) Return type None setType(ls_type) Set the type of the linesearch. Logically collective. Parameters ls_type (Type | str) -- The type of the solver. Return type None SEE ALSO: getType, TaoLineSearchSetType Source code at petsc4py/PETSc/TAO.pyx:1985 setUp() Set up the internal data structures for using the linesearch. Collective. SEE ALSO: TaoLineSearchSetUp Source code at petsc4py/PETSc/TAO.pyx:2030 Return type None useTAORoutine(tao) Use the objective and gradient evaluation routines from the given Tao object. Logically collective. SEE ALSO: TaoLineSearchUseTaoRoutines Source code at petsc4py/PETSc/TAO.pyx:2149 Parameters tao (TAO) Return type None view(viewer=None) View the linesearch object. Collective. Parameters viewer (Viewer | None) -- A Viewer instance or None for the default viewer. Return type None SEE ALSO: TaoLineSearchView Source code at petsc4py/PETSc/TAO.pyx:1932 petsc4py.PETSc.TS class petsc4py.PETSc.TS Bases: Object ODE integrator. TS is described in the PETSc manual. SEE ALSO: TS Enumerations ┌─────────────────┬───────────────────────────────────────┐ │ ARKIMEXType │ The ARKIMEX subtype. │ ├─────────────────┼───────────────────────────────────────┤ │ ConvergedReason │ The reason the time step is │ │ │ converging. │ ├─────────────────┼───────────────────────────────────────┤ │ DIRKType │ The DIRK subtype. │ ├─────────────────┼───────────────────────────────────────┤ │ EquationType │ Distinguishes among types of explicit │ │ │ and implicit equations. │ ├─────────────────┼───────────────────────────────────────┤ │ ExactFinalTime │ The method for ending time stepping. │ ├─────────────────┼───────────────────────────────────────┤ │ ProblemType │ Distinguishes linear and nonlinear │ │ │ problems. │ ├─────────────────┼───────────────────────────────────────┤ │ RKType │ The RK subtype. │ ├─────────────────┼───────────────────────────────────────┤ │ Type │ The time stepping method. │ └─────────────────┴───────────────────────────────────────┘ petsc4py.PETSc.TS.ARKIMEXType class petsc4py.PETSc.TS.ARKIMEXType Bases: object The ARKIMEX subtype. Attributes Summary ┌───────────────┬──────────────────────────────────┐ │ ARKIMEX1BEE │ Object ARKIMEX1BEE of type str │ ├───────────────┼──────────────────────────────────┤ │ ARKIMEX2C │ Object ARKIMEX2C of type str │ ├───────────────┼──────────────────────────────────┤ │ ARKIMEX2D │ Object ARKIMEX2D of type str │ ├───────────────┼──────────────────────────────────┤ │ ARKIMEX2E │ Object ARKIMEX2E of type str │ ├───────────────┼──────────────────────────────────┤ │ ARKIMEX3 │ Object ARKIMEX3 of type str │ ├───────────────┼──────────────────────────────────┤ │ ARKIMEX4 │ Object ARKIMEX4 of type str │ ├───────────────┼──────────────────────────────────┤ │ ARKIMEX5 │ Object ARKIMEX5 of type str │ ├───────────────┼──────────────────────────────────┤ │ ARKIMEXA2 │ Object ARKIMEXA2 of type str │ ├───────────────┼──────────────────────────────────┤ │ ARKIMEXARS122 │ Object ARKIMEXARS122 of type str │ ├───────────────┼──────────────────────────────────┤ │ ARKIMEXARS443 │ Object ARKIMEXARS443 of type str │ ├───────────────┼──────────────────────────────────┤ │ ARKIMEXBPR3 │ Object ARKIMEXBPR3 of type str │ ├───────────────┼──────────────────────────────────┤ │ ARKIMEXL2 │ Object ARKIMEXL2 of type str │ ├───────────────┼──────────────────────────────────┤ │ ARKIMEXPRSSP2 │ Object ARKIMEXPRSSP2 of type str │ └───────────────┴──────────────────────────────────┘ Attributes Documentation ARKIMEX1BEE: str = ARKIMEX1BEE Object ARKIMEX1BEE of type str ARKIMEX2C: str = ARKIMEX2C Object ARKIMEX2C of type str ARKIMEX2D: str = ARKIMEX2D Object ARKIMEX2D of type str ARKIMEX2E: str = ARKIMEX2E Object ARKIMEX2E of type str ARKIMEX3: str = ARKIMEX3 Object ARKIMEX3 of type str ARKIMEX4: str = ARKIMEX4 Object ARKIMEX4 of type str ARKIMEX5: str = ARKIMEX5 Object ARKIMEX5 of type str ARKIMEXA2: str = ARKIMEXA2 Object ARKIMEXA2 of type str ARKIMEXARS122: str = ARKIMEXARS122 Object ARKIMEXARS122 of type str ARKIMEXARS443: str = ARKIMEXARS443 Object ARKIMEXARS443 of type str ARKIMEXBPR3: str = ARKIMEXBPR3 Object ARKIMEXBPR3 of type str ARKIMEXL2: str = ARKIMEXL2 Object ARKIMEXL2 of type str ARKIMEXPRSSP2: str = ARKIMEXPRSSP2 Object ARKIMEXPRSSP2 of type str petsc4py.PETSc.TS.ConvergedReason class petsc4py.PETSc.TS.ConvergedReason Bases: object The reason the time step is converging. Attributes Summary ┌──────────────────────────┬───────────────────────────────────────┐ │ CONVERGED_EVENT │ Constant CONVERGED_EVENT of type int │ ├──────────────────────────┼───────────────────────────────────────┤ │ CONVERGED_ITERATING │ Constant CONVERGED_ITERATING of type │ │ │ int │ ├──────────────────────────┼───────────────────────────────────────┤ │ CONVERGED_ITS │ Constant CONVERGED_ITS of type int │ ├──────────────────────────┼───────────────────────────────────────┤ │ CONVERGED_TIME │ Constant CONVERGED_TIME of type int │ ├──────────────────────────┼───────────────────────────────────────┤ │ CONVERGED_USER │ Constant CONVERGED_USER of type int │ ├──────────────────────────┼───────────────────────────────────────┤ │ DIVERGED_NONLINEAR_SOLVE │ Constant DIVERGED_NONLINEAR_SOLVE of │ │ │ type int │ ├──────────────────────────┼───────────────────────────────────────┤ │ DIVERGED_STEP_REJECTED │ Constant DIVERGED_STEP_REJECTED of │ │ │ type int │ ├──────────────────────────┼───────────────────────────────────────┤ │ ITERATING │ Constant ITERATING of type int │ └──────────────────────────┴───────────────────────────────────────┘ Attributes Documentation CONVERGED_EVENT: int = CONVERGED_EVENT Constant CONVERGED_EVENT of type int CONVERGED_ITERATING: int = CONVERGED_ITERATING Constant CONVERGED_ITERATING of type int CONVERGED_ITS: int = CONVERGED_ITS Constant CONVERGED_ITS of type int CONVERGED_TIME: int = CONVERGED_TIME Constant CONVERGED_TIME of type int CONVERGED_USER: int = CONVERGED_USER Constant CONVERGED_USER of type int DIVERGED_NONLINEAR_SOLVE: int = DIVERGED_NONLINEAR_SOLVE Constant DIVERGED_NONLINEAR_SOLVE of type int DIVERGED_STEP_REJECTED: int = DIVERGED_STEP_REJECTED Constant DIVERGED_STEP_REJECTED of type int ITERATING: int = ITERATING Constant ITERATING of type int petsc4py.PETSc.TS.DIRKType class petsc4py.PETSc.TS.DIRKType Bases: object The DIRK subtype. Attributes Summary ┌───────────────┬──────────────────────────────────┐ │ DIRK657A │ Object DIRK657A of type str │ ├───────────────┼──────────────────────────────────┤ │ DIRK658A │ Object DIRK658A of type str │ ├───────────────┼──────────────────────────────────┤ │ DIRK7510SAL │ Object DIRK7510SAL of type str │ ├───────────────┼──────────────────────────────────┤ │ DIRK759A │ Object DIRK759A of type str │ ├───────────────┼──────────────────────────────────┤ │ DIRK8614A │ Object DIRK8614A of type str │ ├───────────────┼──────────────────────────────────┤ │ DIRK8616SAL │ Object DIRK8616SAL of type str │ ├───────────────┼──────────────────────────────────┤ │ DIRKES122SAL │ Object DIRKES122SAL of type str │ ├───────────────┼──────────────────────────────────┤ │ DIRKES213SAL │ Object DIRKES213SAL of type str │ ├───────────────┼──────────────────────────────────┤ │ DIRKES324SAL │ Object DIRKES324SAL of type str │ ├───────────────┼──────────────────────────────────┤ │ DIRKES325SAL │ Object DIRKES325SAL of type str │ ├───────────────┼──────────────────────────────────┤ │ DIRKES648SA │ Object DIRKES648SA of type str │ ├───────────────┼──────────────────────────────────┤ │ DIRKES7510SA │ Object DIRKES7510SA of type str │ ├───────────────┼──────────────────────────────────┤ │ DIRKES8516SAL │ Object DIRKES8516SAL of type str │ ├───────────────┼──────────────────────────────────┤ │ DIRKS212 │ Object DIRKS212 of type str │ ├───────────────┼──────────────────────────────────┤ │ DIRKS659A │ Object DIRKS659A of type str │ ├───────────────┼──────────────────────────────────┤ │ DIRKS7511SAL │ Object DIRKS7511SAL of type str │ └───────────────┴──────────────────────────────────┘ Attributes Documentation DIRK657A: str = DIRK657A Object DIRK657A of type str DIRK658A: str = DIRK658A Object DIRK658A of type str DIRK7510SAL: str = DIRK7510SAL Object DIRK7510SAL of type str DIRK759A: str = DIRK759A Object DIRK759A of type str DIRK8614A: str = DIRK8614A Object DIRK8614A of type str DIRK8616SAL: str = DIRK8616SAL Object DIRK8616SAL of type str DIRKES122SAL: str = DIRKES122SAL Object DIRKES122SAL of type str DIRKES213SAL: str = DIRKES213SAL Object DIRKES213SAL of type str DIRKES324SAL: str = DIRKES324SAL Object DIRKES324SAL of type str DIRKES325SAL: str = DIRKES325SAL Object DIRKES325SAL of type str DIRKES648SA: str = DIRKES648SA Object DIRKES648SA of type str DIRKES7510SA: str = DIRKES7510SA Object DIRKES7510SA of type str DIRKES8516SAL: str = DIRKES8516SAL Object DIRKES8516SAL of type str DIRKS212: str = DIRKS212 Object DIRKS212 of type str DIRKS659A: str = DIRKS659A Object DIRKS659A of type str DIRKS7511SAL: str = DIRKS7511SAL Object DIRKS7511SAL of type str petsc4py.PETSc.TS.EquationType class petsc4py.PETSc.TS.EquationType Bases: object Distinguishes among types of explicit and implicit equations. Attributes Summary ┌───────────────────────────┬───────────────────────────────────────┐ │ DAE_IMPLICIT_INDEX1 │ Constant DAE_IMPLICIT_INDEX1 of type │ │ │ int │ ├───────────────────────────┼───────────────────────────────────────┤ │ DAE_IMPLICIT_INDEX2 │ Constant DAE_IMPLICIT_INDEX2 of type │ │ │ int │ ├───────────────────────────┼───────────────────────────────────────┤ │ DAE_IMPLICIT_INDEX3 │ Constant DAE_IMPLICIT_INDEX3 of type │ │ │ int │ ├───────────────────────────┼───────────────────────────────────────┤ │ DAE_IMPLICIT_INDEXHI │ Constant DAE_IMPLICIT_INDEXHI of type │ │ │ int │ ├───────────────────────────┼───────────────────────────────────────┤ │ DAE_SEMI_EXPLICIT_INDEX1 │ Constant DAE_SEMI_EXPLICIT_INDEX1 of │ │ │ type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ DAE_SEMI_EXPLICIT_INDEX2 │ Constant DAE_SEMI_EXPLICIT_INDEX2 of │ │ │ type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ DAE_SEMI_EXPLICIT_INDEX3 │ Constant DAE_SEMI_EXPLICIT_INDEX3 of │ │ │ type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ DAE_SEMI_EXPLICIT_INDEXHI │ Constant DAE_SEMI_EXPLICIT_INDEXHI of │ │ │ type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ EXPLICIT │ Constant EXPLICIT of type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ IMPLICIT │ Constant IMPLICIT of type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ ODE_EXPLICIT │ Constant ODE_EXPLICIT of type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ ODE_IMPLICIT │ Constant ODE_IMPLICIT of type int │ ├───────────────────────────┼───────────────────────────────────────┤ │ UNSPECIFIED │ Constant UNSPECIFIED of type int │ └───────────────────────────┴───────────────────────────────────────┘ Attributes Documentation DAE_IMPLICIT_INDEX1: int = DAE_IMPLICIT_INDEX1 Constant DAE_IMPLICIT_INDEX1 of type int DAE_IMPLICIT_INDEX2: int = DAE_IMPLICIT_INDEX2 Constant DAE_IMPLICIT_INDEX2 of type int DAE_IMPLICIT_INDEX3: int = DAE_IMPLICIT_INDEX3 Constant DAE_IMPLICIT_INDEX3 of type int DAE_IMPLICIT_INDEXHI: int = DAE_IMPLICIT_INDEXHI Constant DAE_IMPLICIT_INDEXHI of type int DAE_SEMI_EXPLICIT_INDEX1: int = DAE_SEMI_EXPLICIT_INDEX1 Constant DAE_SEMI_EXPLICIT_INDEX1 of type int DAE_SEMI_EXPLICIT_INDEX2: int = DAE_SEMI_EXPLICIT_INDEX2 Constant DAE_SEMI_EXPLICIT_INDEX2 of type int DAE_SEMI_EXPLICIT_INDEX3: int = DAE_SEMI_EXPLICIT_INDEX3 Constant DAE_SEMI_EXPLICIT_INDEX3 of type int DAE_SEMI_EXPLICIT_INDEXHI: int = DAE_SEMI_EXPLICIT_INDEXHI Constant DAE_SEMI_EXPLICIT_INDEXHI of type int EXPLICIT: int = EXPLICIT Constant EXPLICIT of type int IMPLICIT: int = IMPLICIT Constant IMPLICIT of type int ODE_EXPLICIT: int = ODE_EXPLICIT Constant ODE_EXPLICIT of type int ODE_IMPLICIT: int = ODE_IMPLICIT Constant ODE_IMPLICIT of type int UNSPECIFIED: int = UNSPECIFIED Constant UNSPECIFIED of type int petsc4py.PETSc.TS.ExactFinalTime class petsc4py.PETSc.TS.ExactFinalTime Bases: object The method for ending time stepping. Attributes Summary ┌─────────────┬──────────────────────────────────┐ │ INTERPOLATE │ Constant INTERPOLATE of type int │ ├─────────────┼──────────────────────────────────┤ │ MATCHSTEP │ Constant MATCHSTEP of type int │ ├─────────────┼──────────────────────────────────┤ │ STEPOVER │ Constant STEPOVER of type int │ ├─────────────┼──────────────────────────────────┤ │ UNSPECIFIED │ Constant UNSPECIFIED of type int │ └─────────────┴──────────────────────────────────┘ Attributes Documentation INTERPOLATE: int = INTERPOLATE Constant INTERPOLATE of type int MATCHSTEP: int = MATCHSTEP Constant MATCHSTEP of type int STEPOVER: int = STEPOVER Constant STEPOVER of type int UNSPECIFIED: int = UNSPECIFIED Constant UNSPECIFIED of type int petsc4py.PETSc.TS.ProblemType class petsc4py.PETSc.TS.ProblemType Bases: object Distinguishes linear and nonlinear problems. Attributes Summary ┌───────────┬────────────────────────────────┐ │ LINEAR │ Constant LINEAR of type int │ ├───────────┼────────────────────────────────┤ │ NONLINEAR │ Constant NONLINEAR of type int │ └───────────┴────────────────────────────────┘ Attributes Documentation LINEAR: int = LINEAR Constant LINEAR of type int NONLINEAR: int = NONLINEAR Constant NONLINEAR of type int petsc4py.PETSc.TS.RKType class petsc4py.PETSc.TS.RKType Bases: object The RK subtype. Attributes Summary ┌───────┬──────────────────────────┐ │ RK1FE │ Object RK1FE of type str │ ├───────┼──────────────────────────┤ │ RK2A │ Object RK2A of type str │ ├───────┼──────────────────────────┤ │ RK2B │ Object RK2B of type str │ ├───────┼──────────────────────────┤ │ RK3 │ Object RK3 of type str │ ├───────┼──────────────────────────┤ │ RK3BS │ Object RK3BS of type str │ ├───────┼──────────────────────────┤ │ RK4 │ Object RK4 of type str │ ├───────┼──────────────────────────┤ │ RK5BS │ Object RK5BS of type str │ ├───────┼──────────────────────────┤ │ RK5DP │ Object RK5DP of type str │ ├───────┼──────────────────────────┤ │ RK5F │ Object RK5F of type str │ ├───────┼──────────────────────────┤ │ RK6VR │ Object RK6VR of type str │ ├───────┼──────────────────────────┤ │ RK7VR │ Object RK7VR of type str │ ├───────┼──────────────────────────┤ │ RK8VR │ Object RK8VR of type str │ └───────┴──────────────────────────┘ Attributes Documentation RK1FE: str = RK1FE Object RK1FE of type str RK2A: str = RK2A Object RK2A of type str RK2B: str = RK2B Object RK2B of type str RK3: str = RK3 Object RK3 of type str RK3BS: str = RK3BS Object RK3BS of type str RK4: str = RK4 Object RK4 of type str RK5BS: str = RK5BS Object RK5BS of type str RK5DP: str = RK5DP Object RK5DP of type str RK5F: str = RK5F Object RK5F of type str RK6VR: str = RK6VR Object RK6VR of type str RK7VR: str = RK7VR Object RK7VR of type str RK8VR: str = RK8VR Object RK8VR of type str petsc4py.PETSc.TS.Type class petsc4py.PETSc.TS.Type Bases: object The time stepping method. Attributes Summary ┌─────────────────┬────────────────────────────────────┐ │ ALPHA │ Object ALPHA of type str │ ├─────────────────┼────────────────────────────────────┤ │ ALPHA2 │ Object ALPHA2 of type str │ ├─────────────────┼────────────────────────────────────┤ │ ARKIMEX │ Object ARKIMEX of type str │ ├─────────────────┼────────────────────────────────────┤ │ BASICSYMPLECTIC │ Object BASICSYMPLECTIC of type str │ ├─────────────────┼────────────────────────────────────┤ │ BDF │ Object BDF of type str │ ├─────────────────┼────────────────────────────────────┤ │ BE │ Object BE of type str │ ├─────────────────┼────────────────────────────────────┤ │ BEULER │ Object BEULER of type str │ ├─────────────────┼────────────────────────────────────┤ │ CN │ Object CN of type str │ ├─────────────────┼────────────────────────────────────┤ │ CRANK_NICOLSON │ Object CRANK_NICOLSON of type str │ ├─────────────────┼────────────────────────────────────┤ │ DIRK │ Object DIRK of type str │ ├─────────────────┼────────────────────────────────────┤ │ DISCGRAD │ Object DISCGRAD of type str │ ├─────────────────┼────────────────────────────────────┤ │ EIMEX │ Object EIMEX of type str │ ├─────────────────┼────────────────────────────────────┤ │ EULER │ Object EULER of type str │ ├─────────────────┼────────────────────────────────────┤ │ FE │ Object FE of type str │ ├─────────────────┼────────────────────────────────────┤ │ GLEE │ Object GLEE of type str │ ├─────────────────┼────────────────────────────────────┤ │ GLLE │ Object GLLE of type str │ ├─────────────────┼────────────────────────────────────┤ │ MIMEX │ Object MIMEX of type str │ ├─────────────────┼────────────────────────────────────┤ │ MPRK │ Object MPRK of type str │ ├─────────────────┼────────────────────────────────────┤ │ PSEUDO │ Object PSEUDO of type str │ ├─────────────────┼────────────────────────────────────┤ │ PYTHON │ Object PYTHON of type str │ ├─────────────────┼────────────────────────────────────┤ │ RADAU5 │ Object RADAU5 of type str │ ├─────────────────┼────────────────────────────────────┤ │ RK │ Object RK of type str │ ├─────────────────┼────────────────────────────────────┤ │ ROSW │ Object ROSW of type str │ ├─────────────────┼────────────────────────────────────┤ │ RUNGE_KUTTA │ Object RUNGE_KUTTA of type str │ ├─────────────────┼────────────────────────────────────┤ │ SSP │ Object SSP of type str │ ├─────────────────┼────────────────────────────────────┤ │ SUNDIALS │ Object SUNDIALS of type str │ ├─────────────────┼────────────────────────────────────┤ │ TH │ Object TH of type str │ ├─────────────────┼────────────────────────────────────┤ │ THETA │ Object THETA of type str │ └─────────────────┴────────────────────────────────────┘ Attributes Documentation ALPHA: str = ALPHA Object ALPHA of type str ALPHA2: str = ALPHA2 Object ALPHA2 of type str ARKIMEX: str = ARKIMEX Object ARKIMEX of type str BASICSYMPLECTIC: str = BASICSYMPLECTIC Object BASICSYMPLECTIC of type str BDF: str = BDF Object BDF of type str BE: str = BE Object BE of type str BEULER: str = BEULER Object BEULER of type str CN: str = CN Object CN of type str CRANK_NICOLSON: str = CRANK_NICOLSON Object CRANK_NICOLSON of type str DIRK: str = DIRK Object DIRK of type str DISCGRAD: str = DISCGRAD Object DISCGRAD of type str EIMEX: str = EIMEX Object EIMEX of type str EULER: str = EULER Object EULER of type str FE: str = FE Object FE of type str GLEE: str = GLEE Object GLEE of type str GLLE: str = GLLE Object GLLE of type str MIMEX: str = MIMEX Object MIMEX of type str MPRK: str = MPRK Object MPRK of type str PSEUDO: str = PSEUDO Object PSEUDO of type str PYTHON: str = PYTHON Object PYTHON of type str RADAU5: str = RADAU5 Object RADAU5 of type str RK: str = RK Object RK of type str ROSW: str = ROSW Object ROSW of type str RUNGE_KUTTA: str = RUNGE_KUTTA Object RUNGE_KUTTA of type str SSP: str = SSP Object SSP of type str SUNDIALS: str = SUNDIALS Object SUNDIALS of type str TH: str = TH Object TH of type str THETA: str = THETA Object THETA of type str Methods Summary ┌───────────────────────────────────────┬───────────────────────────────────────┐ │ adjointReset() │ Reset a TS, removing any allocated │ │ │ vectors and matrices. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ adjointSetSteps(adjoint_steps) │ Set the number of steps the adjoint │ │ │ solver should take backward in time. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ adjointSetUp() │ Set up the internal data structures │ │ │ for the later use of an adjoint │ │ │ solver. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ adjointSolve() │ Solve the discrete adjoint problem │ │ │ for an ODE/DAE. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ adjointStep() │ Step one time step backward in the │ │ │ adjoint run. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ appendOptionsPrefix(prefix) │ Append to the prefix used for all the │ │ │ TS options. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ clone() │ Return a shallow clone of the TS │ │ │ object. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ computeI2Function(t, x, xdot, │ Evaluate the DAE residual in implicit │ │ xdotdot, f) │ form. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ computeI2Jacobian(t, x, xdot, │ Evaluate the Jacobian of the DAE. │ │ xdotdot, v, a, J) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ computeIFunction(t, x, xdot, f[, │ Evaluate the DAE residual written in │ │ imex]) │ implicit form. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ computeIJacobian(t, x, xdot, a, J[, │ Evaluate the Jacobian of the DAE. │ │ P, imex]) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ computeIJacobianP(t, x, xdot, a, J[, │ Evaluate the Jacobian with respect to │ │ imex]) │ parameters. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ computeRHSFunction(t, x, f) │ Evaluate the right-hand side │ │ │ function. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ computeRHSFunctionLinear(t, x, f) │ Evaluate the right-hand side via the │ │ │ user-provided Jacobian. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ computeRHSJacobian(t, x, J[, P]) │ Compute the Jacobian matrix that has │ │ │ been set with setRHSJacobian. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ computeRHSJacobianConstant(t, x, J[, │ Reuse a Jacobian that is │ │ P]) │ time-independent. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ computeRHSJacobianP(t, x, J) │ Run the user-defined JacobianP │ │ │ function. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ create([comm]) │ Create an empty TS. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createPython([context, comm]) │ Create an integrator of Python type. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createQuadratureTS([forward]) │ Create a sub TS that evaluates │ │ │ integrals over time. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy the TS that was created with │ │ │ create. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getARKIMEXType() │ Return the Type.ARKIMEX scheme. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getAlphaParams() │ Return the algorithmic parameters for │ │ │ Type.ALPHA. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getAppCtx() │ Return the application context. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getConvergedReason() │ Return the reason the TS step was │ │ │ stopped. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getCostGradients() │ Return the cost gradients. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getCostIntegral() │ Return a vector of values of the │ │ │ integral term in the cost functions. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getDIRKType() │ Return the Type.DIRK scheme. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getDM() │ Return the DM associated with the TS. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getEquationType() │ Get the type of the equation that TS │ │ │ is solving. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getI2Function() │ Return the vector and function which │ │ │ computes the residual. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getI2Jacobian() │ Return the matrices and function │ │ │ which computes the Jacobian. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getIFunction() │ Return the vector and function which │ │ │ computes the implicit residual. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getIJacobian() │ Return the matrices and function │ │ │ which computes the implicit Jacobian. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getKSP() │ Return the KSP associated with the │ │ │ TS. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getKSPIterations() │ Return the total number of linear │ │ │ iterations used by the TS. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getMaxSteps() │ Return the maximum number of steps to │ │ │ use. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getMaxTime() │ Return the maximum (final) time. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getMonitor() │ Return the monitor. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getNumEvents() │ Return the number of events. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getOptionsPrefix() │ Return the prefix used for all the TS │ │ │ options. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getPostStep() │ Return the poststep function. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getPreStep() │ Return the prestep function. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getPrevTime() │ Return the starting time of the │ │ │ previously completed step. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getProblemType() │ Return the type of problem to be │ │ │ solved. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getPythonContext() │ Return the instance of the class │ │ │ implementing the required Python │ │ │ methods. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getPythonType() │ Return the fully qualified Python │ │ │ name of the class used by the solver. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getQuadratureTS() │ Return the sub TS that evaluates │ │ │ integrals over time. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getRHSFunction() │ Return the vector where the rhs is │ │ │ stored and the function used to │ │ │ compute it. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getRHSJacobian() │ Return the Jacobian and the function │ │ │ used to compute them. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getRKType() │ Return the Type.RK scheme. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getSNES() │ Return the SNES associated with the │ │ │ TS. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getSNESFailures() │ Return the total number of failed │ │ │ SNES solves in the TS. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getSNESIterations() │ Return the total number of nonlinear │ │ │ iterations used by the TS. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getSolution() │ Return the solution at the present │ │ │ timestep. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getSolution2() │ Return the solution and time │ │ │ derivative at the present timestep. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getSolveTime() │ Return the time after a call to │ │ │ solve. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getStepLimits() │ Return the minimum and maximum │ │ │ allowed time step sizes. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getStepNumber() │ Return the number of time steps │ │ │ completed. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getStepRejections() │ Return the total number of rejected │ │ │ steps. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getTheta() │ Return the abscissa of the stage in │ │ │ (0, 1] for Type.THETA. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getThetaEndpoint() │ Return whether the endpoint variable │ │ │ of Type.THETA is used. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getTime() │ Return the time of the most recently │ │ │ completed step. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getTimeSpan() │ Return the time span. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getTimeSpanSolutions() │ Return the solutions at the times in │ │ │ the time span. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getTimeStep() │ Return the duration of the current │ │ │ timestep. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getTolerances() │ Return the tolerances for local │ │ │ truncation error. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getType() │ Return the TS type. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ interpolate(t, u) │ Interpolate the solution to a given │ │ │ time. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ load(viewer) │ Load a TS that has been stored in │ │ │ binary with view. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ monitor(step, time[, u]) │ Monitor the solve. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ monitorCancel() │ Clear all the monitors that have been │ │ │ set. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ removeTrajectory() │ Remove the internal TS trajectory │ │ │ object. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ reset() │ Reset the TS, removing any allocated │ │ │ vectors and matrices. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ restartStep() │ Flag the solver to restart the next │ │ │ step. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ rollBack() │ Roll back one time step. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setARKIMEXFastSlowSplit(flag) │ Use ARKIMEX for solving a fast-slow │ │ │ system. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setARKIMEXFullyImplicit(flag) │ Solve both parts of the equation │ │ │ implicitly. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setARKIMEXType(ts_type) │ Set the type of Type.ARKIMEX scheme. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setAlphaParams([alpha_m, alpha_f, │ Set the algorithmic parameters for │ │ gamma]) │ Type.ALPHA. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setAlphaRadius(radius) │ Set the spectral radius for │ │ │ Type.ALPHA. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setAppCtx(appctx) │ Set the application context. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setConvergedReason(reason) │ Set the reason for handling the │ │ │ convergence of solve. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setCostGradients(vl[, vm]) │ Set the cost gradients. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setDIRKType(ts_type) │ Set the type of Type.DIRK scheme. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setDM(dm) │ Set the DM that may be used by some │ │ │ nonlinear solvers or preconditioners. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setEquationType(eqtype) │ Set the type of the equation that TS │ │ │ is solving. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setErrorIfStepFails([flag]) │ Immediately error is no step │ │ │ succeeds. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setEventHandler(direction, terminate, │ Set a function used for detecting │ │ indicator) │ events. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setEventTolerances([tol, vtol]) │ Set tolerances for event zero │ │ │ crossings when using event handler. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setExactFinalTime(option) │ Set method of computing the final │ │ │ time step. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFromOptions() │ Set various TS parameters from user │ │ │ options. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setI2Function(function[, f, args, │ Set the function to compute the 2nd │ │ kargs]) │ order DAE. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setI2Jacobian(jacobian[, J, P, args, │ Set the function to compute the │ │ kargs]) │ Jacobian of the 2nd order DAE. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setIFunction(function[, f, args, │ Set the function representing the DAE │ │ kargs]) │ to be solved. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setIJacobian(jacobian[, J, P, args, │ Set the function to compute the │ │ kargs]) │ Jacobian. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setIJacobianP(jacobian[, J, args, │ Set the function that computes the │ │ kargs]) │ Jacobian. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setMaxSNESFailures(n) │ Set the maximum number of SNES solves │ │ │ failures allowed. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setMaxStepRejections(n) │ Set the maximum number of step │ │ │ rejections before a time step fails. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setMaxSteps(max_steps) │ Set the maximum number of steps to │ │ │ use. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setMaxTime(max_time) │ Set the maximum (final) time. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setMonitor(monitor[, args, kargs]) │ Set an additional monitor to the TS. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setOptionsPrefix(prefix) │ Set the prefix used for all the TS │ │ │ options. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setPostStep(poststep[, args, kargs]) │ Set a function to be called at the │ │ │ end of each time step. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setPreStep(prestep[, args, kargs]) │ Set a function to be called at the │ │ │ beginning of each time step. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setProblemType(ptype) │ Set the type of problem to be solved. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setPythonContext(context) │ Set the instance of the class │ │ │ implementing the required Python │ │ │ methods. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setPythonType(py_type) │ Set the fully qualified Python name │ │ │ of the class to be used. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setRHSFunction(function[, f, args, │ Set the routine for evaluating the │ │ kargs]) │ function G in U_t = G(t, u). │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setRHSJacobian(jacobian[, J, P, args, │ Set the function to compute the │ │ kargs]) │ Jacobian of G in U_t = G(U, t). │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setRHSJacobianP(jacobianp[, A, args, │ Set the function that computes the │ │ kargs]) │ Jacobian with respect to the │ │ │ parameters. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setRHSSplitIFunction(splitname, │ Set the split implicit functions. │ │ function[, ...]) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setRHSSplitIJacobian(splitname, │ Set the Jacobian for the split │ │ jacobian[, ...]) │ implicit function. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setRHSSplitIS(splitname, iss) │ Set the index set for the specified │ │ │ split. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setRHSSplitRHSFunction(splitname, │ Set the split right-hand-side │ │ function) │ functions. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setRKType(ts_type) │ Set the type of the Runge-Kutta │ │ │ scheme. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setSaveTrajectory() │ Enable to save solutions as an │ │ │ internal TS trajectory. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setSolution(u) │ Set the initial solution vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setSolution2(u, v) │ Set the initial solution and its time │ │ │ derivative. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setStepLimits(hmin, hmax) │ Set the minimum and maximum allowed │ │ │ step sizes. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setStepNumber(step_number) │ Set the number of steps completed. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setTheta(theta) │ Set the abscissa of the stage in (0, │ │ │ 1] for Type.THETA. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setThetaEndpoint([flag]) │ Set to use the endpoint variant of │ │ │ Type.THETA. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setTime(t) │ Set the time. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setTimeSpan(tspan) │ Set the time span. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setTimeStep(time_step) │ Set the duration of the timestep. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setTolerances([rtol, atol]) │ Set tolerances for local truncation │ │ │ error when using an adaptive │ │ │ controller. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setType(ts_type) │ Set the method to be used as the TS │ │ │ solver. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setUp() │ Set up the internal data structures │ │ │ for the TS. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ solve([u]) │ Step the requested number of │ │ │ timesteps. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ step() │ Take one step. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ Print the TS object. │ └───────────────────────────────────────┴───────────────────────────────────────┘ Attributes Summary ┌───────────────┬──────────────────────────────────────┐ │ appctx │ Application context. │ ├───────────────┼──────────────────────────────────────┤ │ atol │ The absolute tolerance. │ ├───────────────┼──────────────────────────────────────┤ │ converged │ Indicates the TS has converged. │ ├───────────────┼──────────────────────────────────────┤ │ diverged │ Indicates the TS has stopped. │ ├───────────────┼──────────────────────────────────────┤ │ dm │ The DM. │ ├───────────────┼──────────────────────────────────────┤ │ equation_type │ The equation type. │ ├───────────────┼──────────────────────────────────────┤ │ iterating │ Indicates the TS is still iterating. │ ├───────────────┼──────────────────────────────────────┤ │ ksp │ The KSP. │ ├───────────────┼──────────────────────────────────────┤ │ max_steps │ The maximum number of steps. │ ├───────────────┼──────────────────────────────────────┤ │ max_time │ The maximum time. │ ├───────────────┼──────────────────────────────────────┤ │ problem_type │ The problem type. │ ├───────────────┼──────────────────────────────────────┤ │ reason │ The converged reason. │ ├───────────────┼──────────────────────────────────────┤ │ rtol │ The relative tolerance. │ ├───────────────┼──────────────────────────────────────┤ │ snes │ The SNES. │ ├───────────────┼──────────────────────────────────────┤ │ step_number │ The current step number. │ ├───────────────┼──────────────────────────────────────┤ │ time │ The current time. │ ├───────────────┼──────────────────────────────────────┤ │ time_step │ The current time step size. │ ├───────────────┼──────────────────────────────────────┤ │ vec_sol │ The solution vector. │ └───────────────┴──────────────────────────────────────┘ Methods Documentation adjointReset() Reset a TS, removing any allocated vectors and matrices. Collective. SEE ALSO: TSAdjointReset Source code at petsc4py/PETSc/TS.pyx:2849 Return type None adjointSetSteps(adjoint_steps) Set the number of steps the adjoint solver should take backward in time. Logically collective. Parameters adjoint_steps (int) -- The number of steps to take. Return type None SEE ALSO: TSAdjointSetSteps Source code at petsc4py/PETSc/TS.pyx:2795 adjointSetUp() Set up the internal data structures for the later use of an adjoint solver. Collective. SEE ALSO: TSAdjointSetUp Source code at petsc4py/PETSc/TS.pyx:2813 Return type None adjointSolve() Solve the discrete adjoint problem for an ODE/DAE. Collective. SEE ALSO: TSAdjointSolve Source code at petsc4py/PETSc/TS.pyx:2825 Return type None adjointStep() Step one time step backward in the adjoint run. Collective. SEE ALSO: TSAdjointStep Source code at petsc4py/PETSc/TS.pyx:2837 Return type None appendOptionsPrefix(prefix) Append to the prefix used for all the TS options. Logically collective. Parameters prefix (str | None) -- The prefix to append to the current prefix. Return type None Notes A hyphen must not be given at the beginning of the prefix name. SEE ALSO: Working with PETSc options, TSAppendOptionsPrefix Source code at petsc4py/PETSc/TS.pyx:539 clone() Return a shallow clone of the TS object. Collective. SEE ALSO: TSClone Source code at petsc4py/PETSc/TS.pyx:243 Return type TS computeI2Function(t, x, xdot, xdotdot, f) Evaluate the DAE residual in implicit form. Collective. Parameters • t (float) -- The current time. • x (Vec) -- The state vector. • xdot (Vec) -- The time derivative of the state vector. • xdotdot (Vec) -- The second time derivative of the state vector. • f (Vec) -- The vector into which the residual is stored. Return type None SEE ALSO: TSComputeI2Function Source code at petsc4py/PETSc/TS.pyx:1142 computeI2Jacobian(t, x, xdot, xdotdot, v, a, J, P=None) Evaluate the Jacobian of the DAE. Collective. If F(t, U, V, A)=0 is the DAE, the required Jacobian is dF/dU + v dF/dV + a dF/dA. Parameters • t (float) -- The current time. • x (Vec) -- The state vector. • xdot (Vec) -- The time derivative of the state vector. • xdotdot (Vec) -- The second time derivative of the state vector. • v (float) -- The shift to apply to the first derivative. • a (float) -- The shift to apply to the second derivative. • J (Mat) -- The matrix into which the Jacobian is computed. • P (Mat | None) -- The optional matrix to use for building a preconditioner matrix. Return type None SEE ALSO: TSComputeI2Jacobian Source code at petsc4py/PETSc/TS.pyx:1169 computeIFunction(t, x, xdot, f, imex=False) Evaluate the DAE residual written in implicit form. Collective. Parameters • t (float) -- The current time. • x (Vec) -- The state vector. • xdot (Vec) -- The time derivative of the state vector. • f (Vec) -- The vector into which the residual is stored. • imex (bool) -- A flag which indicates if the RHS should be kept separate. Return type None SEE ALSO: TSComputeIFunction Source code at petsc4py/PETSc/TS.pyx:927 computeIJacobian(t, x, xdot, a, J, P=None, imex=False) Evaluate the Jacobian of the DAE. Collective. If F(t, U, Udot)=0 is the DAE, the required Jacobian is dF/dU + shift*dF/dUdot Parameters • t (float) -- The current time. • x (Vec) -- The state vector. • xdot (Vec) -- The time derivative of the state vector. • a (float) -- The shift to apply • J (Mat) -- The matrix into which the Jacobian is computed. • P (Mat | None) -- The optional matrix to use for building a preconditioner matrix. • imex (bool) -- A flag which indicates if the RHS should be kept separate. Return type None SEE ALSO: TSComputeIJacobian Source code at petsc4py/PETSc/TS.pyx:957 computeIJacobianP(t, x, xdot, a, J, imex=False) Evaluate the Jacobian with respect to parameters. Collective. Parameters • t (float) -- The current time. • x (Vec) -- The state vector. • xdot (Vec) -- The time derivative of the state vector. • a (float) -- The shift to apply • J (Mat) -- The matrix into which the Jacobian is computed. • imex (bool) -- A flag which indicates if the RHS should be kept separate. Return type None SEE ALSO: TSComputeIJacobianP Source code at petsc4py/PETSc/TS.pyx:997 computeRHSFunction(t, x, f) Evaluate the right-hand side function. Collective. Parameters • t (float) -- The time at which to evaluate the RHS. • x (Vec) -- The state vector. • f (Vec) -- The Vec into which the RHS is computed. Return type None SEE ALSO: TSComputeRHSFunction Source code at petsc4py/PETSc/TS.pyx:674 computeRHSFunctionLinear(t, x, f) Evaluate the right-hand side via the user-provided Jacobian. Collective. Parameters • t (float) -- The time at which to evaluate the RHS. • x (Vec) -- The state vector. • f (Vec) -- The Vec into which the RHS is computed. Return type None SEE ALSO: TSComputeRHSFunctionLinear Source code at petsc4py/PETSc/TS.pyx:696 computeRHSJacobian(t, x, J, P=None) Compute the Jacobian matrix that has been set with setRHSJacobian. Collective. Parameters • t (float) -- The time at which to evaluate the Jacobian. • x (Vec) -- The state vector. • J (Mat) -- The matrix into which the Jacobian is computed. • P (Mat | None) -- The optional matrix to use for building a preconditioner matrix. Return type None SEE ALSO: TSComputeRHSJacobian Source code at petsc4py/PETSc/TS.pyx:718 computeRHSJacobianConstant(t, x, J, P=None) Reuse a Jacobian that is time-independent. Collective. Parameters • t (float) -- The time at which to evaluate the Jacobian. • x (Vec) -- The state vector. • J (Mat) -- A pointer to the stored Jacobian. • P (Mat | None) -- An optional pointer to the preconditioner matrix. Return type None SEE ALSO: TSComputeRHSJacobianConstant Source code at petsc4py/PETSc/TS.pyx:744 computeRHSJacobianP(t, x, J) Run the user-defined JacobianP function. Collective. Parameters • t (float) -- The time at which to compute the Jacobian. • x (Vec) -- The solution at which to compute the Jacobian. • J (Mat) -- The output Jacobian matrix. Return type None SEE ALSO: TSComputeRHSJacobianP Source code at petsc4py/PETSc/TS.pyx:2773 create(comm=None) Create an empty TS. Collective. The problem type can then be set with setProblemType and the type of solver can then be set with setType. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: TSCreate Source code at petsc4py/PETSc/TS.pyx:219 createPython(context=None, comm=None) Create an integrator of Python type. Collective. Parameters • context (Any) -- An instance of the Python class implementing the required methods. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: PETSc Python ode-integrator type (TODO), setType, setPythonContext, Type.PYTHON Source code at petsc4py/PETSc/TS.pyx:2863 createQuadratureTS(forward=True) Create a sub TS that evaluates integrals over time. Collective. Parameters forward (bool) -- Enable to evaluate forward in time. Return type TS SEE ALSO: TSCreateQuadratureTS Source code at petsc4py/PETSc/TS.pyx:2692 destroy() Destroy the TS that was created with create. Collective. SEE ALSO: TSDestroy Source code at petsc4py/PETSc/TS.pyx:206 Return type Self getARKIMEXType() Return the Type.ARKIMEX scheme. Not collective. SEE ALSO: TSARKIMEXGetType Source code at petsc4py/PETSc/TS.pyx:389 Return type str getAlphaParams() Return the algorithmic parameters for Type.ALPHA. Not collective. SEE ALSO: TSAlphaGetParams Source code at petsc4py/PETSc/TS.pyx:3070 Return type tuple[float, float, float] getAppCtx() Return the application context. Source code at petsc4py/PETSc/TS.pyx:589 Return type Any getConvergedReason() Return the reason the TS step was stopped. Not collective. Can only be called once solve is complete. SEE ALSO: TSGetConvergedReason Source code at petsc4py/PETSc/TS.pyx:2090 Return type ConvergedReason getCostGradients() Return the cost gradients. Not collective. SEE ALSO: setCostGradients, TSGetCostGradients Source code at petsc4py/PETSc/TS.pyx:2634 Return type tuple[list[Vec], list[Vec]] getCostIntegral() Return a vector of values of the integral term in the cost functions. Not collective. SEE ALSO: TSGetCostIntegral Source code at petsc4py/PETSc/TS.pyx:2573 Return type Vec getDIRKType() Return the Type.DIRK scheme. Not collective. SEE ALSO: setDIRKType, TSDIRKGetType Source code at petsc4py/PETSc/TS.pyx:426 Return type str getDM() Return the DM associated with the TS. Not collective. Only valid if nonlinear solvers or preconditioners are used which use the DM. SEE ALSO: TSGetDM Source code at petsc4py/PETSc/TS.pyx:1589 Return type DM getEquationType() Get the type of the equation that TS is solving. Not collective. SEE ALSO: TSGetEquationType Source code at petsc4py/PETSc/TS.pyx:488 Return type EquationType getI2Function() Return the vector and function which computes the residual. Not collective. SEE ALSO: TSGetI2Function Source code at petsc4py/PETSc/TS.pyx:1218 Return type tuple[Vec, TSI2Function] getI2Jacobian() Return the matrices and function which computes the Jacobian. Not collective. SEE ALSO: TSGetI2Jacobian Source code at petsc4py/PETSc/TS.pyx:1234 Return type tuple[Mat, Mat, TSI2Jacobian] getIFunction() Return the vector and function which computes the implicit residual. Not collective. SEE ALSO: TSGetIFunction Source code at petsc4py/PETSc/TS.pyx:1031 Return type tuple[Vec, TSIFunction] getIJacobian() Return the matrices and function which computes the implicit Jacobian. Not collective. SEE ALSO: TSGetIJacobian Source code at petsc4py/PETSc/TS.pyx:1047 Return type tuple[Mat, Mat, TSIJacobian] getKSP() Return the KSP associated with the TS. Not collective. SEE ALSO: TSGetKSP Source code at petsc4py/PETSc/TS.pyx:1572 Return type KSP getKSPIterations() Return the total number of linear iterations used by the TS. Not collective. This counter is reset to zero for each successive call to solve. SEE ALSO: TSGetKSPIterations Source code at petsc4py/PETSc/TS.pyx:1857 Return type int getMaxSteps() Return the maximum number of steps to use. Not collective. SEE ALSO: TSGetMaxSteps Source code at petsc4py/PETSc/TS.pyx:1826 Return type int getMaxTime() Return the maximum (final) time. Not collective. Defaults to 5. SEE ALSO: TSGetMaxTime Source code at petsc4py/PETSc/TS.pyx:1790 Return type float getMonitor() Return the monitor. Not collective. SEE ALSO: setMonitor Source code at petsc4py/PETSc/TS.pyx:2142 Return type list[tuple[TSMonitorFunction, tuple[Any, ...], dict[str, Any]]] getNumEvents() Return the number of events. Logically collective. SEE ALSO: TSGetNumEvents Source code at petsc4py/PETSc/TS.pyx:2289 Return type int getOptionsPrefix() Return the prefix used for all the TS options. Not collective. SEE ALSO: TSGetOptionsPrefix Source code at petsc4py/PETSc/TS.pyx:525 Return type str getPostStep() Return the poststep function. Source code at petsc4py/PETSc/TS.pyx:2382 Return type tuple[TSPostStepFunction, tuple[Any, ...] | None, dict[str, Any] | None] getPreStep() Return the prestep function. Not collective. SEE ALSO: setPreStep Source code at petsc4py/PETSc/TS.pyx:2338 Return type tuple[TSPreStepFunction, tuple[Any, ...] | None, dict[str, Any] | None] getPrevTime() Return the starting time of the previously completed step. Not collective. SEE ALSO: TSGetPrevTime Source code at petsc4py/PETSc/TS.pyx:1664 Return type float getProblemType() Return the type of problem to be solved. Not collective. SEE ALSO: TSGetProblemType Source code at petsc4py/PETSc/TS.pyx:457 Return type ProblemType getPythonContext() Return the instance of the class implementing the required Python methods. Not collective. SEE ALSO: PETSc Python ode-integrator type (TODO), setPythonContext Source code at petsc4py/PETSc/TS.pyx:2900 Return type Any getPythonType() Return the fully qualified Python name of the class used by the solver. Not collective. SEE ALSO: PETSc Python ode-integrator type (TODO), setPythonContext, setPythonType, ‐ TSPythonGetType Source code at petsc4py/PETSc/TS.pyx:2929 Return type str getQuadratureTS() Return the sub TS that evaluates integrals over time. Not collective. Returns • forward (bool) -- True if evaluating the integral forward in time • qts (TS) -- The sub TS Return type tuple[bool, TS] SEE ALSO: TSGetQuadratureTS Source code at petsc4py/PETSc/TS.pyx:2713 getRHSFunction() Return the vector where the rhs is stored and the function used to compute it. Not collective. SEE ALSO: TSGetRHSFunction Source code at petsc4py/PETSc/TS.pyx:770 Return type tuple[Vec, TSRHSFunction] getRHSJacobian() Return the Jacobian and the function used to compute them. Not collective. SEE ALSO: TSGetRHSJacobian Source code at petsc4py/PETSc/TS.pyx:786 Return type tuple[Mat, Mat, TSRHSJacobian] getRKType() Return the Type.RK scheme. Not collective. SEE ALSO: TSRKGetType Source code at petsc4py/PETSc/TS.pyx:375 Return type str getSNES() Return the SNES associated with the TS. Not collective. SEE ALSO: TSGetSNES Source code at petsc4py/PETSc/TS.pyx:1557 Return type SNES getSNESFailures() Return the total number of failed SNES solves in the TS. Not collective. This counter is reset to zero for each successive call to solve. SEE ALSO: TSGetSNESFailures Source code at petsc4py/PETSc/TS.pyx:1931 Return type int getSNESIterations() Return the total number of nonlinear iterations used by the TS. Not collective. This counter is reset to zero for each successive call to solve. SEE ALSO: TSGetSNESIterations Source code at petsc4py/PETSc/TS.pyx:1840 Return type int getSolution() Return the solution at the present timestep. Not collective. It is valid to call this routine inside the function that you are evaluating in order to move to the new timestep. This vector is not changed until the solution at the next timestep has been calculated. SEE ALSO: TSGetSolution Source code at petsc4py/PETSc/TS.pyx:1428 Return type Vec getSolution2() Return the solution and time derivative at the present timestep. Not collective. It is valid to call this routine inside the function that you are evaluating in order to move to the new timestep. These vectors are not changed until the solution at the next timestep has been calculated. SEE ALSO: TS2GetSolution Source code at petsc4py/PETSc/TS.pyx:1466 Return type tuple[Vec, Vec] getSolveTime() Return the time after a call to solve. Not collective. This time corresponds to the final time set with setMaxTime. SEE ALSO: TSGetSolveTime Source code at petsc4py/PETSc/TS.pyx:1678 Return type float getStepLimits() Return the minimum and maximum allowed time step sizes. Not collective. SEE ALSO: TSAdaptGetStepLimits Source code at petsc4py/PETSc/TS.pyx:2523 Return type tuple[float, float] getStepNumber() Return the number of time steps completed. Not collective. SEE ALSO: TSGetStepNumber Source code at petsc4py/PETSc/TS.pyx:1754 Return type int getStepRejections() Return the total number of rejected steps. Not collective. This counter is reset to zero for each successive call to solve. SEE ALSO: TSGetStepRejections Source code at petsc4py/PETSc/TS.pyx:1896 Return type int getTheta() Return the abscissa of the stage in (0, 1] for Type.THETA. Not collective. SEE ALSO: TSThetaGetTheta Source code at petsc4py/PETSc/TS.pyx:2967 Return type float getThetaEndpoint() Return whether the endpoint variable of Type.THETA is used. Not collective. SEE ALSO: TSThetaGetEndpoint Source code at petsc4py/PETSc/TS.pyx:2999 Return type bool getTime() Return the time of the most recently completed step. Not collective. When called during time step evaluation (e.g. during residual evaluation or via hooks set using setPreStep or setPostStep), the time returned is at the start of the step. SEE ALSO: TSGetTime Source code at petsc4py/PETSc/TS.pyx:1646 Return type float getTimeSpan() Return the time span. Not collective. SEE ALSO: TSGetTimeSpan Source code at petsc4py/PETSc/TS.pyx:1521 Return type ArrayReal getTimeSpanSolutions() Return the solutions at the times in the time span. Not collective. SEE ALSO: setTimeSpan, TSGetTimeSpanSolutions Source code at petsc4py/PETSc/TS.pyx:1537 Return type list[Vec] getTimeStep() Return the duration of the current timestep. Not collective. SEE ALSO: TSGetTimeStep Source code at petsc4py/PETSc/TS.pyx:1713 Return type float getTolerances() Return the tolerances for local truncation error. Logically collective. Returns • rtol (float) -- the relative tolerance • atol (float) -- the absolute tolerance Return type tuple[float, float] SEE ALSO: TSGetTolerances Source code at petsc4py/PETSc/TS.pyx:2013 getType() Return the TS type. Not collective. SEE ALSO: TSGetType Source code at petsc4py/PETSc/TS.pyx:361 Return type str interpolate(t, u) Interpolate the solution to a given time. Collective. Parameters • t (float) -- The time to interpolate. • u (Vec) -- The state vector to interpolate. Return type None SEE ALSO: TSInterpolate Source code at petsc4py/PETSc/TS.pyx:2480 load(viewer) Load a TS that has been stored in binary with view. Collective. Parameters viewer (Viewer) -- The visualization context. Return type None SEE ALSO: TSLoad Source code at petsc4py/PETSc/TS.pyx:189 monitor(step, time, u=None) Monitor the solve. Collective. Parameters • step (int) -- The step number that has just completed. • time (float) -- The model time of the state. • u (Vec | None) -- The state at the current model time. Return type None SEE ALSO: TSMonitor Source code at petsc4py/PETSc/TS.pyx:2169 monitorCancel() Clear all the monitors that have been set. Logically collective. SEE ALSO: TSMonitorCancel Source code at petsc4py/PETSc/TS.pyx:2154 Return type None removeTrajectory() Remove the internal TS trajectory object. Collective. SEE ALSO: TSRemoveTrajectory Source code at petsc4py/PETSc/TS.pyx:2561 Return type None reset() Reset the TS, removing any allocated vectors and matrices. Collective. SEE ALSO: TSReset Source code at petsc4py/PETSc/TS.pyx:2398 Return type None restartStep() Flag the solver to restart the next step. Collective. Multistep methods like TSBDF or Runge-Kutta methods with FSAL property require restarting the solver in the event of discontinuities. These discontinuities may be introduced as a consequence of explicitly modifications to the solution vector (which PETSc attempts to detect and handle) or problem coefficients (which PETSc is not able to detect). For the sake of correctness and maximum safety, users are expected to call TSRestart() whenever they introduce discontinuities in callback routines (e.g. prestep and poststep routines, or implicit/rhs function routines with discontinuous source terms). SEE ALSO: TSRestartStep Source code at petsc4py/PETSc/TS.pyx:2426 Return type None rollBack() Roll back one time step. Collective. SEE ALSO: TSRollBack Source code at petsc4py/PETSc/TS.pyx:2449 Return type None setARKIMEXFastSlowSplit(flag) Use ARKIMEX for solving a fast-slow system. Logically collective. Parameters flag (bool) -- Set to True for fast-slow partitioned systems. Return type None SEE ALSO: TSARKIMEXSetType Source code at petsc4py/PETSc/TS.pyx:344 setARKIMEXFullyImplicit(flag) Solve both parts of the equation implicitly. Logically collective. Parameters flag (bool) -- Set to True for fully implicit. Return type None SEE ALSO: TSARKIMEXSetFullyImplicit Source code at petsc4py/PETSc/TS.pyx:326 setARKIMEXType(ts_type) Set the type of Type.ARKIMEX scheme. Logically collective. Parameters ts_type (ARKIMEXType | str) -- The type of Type.ARKIMEX scheme. Return type None Notes -ts_arkimex_type sets scheme type from the commandline. SEE ALSO: TSARKIMEXSetType Source code at petsc4py/PETSc/TS.pyx:303 setAlphaParams(alpha_m=None, alpha_f=None, gamma=None) Set the algorithmic parameters for Type.ALPHA. Logically collective. Users should call setAlphaRadius. Parameters • alpha_m (float | None) -- Parameter, leave None to keep current value. • alpha_f (float | None) -- Parameter, leave None to keep current value. • gamma (float | None) -- Parameter, leave None to keep current value. Return type None SEE ALSO: TSAlphaSetParams Source code at petsc4py/PETSc/TS.pyx:3037 setAlphaRadius(radius) Set the spectral radius for Type.ALPHA. Logically collective. Parameters radius (float) -- the spectral radius Return type None Notes -ts_alpha_radius can be used to set this from the commandline. SEE ALSO: TSAlphaSetRadius Source code at petsc4py/PETSc/TS.pyx:3015 setAppCtx(appctx) Set the application context. Not collective. Parameters appctx (Any) -- The application context. Return type None Source code at petsc4py/PETSc/TS.pyx:576 setConvergedReason(reason) Set the reason for handling the convergence of solve. Logically collective. Can only be called when solve is active and reason must contain common value. Parameters reason (ConvergedReason) -- The reason for convergence. Return type None SEE ALSO: TSSetConvergedReason Source code at petsc4py/PETSc/TS.pyx:2069 setCostGradients(vl, vm=None) Set the cost gradients. Logically collective. Parameters • vl (Vec | Sequence[Vec] | None) -- gradients with respect to the initial condition variables, the dimension and parallel layout of these vectors is the same as the ODE solution vector • vm (Vec | Sequence[Vec] | None) -- gradients with respect to the parameters, the number of entries in these vectors is the same as the number of parameters Return type None SEE ALSO: TSSetCostGradients Source code at petsc4py/PETSc/TS.pyx:2588 setDIRKType(ts_type) Set the type of Type.DIRK scheme. Logically collective. Parameters ts_type (DIRKType | str) -- The type of Type.DIRK scheme. Return type None Notes -ts_dirk_type sets scheme type from the commandline. SEE ALSO: TSDIRKSetType Source code at petsc4py/PETSc/TS.pyx:403 setDM(dm) Set the DM that may be used by some nonlinear solvers or preconditioners. Logically collective. Parameters dm (DM) -- The DM object. Return type None SEE ALSO: TSSetDM Source code at petsc4py/PETSc/TS.pyx:1609 setEquationType(eqtype) Set the type of the equation that TS is solving. Logically collective. Parameters eqtype (EquationType) -- The type of equation. Return type None SEE ALSO: TSSetEquationType Source code at petsc4py/PETSc/TS.pyx:471 setErrorIfStepFails(flag=True) Immediately error is no step succeeds. Not collective. Parameters flag (bool) -- Enable to error if no step succeeds. Return type None Notes -ts_error_if_step_fails to enable from the commandline. SEE ALSO: TSSetErrorIfStepFails Source code at petsc4py/PETSc/TS.pyx:1948 setEventHandler(direction, terminate, indicator, postevent=None, args=None, kargs=None) Set a function used for detecting events. Logically collective. Parameters • direction (Sequence[int]) -- Direction of zero crossing to be detected {-1, 0, +1}. • terminate (Sequence[bool]) -- Flags for each event to indicate stepping should be terminated. • indicator (TSIndicatorFunction | None) -- Function for defining the indicator-functions marking the events • postevent (TSPostEventFunction) -- Function to execute after the event • args (tuple[Any, ...] | None) -- Additional positional arguments for indicator. • kargs (dict[str, Any] | None) -- Additional keyword arguments for indicator. Return type None SEE ALSO: TSSetEventHandler Source code at petsc4py/PETSc/TS.pyx:2198 setEventTolerances(tol=None, vtol=None) Set tolerances for event zero crossings when using event handler. Logically collective. setEventHandler must have already been called. Parameters • tol (float) -- The scalar tolerance or None to leave at the current value • vtol (Sequence[float]) -- A sequence of scalar tolerance for each event. Used in preference to tol if present. Set to None to leave at the current value. Return type None Notes -ts_event_tol can be used to set values from the commandline. SEE ALSO: TSSetEventTolerances Source code at petsc4py/PETSc/TS.pyx:2253 setExactFinalTime(option) Set method of computing the final time step. Logically collective. Parameters option (ExactFinalTime) -- The exact final time option Return type None Notes -ts_exact_final_time may be used to specify from the commandline. SEE ALSO: TSSetExactFinalTime Source code at petsc4py/PETSc/TS.pyx:2047 setFromOptions() Set various TS parameters from user options. Collective. SEE ALSO: Working with PETSc options, TSSetFromOptions Source code at petsc4py/PETSc/TS.pyx:562 Return type None setI2Function(function, f=None, args=None, kargs=None) Set the function to compute the 2nd order DAE. Logically collective. Parameters • function (TSI2Function | None) -- The right-hand side function. • f (Vec | None) -- The vector to store values or None to be created internally. • args (tuple[Any, ...] | None) -- Additional positional arguments for function. • kargs (dict[str, Any] | None) -- Additional keyword arguments for function. Return type None SEE ALSO: TSSetI2Function Source code at petsc4py/PETSc/TS.pyx:1063 setI2Jacobian(jacobian, J=None, P=None, args=None, kargs=None) Set the function to compute the Jacobian of the 2nd order DAE. Logically collective. Parameters • jacobian (TSI2Jacobian | None) -- The function which computes the Jacobian. • J (Mat | None) -- The matrix into which the Jacobian is computed. • P (Mat | None) -- The optional matrix to use for building a preconditioner matrix. • args -- Additional positional arguments for jacobian. • kargs -- Additional keyword arguments for jacobian. Return type None SEE ALSO: TSSetI2Jacobian Source code at petsc4py/PETSc/TS.pyx:1100 setIFunction(function, f=None, args=None, kargs=None) Set the function representing the DAE to be solved. Logically collective. Parameters • function (TSIFunction | None) -- The right-hand side function. • f (Vec | None) -- The vector to store values or None to be created internally. • args (tuple[Any, ...] | None) -- Additional positional arguments for function. • kargs (dict[str, Any] | None) -- Additional keyword arguments for function. Return type None SEE ALSO: TSSetIFunction Source code at petsc4py/PETSc/TS.pyx:804 setIJacobian(jacobian, J=None, P=None, args=None, kargs=None) Set the function to compute the Jacobian. Logically collective. Set the function to compute the matrix dF/dU + a*dF/dU_t where F(t, U, U_t) is the function provided with setIFunction. Parameters • jacobian (TSIJacobian | None) -- The function which computes the Jacobian. • J (Mat | None) -- The matrix into which the Jacobian is computed. • P (Mat | None) -- The optional matrix to use for building a preconditioner matrix. • args (tuple[Any, ...] | None) -- Additional positional arguments for jacobian. • kargs (dict[str, Any] | None) -- Additional keyword arguments for jacobian. Return type None SEE ALSO: TSSetIJacobian Source code at petsc4py/PETSc/TS.pyx:841 setIJacobianP(jacobian, J=None, args=None, kargs=None) Set the function that computes the Jacobian. Logically collective. Set the function that computes the Jacobian of F with respect to the parameters P where F(Udot, U, t) = G(U, P, t), as well as the location to store the matrix. Parameters • jacobian -- The function which computes the Jacobian. • J (Mat | None) -- The matrix into which the Jacobian is computed. • args (tuple[Any, ...] | None) -- Additional positional arguments for jacobian. • kargs (dict[str, Any] | None) -- Additional keyword arguments for jacobian. Return type None SEE ALSO: TSSetIJacobianP Source code at petsc4py/PETSc/TS.pyx:886 setMaxSNESFailures(n) Set the maximum number of SNES solves failures allowed. Not collective. Parameters n (int) -- The maximum number of failed nonlinear solver, use -1 for unlimited. Return type None SEE ALSO: TSSetMaxSNESFailures Source code at petsc4py/PETSc/TS.pyx:1913 setMaxStepRejections(n) Set the maximum number of step rejections before a time step fails. Not collective. Parameters n (int) -- The maximum number of rejected steps, use -1 for unlimited. Return type None Notes -ts_max_reject can be used to set this from the commandline SEE ALSO: TSSetMaxStepRejections Source code at petsc4py/PETSc/TS.pyx:1874 setMaxSteps(max_steps) Set the maximum number of steps to use. Logically collective. Defaults to 5000. Parameters max_steps (int) -- The maximum number of steps to use. Return type None SEE ALSO: TSSetMaxSteps Source code at petsc4py/PETSc/TS.pyx:1806 setMaxTime(max_time) Set the maximum (final) time. Logically collective. Parameters max_time (float) -- the final time Return type None Notes -ts_max_time sets the max time from the commandline SEE ALSO: TSSetMaxTime Source code at petsc4py/PETSc/TS.pyx:1768 setMonitor(monitor, args=None, kargs=None) Set an additional monitor to the TS. Logically collective. Parameters • monitor (TSMonitorFunction | None) -- The custom monitor function. • args (tuple[Any, ...] | None) -- Additional positional arguments for monitor. • kargs (dict[str, Any] | None) -- Additional keyword arguments for monitor. Return type None SEE ALSO: TSMonitorSet Source code at petsc4py/PETSc/TS.pyx:2108 setOptionsPrefix(prefix) Set the prefix used for all the TS options. Logically collective. Parameters prefix (str | None) -- The prefix to prepend to all option names. Return type None Notes A hyphen must not be given at the beginning of the prefix name. SEE ALSO: Working with PETSc options, TSSetOptionsPrefix Source code at petsc4py/PETSc/TS.pyx:502 setPostStep(poststep, args=None, kargs=None) Set a function to be called at the end of each time step. Logically collective. Parameters • poststep (TSPostStepFunction | None) -- The function to be called at the end of each step. • args (tuple[Any, ...] | None) -- Additional positional arguments for poststep. • kargs (dict[str, Any] | None) -- Additional keyword arguments for poststep. Return type None SEE ALSO: TSSetPostStep Source code at petsc4py/PETSc/TS.pyx:2350 setPreStep(prestep, args=None, kargs=None) Set a function to be called at the beginning of each time step. Logically collective. Parameters • prestep (TSPreStepFunction | None) -- The function to be called at the beginning of each step. • args (tuple[Any, ...] | None) -- Additional positional arguments for prestep. • kargs (dict[str, Any] | None) -- Additional keyword arguments for prestep. Return type None SEE ALSO: TSSetPreStep Source code at petsc4py/PETSc/TS.pyx:2305 setProblemType(ptype) Set the type of problem to be solved. Logically collective. Parameters ptype (ProblemType) -- The type of problem of the forms. Return type None SEE ALSO: TSSetProblemType Source code at petsc4py/PETSc/TS.pyx:440 setPythonContext(context) Set the instance of the class implementing the required Python methods. Not collective. SEE ALSO: PETSc Python ode-integrator type (TODO), getPythonContext Source code at petsc4py/PETSc/TS.pyx:2888 Parameters context (Any) Return type None setPythonType(py_type) Set the fully qualified Python name of the class to be used. Collective. SEE ALSO: PETSc Python ode-integrator type (TODO), setPythonContext, getPythonType, ‐ TSPythonSetType Source code at petsc4py/PETSc/TS.pyx:2915 Parameters py_type (str) Return type None setRHSFunction(function, f=None, args=None, kargs=None) Set the routine for evaluating the function G in U_t = G(t, u). Logically collective. Parameters • function (TSRHSFunction | None) -- The right-hand side function. • f (Vec | None) -- The vector into which the right-hand side is computed. • args (tuple[Any, ...] | None) -- Additional positional arguments for function. • kargs (dict[str, Any] | None) -- Additional keyword arguments for function. Return type None SEE ALSO: TSSetRHSFunction Source code at petsc4py/PETSc/TS.pyx:595 setRHSJacobian(jacobian, J=None, P=None, args=None, kargs=None) Set the function to compute the Jacobian of G in U_t = G(U, t). Logically collective. Parameters • jacobian (TSRHSJacobian | None) -- The right-hand side function. • J (Mat | None) -- The matrix into which the jacobian is computed. • P (Mat | None) -- The matrix into which the preconditioner is computed. • args (tuple[Any, ...] | None) -- Additional positional arguments for jacobian. • kargs (dict[str, Any] | None) -- Additional keyword arguments for jacobian. Return type None SEE ALSO: TSSetRHSJacobian Source code at petsc4py/PETSc/TS.pyx:632 setRHSJacobianP(jacobianp, A=None, args=None, kargs=None) Set the function that computes the Jacobian with respect to the parameters. Logically collective. Parameters • jacobianp (TSRHSJacobianP | None) -- The user-defined function. • A (Mat | None) -- The matrix into which the Jacobian will be computed. • args (tuple[Any, ...] | None) -- Additional positional arguments for jacobianp. • kargs (dict[str, Any] | None) -- Additional keyword arguments for jacobianp. Return type None SEE ALSO: TSSetRHSJacobianP Source code at petsc4py/PETSc/TS.pyx:2655 setRHSSplitIFunction(splitname, function, r=None, args=None, kargs=None) Set the split implicit functions. Logically collective. Parameters • splitname (str) -- Name of the split. • function (TSIFunction) -- The implicit function evaluation routine. • r (Vec | None) -- Vector to hold the residual. • args (tuple[Any, ...] | None) -- Additional positional arguments for function. • kargs (dict[str, Any] | None) -- Additional keyword arguments for function. Return type None SEE ALSO: TSRHSSplitSetIFunction Source code at petsc4py/PETSc/TS.pyx:1316 setRHSSplitIJacobian(splitname, jacobian, J=None, P=None, args=None, kargs=None) Set the Jacobian for the split implicit function. Logically collective. Parameters • splitname (str) -- Name of the split. • jacobian (TSRHSJacobian) -- The Jacobian evaluation routine. • J (Mat | None) -- Matrix to store Jacobian entries computed by jacobian. • P (Mat | None) -- Matrix used to compute preconditioner (usually the same as J). • args (tuple[Any, ...] | None) -- Additional positional arguments for jacobian. • kargs (dict[str, Any] | None) -- Additional keyword arguments for jacobian. Return type None SEE ALSO: TSRHSSplitSetIJacobian Source code at petsc4py/PETSc/TS.pyx:1360 setRHSSplitIS(splitname, iss) Set the index set for the specified split. Logically collective. Parameters • splitname (str) -- Name of this split, if None the number of the split is used. • iss (IS) -- The index set for part of the solution vector. Return type None SEE ALSO: TSRHSSplitSetIS Source code at petsc4py/PETSc/TS.pyx:1251 setRHSSplitRHSFunction(splitname, function, r=None, args=None, kargs=None) Set the split right-hand-side functions. Logically collective. Parameters • splitname (str) -- Name of the split. • function (TSRHSFunction) -- The RHS function evaluation routine. • r (Vec | None) -- Vector to hold the residual. • args (tuple[Any, ...] | None) -- Additional positional arguments for function. • kargs (dict[str, Any] | None) -- Additional keyword arguments for function. Return type None SEE ALSO: TSRHSSplitSetRHSFunction Source code at petsc4py/PETSc/TS.pyx:1272 setRKType(ts_type) Set the type of the Runge-Kutta scheme. Logically collective. Parameters ts_type (RKType | str) -- The type of scheme. Return type None Notes -ts_rk_type sets scheme type from the commandline. SEE ALSO: TSRKSetType Source code at petsc4py/PETSc/TS.pyx:280 setSaveTrajectory() Enable to save solutions as an internal TS trajectory. Collective. This routine should be called after all TS options have been set. Notes -ts_save_trajectory can be used to save a trajectory to a file. SEE ALSO: TSSetSaveTrajectory Source code at petsc4py/PETSc/TS.pyx:2542 Return type None setSolution(u) Set the initial solution vector. Logically collective. Parameters u (Vec) -- The solution vector. Return type None SEE ALSO: TSSetSolution Source code at petsc4py/PETSc/TS.pyx:1411 setSolution2(u, v) Set the initial solution and its time derivative. Logically collective. Parameters • u (Vec) -- The solution vector. • v (Vec) -- The time derivative vector. Return type None SEE ALSO: TS2SetSolution Source code at petsc4py/PETSc/TS.pyx:1447 setStepLimits(hmin, hmax) Set the minimum and maximum allowed step sizes. Logically collective. Parameters • hmin (float) -- the minimum step size • hmax (float) -- the maximum step size Return type None SEE ALSO: TSAdaptSetStepLimits Source code at petsc4py/PETSc/TS.pyx:2500 setStepNumber(step_number) Set the number of steps completed. Logically collective. For most uses of the TS solvers the user need not explicitly call setStepNumber, as the step counter is appropriately updated in solve/step/rollBack. Power users may call this routine to reinitialize timestepping by setting the step counter to zero (and time to the initial time) to solve a similar problem with different initial conditions or parameters. It may also be used to continue timestepping from a previously interrupted run in such a way that TS monitors will be called with a initial nonzero step counter. Parameters step_number (int) -- the number of steps completed Return type None SEE ALSO: TSSetStepNumber Source code at petsc4py/PETSc/TS.pyx:1727 setTheta(theta) Set the abscissa of the stage in (0, 1] for Type.THETA. Logically collective. Parameters theta (float) -- stage abscissa Return type None Notes -ts_theta_theta can be used to set a value from the commandline. SEE ALSO: TSThetaSetTheta Source code at petsc4py/PETSc/TS.pyx:2945 setThetaEndpoint(flag=True) Set to use the endpoint variant of Type.THETA. Logically collective. Parameters flag -- Enable to use the endpoint variant. Return type None SEE ALSO: TSThetaSetEndpoint Source code at petsc4py/PETSc/TS.pyx:2981 setTime(t) Set the time. Logically collective. Parameters t (float) -- The time. Return type None SEE ALSO: TSSetTime Source code at petsc4py/PETSc/TS.pyx:1628 setTimeSpan(tspan) Set the time span. Collective. The solution will be computed and stored for each time requested in the span. The times must be all increasing and correspond to the intermediate points for time integration. ExactFinalTime.MATCHSTEP must be used to make the last time step in each sub-interval match the intermediate points specified. The intermediate solutions are saved in a vector array that can be accessed with getTimeSpanSolutions. Parameters tspan (Sequence[float]) -- The sequence of time points. Return type None Notes -ts_time_span <t0, ..., tf> sets the time span from the commandline SEE ALSO: TSSetTimeSpan Source code at petsc4py/PETSc/TS.pyx:1489 setTimeStep(time_step) Set the duration of the timestep. Logically collective. Parameters time_step (float) -- the duration of the timestep Return type None SEE ALSO: TSSetTimeStep Source code at petsc4py/PETSc/TS.pyx:1695 setTolerances(rtol=None, atol=None) Set tolerances for local truncation error when using an adaptive controller. Logically collective. Parameters • rtol (float) -- The relative tolerance, DETERMINE to use the value when the object's type was set, or None to leave the current value. • atol (float) -- The absolute tolerance, DETERMINE to use the value when the object's type was set, or None to leave the current value. Return type None Notes -ts_rtol and -ts_atol may be used to set values from the commandline. SEE ALSO: TSSetTolerances Source code at petsc4py/PETSc/TS.pyx:1970 setType(ts_type) Set the method to be used as the TS solver. Collective. Parameters ts_type (Type | str) -- The solver type. Return type None Notes -ts_type sets the method from the commandline SEE ALSO: TSSetType Source code at petsc4py/PETSc/TS.pyx:257 setUp() Set up the internal data structures for the TS. Collective. SEE ALSO: TSSetUp Source code at petsc4py/PETSc/TS.pyx:2386 Return type None solve(u=None) Step the requested number of timesteps. Collective. Parameters u (Vec | None) -- The solution vector. Can be None. Return type None SEE ALSO: TSSolve Source code at petsc4py/PETSc/TS.pyx:2461 step() Take one step. Collective. The preferred interface for the TS solvers is solve. If you need to execute code at the beginning or ending of each step, use setPreStep and setPostStep respectively. SEE ALSO: TSStep Source code at petsc4py/PETSc/TS.pyx:2410 Return type None view(viewer=None) Print the TS object. Collective. Parameters viewer (Viewer | None) -- The visualization context. Return type None Notes -ts_view calls TSView at the end of TSStep SEE ALSO: TSView Source code at petsc4py/PETSc/TS.pyx:166 Attributes Documentation appctx Application context. Source code at petsc4py/PETSc/TS.pyx:3086 atol The absolute tolerance. Source code at petsc4py/PETSc/TS.pyx:3189 converged Indicates the TS has converged. Source code at petsc4py/PETSc/TS.pyx:3210 diverged Indicates the TS has stopped. Source code at petsc4py/PETSc/TS.pyx:3215 dm The DM. Source code at petsc4py/PETSc/TS.pyx:3096 equation_type The equation type. Source code at petsc4py/PETSc/TS.pyx:3114 iterating Indicates the TS is still iterating. Source code at petsc4py/PETSc/TS.pyx:3205 ksp The KSP. Source code at petsc4py/PETSc/TS.pyx:3127 max_steps The maximum number of steps. Source code at petsc4py/PETSc/TS.pyx:3171 max_time The maximum time. Source code at petsc4py/PETSc/TS.pyx:3163 problem_type The problem type. Source code at petsc4py/PETSc/TS.pyx:3106 reason The converged reason. Source code at petsc4py/PETSc/TS.pyx:3197 rtol The relative tolerance. Source code at petsc4py/PETSc/TS.pyx:3181 snes The SNES. Source code at petsc4py/PETSc/TS.pyx:3122 step_number The current step number. Source code at petsc4py/PETSc/TS.pyx:3155 time The current time. Source code at petsc4py/PETSc/TS.pyx:3139 time_step The current time step size. Source code at petsc4py/PETSc/TS.pyx:3147 vec_sol The solution vector. Source code at petsc4py/PETSc/TS.pyx:3132 petsc4py.PETSc.Vec class petsc4py.PETSc.Vec Bases: Object A vector object. SEE ALSO: Vec Enumerations ┌────────┬─────────────────────────┐ │ Option │ Vector assembly option. │ ├────────┼─────────────────────────┤ │ Type │ The vector type. │ └────────┴─────────────────────────┘ petsc4py.PETSc.Vec.Option class petsc4py.PETSc.Vec.Option Bases: object Vector assembly option. Attributes Summary ┌─────────────────────────┬───────────────────────────────────────┐ │ IGNORE_NEGATIVE_INDICES │ Constant IGNORE_NEGATIVE_INDICES of │ │ │ type int │ ├─────────────────────────┼───────────────────────────────────────┤ │ IGNORE_OFF_PROC_ENTRIES │ Constant IGNORE_OFF_PROC_ENTRIES of │ │ │ type int │ └─────────────────────────┴───────────────────────────────────────┘ Attributes Documentation IGNORE_NEGATIVE_INDICES: int = IGNORE_NEGATIVE_INDICES Constant IGNORE_NEGATIVE_INDICES of type int IGNORE_OFF_PROC_ENTRIES: int = IGNORE_OFF_PROC_ENTRIES Constant IGNORE_OFF_PROC_ENTRIES of type int petsc4py.PETSc.Vec.Type class petsc4py.PETSc.Vec.Type Bases: object The vector type. Attributes Summary ┌─────────────┬────────────────────────────────┐ │ CUDA │ Object CUDA of type str │ ├─────────────┼────────────────────────────────┤ │ HIP │ Object HIP of type str │ ├─────────────┼────────────────────────────────┤ │ KOKKOS │ Object KOKKOS of type str │ ├─────────────┼────────────────────────────────┤ │ MPI │ Object MPI of type str │ ├─────────────┼────────────────────────────────┤ │ MPICUDA │ Object MPICUDA of type str │ ├─────────────┼────────────────────────────────┤ │ MPIHIP │ Object MPIHIP of type str │ ├─────────────┼────────────────────────────────┤ │ MPIKOKKOS │ Object MPIKOKKOS of type str │ ├─────────────┼────────────────────────────────┤ │ MPIVIENNACL │ Object MPIVIENNACL of type str │ ├─────────────┼────────────────────────────────┤ │ NEST │ Object NEST of type str │ ├─────────────┼────────────────────────────────┤ │ SEQ │ Object SEQ of type str │ ├─────────────┼────────────────────────────────┤ │ SEQCUDA │ Object SEQCUDA of type str │ ├─────────────┼────────────────────────────────┤ │ SEQHIP │ Object SEQHIP of type str │ ├─────────────┼────────────────────────────────┤ │ SEQKOKKOS │ Object SEQKOKKOS of type str │ ├─────────────┼────────────────────────────────┤ │ SEQVIENNACL │ Object SEQVIENNACL of type str │ ├─────────────┼────────────────────────────────┤ │ SHARED │ Object SHARED of type str │ ├─────────────┼────────────────────────────────┤ │ STANDARD │ Object STANDARD of type str │ ├─────────────┼────────────────────────────────┤ │ VIENNACL │ Object VIENNACL of type str │ └─────────────┴────────────────────────────────┘ Attributes Documentation CUDA: str = CUDA Object CUDA of type str HIP: str = HIP Object HIP of type str KOKKOS: str = KOKKOS Object KOKKOS of type str MPI: str = MPI Object MPI of type str MPICUDA: str = MPICUDA Object MPICUDA of type str MPIHIP: str = MPIHIP Object MPIHIP of type str MPIKOKKOS: str = MPIKOKKOS Object MPIKOKKOS of type str MPIVIENNACL: str = MPIVIENNACL Object MPIVIENNACL of type str NEST: str = NEST Object NEST of type str SEQ: str = SEQ Object SEQ of type str SEQCUDA: str = SEQCUDA Object SEQCUDA of type str SEQHIP: str = SEQHIP Object SEQHIP of type str SEQKOKKOS: str = SEQKOKKOS Object SEQKOKKOS of type str SEQVIENNACL: str = SEQVIENNACL Object SEQVIENNACL of type str SHARED: str = SHARED Object SHARED of type str STANDARD: str = STANDARD Object STANDARD of type str VIENNACL: str = VIENNACL Object VIENNACL of type str Methods Summary ┌───────────────────────────────────────┬───────────────────────────────────────┐ │ abs() │ Replace each entry (xₙ) in the vector │ │ │ by abs|xₙ|. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ appendOptionsPrefix(prefix) │ Append to the prefix used for │ │ │ searching for options in the │ │ │ database. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ assemble() │ Assemble the vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ assemblyBegin() │ Begin an assembling stage of the │ │ │ vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ assemblyEnd() │ Finish the assembling stage initiated │ │ │ with assemblyBegin. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ attachDLPackInfo([vec, dltensor]) │ Attach tensor information from │ │ │ another vector or DLPack tensor. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ axpby(alpha, beta, x) │ Compute and store y = ɑ·x + β·y. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ axpy(alpha, x) │ Compute and store y = ɑ·x + y. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ aypx(alpha, x) │ Compute and store y = x + ɑ·y. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ bindToCPU(flg) │ Bind vector operations execution on │ │ │ the CPU. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ boundToCPU() │ Return whether the vector has been │ │ │ bound to the CPU. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ chop(tol) │ Set all vector entries less than some │ │ │ absolute tolerance to zero. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ clearDLPackInfo() │ Clear tensor information. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ concatenate(vecs) │ Concatenate vectors into a single │ │ │ vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ conjugate() │ Conjugate the vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ copy([result]) │ Return a copy of the vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ create([comm]) │ Create a vector object. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createCUDAWithArrays([cpuarray, │ Create a Type.CUDA vector with │ │ cudahandle, ...]) │ optional arrays. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createGhost(ghosts, size[, bsize, │ Create a parallel vector with ghost │ │ comm]) │ padding on each processor. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createGhostWithArray(ghosts, array[, │ Create a parallel vector with ghost │ │ size, ...]) │ padding and provided arrays. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createHIPWithArrays([cpuarray, │ Create a Type.HIP vector with │ │ hiphandle, ...]) │ optional arrays. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createLocalVector() │ Create a local vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createMPI(size[, bsize, comm]) │ Create a parallel Type.MPI vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createNest(vecs[, isets, comm]) │ Create a Type.NEST vector containing │ │ │ multiple nested subvectors. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createSeq(size[, bsize, comm]) │ Create a sequential Type.SEQ vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createShared(size[, bsize, comm]) │ Create a Type.SHARED vector that uses │ │ │ shared memory. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createViennaCLWithArrays([cpuarray, │ Create a Type.VIENNACL vector with │ │ ...]) │ optional arrays. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createWithArray(array[, size, bsize, │ Create a vector using a provided │ │ comm]) │ array. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createWithDLPack(dltensor[, size, │ Create a vector wrapping a DLPack │ │ bsize, comm]) │ object, sharing the same memory. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy the vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ dot(vec) │ Return the dot product with vec. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ dotBegin(vec) │ Begin computing the dot product. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ dotEnd(vec) │ Finish computing the dot product │ │ │ initiated with dotBegin. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ dotNorm2(vec) │ Return the dot product with vec and │ │ │ its squared norm. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ duplicate([array]) │ Create a new vector with the same │ │ │ type, optionally with data. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ equal(vec) │ Return whether the vector is equal to │ │ │ another. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ exp() │ Replace each entry (xₙ) in the vector │ │ │ by exp(xₙ). │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getArray([readonly]) │ Return local portion of the vector as │ │ │ an ndarray. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getBlockSize() │ Return the block size of the vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getBuffer([readonly]) │ Return a buffered view of the local │ │ │ portion of the vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getCLContextHandle() │ Return the OpenCL context associated │ │ │ with the vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getCLMemHandle([mode]) │ Return the OpenCL buffer associated │ │ │ with the vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getCLQueueHandle() │ Return the OpenCL command queue │ │ │ associated with the vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getCUDAHandle([mode]) │ Return a pointer to the device │ │ │ buffer. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getDM() │ Return the DM associated to the │ │ │ vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getGhostIS() │ Return ghosting indices of a ghost │ │ │ vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getHIPHandle([mode]) │ Return a pointer to the device │ │ │ buffer. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getLGMap() │ Return the local-to-global mapping. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getLocalSize() │ Return the local size of the vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getLocalVector(lvec[, readonly]) │ Maps the local portion of the vector │ │ │ into a local vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getNestSubVecs() │ Return all the vectors contained in │ │ │ the nested vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getOffloadMask() │ Return the offloading status of the │ │ │ vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getOptionsPrefix() │ Return the prefix used for searching │ │ │ for options in the database. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getOwnershipRange() │ Return the locally owned range of │ │ │ indices (start, end). │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getOwnershipRanges() │ Return the range of indices owned by │ │ │ each process. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getSize() │ Return the global size of the vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getSizes() │ Return the vector sizes. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getSubVector(iset[, subvec]) │ Return a subvector from given │ │ │ indices. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getType() │ Return the type of the vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getValue(index) │ Return a single value from the │ │ │ vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getValues(indices[, values]) │ Return values from certain locations │ │ │ in the vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getValuesStagStencil(indices[, │ Not implemented. │ │ values]) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ ghostUpdate([addv, mode]) │ Update ghosted vector entries. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ ghostUpdateBegin([addv, mode]) │ Begin updating ghosted vector │ │ │ entries. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ ghostUpdateEnd([addv, mode]) │ Finish updating ghosted vector │ │ │ entries initiated with │ │ │ ghostUpdateBegin. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ isaxpy(idx, alpha, x) │ Add a scaled reduced-space vector to │ │ │ a subset of the vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ isset(idx, alpha) │ Set specific elements of the vector │ │ │ to the same value. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ load(viewer) │ Load a vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ localForm() │ Return a context manager for viewing │ │ │ ghost vectors in local form. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ log() │ Replace each entry in the vector by │ │ │ its natural logarithm. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ mDot(vecs[, out]) │ Compute Xᴴ·y with X an array of │ │ │ vectors. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ mDotBegin(vecs, out) │ Starts a split phase multiple dot │ │ │ product computation. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ mDotEnd(vecs, out) │ Ends a split phase multiple dot │ │ │ product computation. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ max() │ Return the vector entry with maximum │ │ │ real part and its location. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ maxPointwiseDivide(vec) │ Return the maximum of the │ │ │ component-wise absolute value │ │ │ division. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ maxpy(alphas, vecs) │ Compute and store y = Σₙ(ɑₙ·Xₙ) + y │ │ │ with X an array of vectors. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ min() │ Return the vector entry with minimum │ │ │ real part and its location. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ mtDot(vecs[, out]) │ Compute Xᵀ·y with X an array of │ │ │ vectors. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ mtDotBegin(vecs, out) │ Starts a split phase transpose │ │ │ multiple dot product computation. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ mtDotEnd(vecs, out) │ Ends a split phase transpose multiple │ │ │ dot product computation. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ norm([norm_type]) │ Compute the vector norm. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ normBegin([norm_type]) │ Begin computing the vector norm. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ normEnd([norm_type]) │ Finish computations initiated with │ │ │ normBegin. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ normalize() │ Normalize the vector by its 2-norm. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ permute(order[, invert]) │ Permute the vector in-place with a │ │ │ provided ordering. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ placeArray(array) │ Set the local portion of the vector │ │ │ to a provided array. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ pointwiseDivide(x, y) │ Compute and store the component-wise │ │ │ division of two vectors. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ pointwiseMax(x, y) │ Compute and store the component-wise │ │ │ maximum of two vectors. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ pointwiseMaxAbs(x, y) │ Compute and store the component-wise │ │ │ maximum absolute values. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ pointwiseMin(x, y) │ Compute and store the component-wise │ │ │ minimum of two vectors. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ pointwiseMult(x, y) │ Compute and store the component-wise │ │ │ multiplication of two vectors. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ reciprocal() │ Replace each entry in the vector by │ │ │ its reciprocal. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ resetArray([force]) │ Reset the vector to use its default │ │ │ array. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ restoreCLMemHandle() │ Restore a pointer to the OpenCL │ │ │ buffer obtained with getCLMemHandle. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ restoreCUDAHandle(handle[, mode]) │ Restore a pointer to the device │ │ │ buffer obtained with getCUDAHandle. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ restoreHIPHandle(handle[, mode]) │ Restore a pointer to the device │ │ │ buffer obtained with getHIPHandle. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ restoreLocalVector(lvec[, readonly]) │ Unmap a local access obtained with │ │ │ getLocalVector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ restoreSubVector(iset, subvec) │ Restore a subvector extracted using │ │ │ getSubVector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ scale(alpha) │ Scale all entries of the vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ set(alpha) │ Set all components of the vector to │ │ │ the same value. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setArray(array) │ Set values for the local portion of │ │ │ the vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setBlockSize(bsize) │ Set the block size of the vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setDM(dm) │ Associate a DM to the vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFromOptions() │ Configure the vector from the options │ │ │ database. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setLGMap(lgmap) │ Set the local-to-global mapping. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setMPIGhost(ghosts) │ Set the ghost points for a ghosted │ │ │ vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setNestSubVecs(sx[, idxm]) │ Set the component vectors at │ │ │ specified indices in the nested │ │ │ vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setOption(option, flag) │ Set option. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setOptionsPrefix(prefix) │ Set the prefix used for searching for │ │ │ options in the database. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setRandom([random]) │ Set all components of the vector to │ │ │ random numbers. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setSizes(size[, bsize]) │ Set the local and global sizes of the │ │ │ vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setType(vec_type) │ Set the vector type. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setUp() │ Set up the internal data structures │ │ │ for using the vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValue(index, value[, addv]) │ Insert or add a single value in the │ │ │ vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValueLocal(index, value[, addv]) │ Insert or add a single value in the │ │ │ vector using a local numbering. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValues(indices, values[, addv]) │ Insert or add multiple values in the │ │ │ vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValuesBlocked(indices, values[, │ Insert or add blocks of values in the │ │ addv]) │ vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValuesBlockedLocal(indices, │ Insert or add blocks of values in the │ │ values[, addv]) │ vector with a local numbering. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValuesLocal(indices, values[, │ Insert or add multiple values in the │ │ addv]) │ vector with a local numbering. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setValuesStagStencil(indices, │ Not implemented. │ │ values[, addv]) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ shift(alpha) │ Shift all entries in the vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ sqrtabs() │ Replace each entry (xₙ) in the vector │ │ │ by √|xₙ|. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ strideGather(field, vec[, addv]) │ Insert component values into a │ │ │ single-component vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ strideMax(field) │ Return the maximum of entries in a │ │ │ subvector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ strideMin(field) │ Return the minimum of entries in a │ │ │ subvector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ strideNorm(field[, norm_type]) │ Return the norm of entries in a │ │ │ subvector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ strideScale(field, alpha) │ Scale a component of the vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ strideScatter(field, vec[, addv]) │ Scatter entries into a component of │ │ │ another vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ strideSum(field) │ Sum subvector entries. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ sum() │ Return the sum of all the entries of │ │ │ the vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ swap(vec) │ Swap the content of two vectors. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ tDot(vec) │ Return the indefinite dot product │ │ │ with vec. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ tDotBegin(vec) │ Begin computing the indefinite dot │ │ │ product. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ tDotEnd(vec) │ Finish computing the indefinite dot │ │ │ product initiated with tDotBegin. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ toDLPack([mode]) │ Return a DLPack PyCapsule wrapping │ │ │ the vector data. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ view([viewer]) │ Display the vector. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ waxpy(alpha, x, y) │ Compute and store w = ɑ·x + y. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ zeroEntries() │ Set all entries in the vector to │ │ │ zero. │ └───────────────────────────────────────┴───────────────────────────────────────┘ Attributes Summary ┌──────────────┬───────────────────────────────────────┐ │ array │ Alias for array_w. │ ├──────────────┼───────────────────────────────────────┤ │ array_r │ Read-only ndarray containing the │ │ │ local portion of the vector. │ ├──────────────┼───────────────────────────────────────┤ │ array_w │ Writeable ndarray containing the │ │ │ local portion of the vector. │ ├──────────────┼───────────────────────────────────────┤ │ block_size │ The block size. │ ├──────────────┼───────────────────────────────────────┤ │ buffer │ Alias for buffer_w. │ ├──────────────┼───────────────────────────────────────┤ │ buffer_r │ Read-only buffered view of the local │ │ │ portion of the vector. │ ├──────────────┼───────────────────────────────────────┤ │ buffer_w │ Writeable buffered view of the local │ │ │ portion of the vector. │ ├──────────────┼───────────────────────────────────────┤ │ local_size │ The local vector size. │ ├──────────────┼───────────────────────────────────────┤ │ owner_range │ The locally owned range of indices in │ │ │ the form [low, high). │ ├──────────────┼───────────────────────────────────────┤ │ owner_ranges │ The range of indices owned by each │ │ │ process. │ ├──────────────┼───────────────────────────────────────┤ │ size │ The global vector size. │ ├──────────────┼───────────────────────────────────────┤ │ sizes │ The local and global vector sizes. │ └──────────────┴───────────────────────────────────────┘ Methods Documentation abs() Replace each entry (xₙ) in the vector by abs|xₙ|. Logically collective. SEE ALSO: VecAbs Source code at petsc4py/PETSc/Vec.pyx:2293 Return type None appendOptionsPrefix(prefix) Append to the prefix used for searching for options in the database. Logically collective. SEE ALSO: Working with PETSc options, setOptionsPrefix, VecAppendOptionsPrefix Source code at petsc4py/PETSc/Vec.pyx:1028 Parameters prefix (str | None) Return type None assemble() Assemble the vector. Collective. SEE ALSO: assemblyBegin, assemblyEnd Source code at petsc4py/PETSc/Vec.pyx:3047 Return type None assemblyBegin() Begin an assembling stage of the vector. Collective. SEE ALSO: assemblyEnd, VecAssemblyBegin Source code at petsc4py/PETSc/Vec.pyx:3023 Return type None assemblyEnd() Finish the assembling stage initiated with assemblyBegin. Collective. SEE ALSO: assemblyBegin, VecAssemblyEnd Source code at petsc4py/PETSc/Vec.pyx:3035 Return type None attachDLPackInfo(vec=None, dltensor=None) Attach tensor information from another vector or DLPack tensor. Logically collective. This tensor information is required when converting a Vec to a DLPack object. Parameters • vec (Vec | None) -- Vector with attached tensor information. This is typically created by calling createWithDLPack. • dltensor -- DLPack tensor. This will only be used if vec is None. Return type Self Notes This operation does not copy any data from vec or dltensor. SEE ALSO: clearDLPackInfo, createWithDLPack Source code at petsc4py/PETSc/Vec.pyx:643 axpby(alpha, beta, x) Compute and store y = ɑ·x + β·y. Logically collective. Parameters • alpha (Scalar) -- First scale factor. • beta (Scalar) -- Second scale factor. • x (Vec) -- Input vector, must not be the current vector. Return type None SEE ALSO: axpy, aypx, waxpy, VecAXPBY Source code at petsc4py/PETSc/Vec.pyx:2524 axpy(alpha, x) Compute and store y = ɑ·x + y. Logically collective. Parameters • alpha (Scalar) -- Scale factor. • x (Vec) -- Input vector. Return type None SEE ALSO: isaxpy, VecAXPY Source code at petsc4py/PETSc/Vec.pyx:2460 aypx(alpha, x) Compute and store y = x + ɑ·y. Logically collective. Parameters • alpha (Scalar) -- Scale factor. • x (Vec) -- Input vector, must not be the current vector. Return type None SEE ALSO: axpy, axpby, VecAYPX Source code at petsc4py/PETSc/Vec.pyx:2504 bindToCPU(flg) Bind vector operations execution on the CPU. Logically collective. SEE ALSO: boundToCPU, VecBindToCPU Source code at petsc4py/PETSc/Vec.pyx:1396 Parameters flg (bool) Return type None boundToCPU() Return whether the vector has been bound to the CPU. Not collective. SEE ALSO: bindToCPU, VecBoundToCPU Source code at petsc4py/PETSc/Vec.pyx:1409 Return type bool chop(tol) Set all vector entries less than some absolute tolerance to zero. Collective. Parameters tol (float) -- The absolute tolerance below which entries are set to zero. Return type None SEE ALSO: VecFilter Source code at petsc4py/PETSc/Vec.pyx:1732 clearDLPackInfo() Clear tensor information. Logically collective. SEE ALSO: attachDLPackInfo, createWithDLPack Source code at petsc4py/PETSc/Vec.pyx:705 Return type Self classmethod concatenate(vecs) Concatenate vectors into a single vector. Collective. Parameters vecs (Sequence[Vec]) -- The vectors to be concatenated. Returns • vector_out (Vec) -- The concatenated vector. • indices_list (list of IS) -- A list of index sets corresponding to the concatenated components. Return type tuple[Vec, list[IS]] SEE ALSO: VecConcatenate Source code at petsc4py/PETSc/Vec.pyx:3536 conjugate() Conjugate the vector. Logically collective. SEE ALSO: VecConjugate Source code at petsc4py/PETSc/Vec.pyx:2305 Return type None copy(result=None) Return a copy of the vector. Logically collective. This operation copies vector entries to the new vector. Parameters result (Vec | None) -- Target vector for the copy. If None then a new vector is created internally. Return type Vec SEE ALSO: duplicate, VecCopy Source code at petsc4py/PETSc/Vec.pyx:1707 create(comm=None) Create a vector object. Collective. After creation the vector type can then be set with setType. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: destroy, VecCreate Source code at petsc4py/PETSc/Vec.pyx:176 createCUDAWithArrays(cpuarray=None, cudahandle=None, size=None, bsize=None, comm=None) Create a Type.CUDA vector with optional arrays. Collective. Parameters • cpuarray (Sequence[Scalar] | None) -- Host array. Will be lazily allocated if not provided. • cudahandle (Any | None) -- Address of the array on the GPU. Will be lazily allocated if not provided. • size (LayoutSizeSpec | None) -- Vector size. • bsize (int | None) -- Vector block size. If None, bsize = 1. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: VecCreateSeqCUDAWithArrays, VecCreateMPICUDAWithArrays Source code at petsc4py/PETSc/Vec.pyx:370 createGhost(ghosts, size, bsize=None, comm=None) Create a parallel vector with ghost padding on each processor. Collective. Parameters • ghosts (Sequence[int]) -- Global indices of ghost points. • size (LayoutSizeSpec) -- Vector size. • bsize (int | None) -- Vector block size. If None, bsize = 1. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: createGhostWithArray, VecCreateGhost, VecCreateGhostBlock Source code at petsc4py/PETSc/Vec.pyx:819 createGhostWithArray(ghosts, array, size=None, bsize=None, comm=None) Create a parallel vector with ghost padding and provided arrays. Collective. Parameters • ghosts (Sequence[int]) -- Global indices of ghost points. • array (Sequence[Scalar]) -- Array to store the vector values. Must be at least as large as the local size of the vector (including ghost points). • size (LayoutSizeSpec | None) -- Vector size. • bsize (int | None) -- Vector block size. If None, bsize = 1. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: createGhost, VecCreateGhostWithArray, VecCreateGhostBlockWithArray Source code at petsc4py/PETSc/Vec.pyx:861 createHIPWithArrays(cpuarray=None, hiphandle=None, size=None, bsize=None, comm=None) Create a Type.HIP vector with optional arrays. Collective. Parameters • cpuarray (Sequence[Scalar] | None) -- Host array. Will be lazily allocated if not provided. • hiphandle (Any | None) -- Address of the array on the GPU. Will be lazily allocated if not provided. • size (LayoutSizeSpec | None) -- Vector size. • bsize (int | None) -- Vector block size. If None, bsize = 1. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: VecCreateSeqHIPWithArrays, VecCreateMPIHIPWithArrays Source code at petsc4py/PETSc/Vec.pyx:428 createLocalVector() Create a local vector. Not collective. Returns The local vector. Return type Vec SEE ALSO: getLocalVector, VecCreateLocalVector Source code at petsc4py/PETSc/Vec.pyx:1204 createMPI(size, bsize=None, comm=None) Create a parallel Type.MPI vector. Collective. Parameters • size (LayoutSizeSpec) -- Vector size. • bsize (int | None) -- Vector block size. If None, bsize = 1. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: createSeq, VecCreateMPI Source code at petsc4py/PETSc/Vec.pyx:283 createNest(vecs, isets=None, comm=None) Create a Type.NEST vector containing multiple nested subvectors. Collective. Parameters • vecs (Sequence[Vec]) -- Iterable of subvectors. • isets (Sequence[IS]) -- Iterable of index sets for each nested subvector. Defaults to contiguous ordering. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: VecCreateNest Source code at petsc4py/PETSc/Vec.pyx:952 createSeq(size, bsize=None, comm=None) Create a sequential Type.SEQ vector. Collective. Parameters • size (LayoutSizeSpec) -- Vector size. • bsize (int | None) -- Vector block size. If None, bsize = 1. • comm (Comm | None) -- MPI communicator, defaults to COMM_SELF. Return type Self SEE ALSO: createMPI, VecCreateSeq Source code at petsc4py/PETSc/Vec.pyx:247 createShared(size, bsize=None, comm=None) Create a Type.SHARED vector that uses shared memory. Collective. Parameters • size (LayoutSizeSpec) -- Vector size. • bsize (int | None) -- Vector block size. If None, bsize = 1. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: VecCreateShared Source code at petsc4py/PETSc/Vec.pyx:918 createViennaCLWithArrays(cpuarray=None, viennaclvechandle=None, size=None, bsize=None, comm=None) Create a Type.VIENNACL vector with optional arrays. Collective. Parameters • cpuarray (Sequence[Scalar] | None) -- Host array. Will be lazily allocated if not provided. • viennaclvechandle (Any | None) -- Address of the array on the GPU. Will be lazily allocated if not provided. • size (LayoutSizeSpec | None) -- Vector size. • bsize (int | None) -- Vector block size. If None, bsize = 1. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: VecCreateSeqViennaCLWithArrays, VecCreateMPIViennaCLWithArrays Source code at petsc4py/PETSc/Vec.pyx:486 createWithArray(array, size=None, bsize=None, comm=None) Create a vector using a provided array. Collective. This method will create either a Type.SEQ or Type.MPI depending on the size of the communicator. Parameters • array (Sequence[Scalar]) -- Array to store the vector values. Must be at least as large as the local size of the vector. • size (LayoutSizeSpec | None) -- Vector size. • bsize (int | None) -- Vector block size. If None, bsize = 1. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: VecCreateSeqWithArray, VecCreateMPIWithArray Source code at petsc4py/PETSc/Vec.pyx:319 createWithDLPack(dltensor, size=None, bsize=None, comm=None) Create a vector wrapping a DLPack object, sharing the same memory. Collective. This operation does not modify the storage of the original tensor and should be used with contiguous tensors only. If the tensor is stored in row-major order (e.g. PyTorch tensors), the resulting vector will look like an unrolled tensor using row-major order. The resulting vector type will be one of Type.SEQ, Type.MPI, Type.SEQCUDA, Type.MPICUDA, Type.SEQHIP or Type.MPIHIP depending on the type of dltensor and the number of processes in the communicator. Parameters • dltensor -- Either an object with a __dlpack__ method or a DLPack tensor object. • size (LayoutSizeSpec | None) -- Vector size. • bsize (int | None) -- Vector block size. If None, bsize = 1. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self Source code at petsc4py/PETSc/Vec.pyx:545 destroy() Destroy the vector. Collective. SEE ALSO: create, VecDestroy Source code at petsc4py/PETSc/Vec.pyx:163 Return type Self dot(vec) Return the dot product with vec. Collective. For complex numbers this computes yᴴ·x with self as x, vec as y and where yᴴ denotes the conjugate transpose of y. Use tDot for the indefinite form yᵀ·x where yᵀ denotes the transpose of y. Parameters vec (Vec) -- Vector to compute the dot product with. Return type Scalar SEE ALSO: dotBegin, dotEnd, tDot, VecDot Source code at petsc4py/PETSc/Vec.pyx:1787 dotBegin(vec) Begin computing the dot product. Collective. This should be paired with a call to dotEnd. Parameters vec (Vec) -- Vector to compute the dot product with. Return type None SEE ALSO: dotEnd, dot, VecDotBegin Source code at petsc4py/PETSc/Vec.pyx:1812 dotEnd(vec) Finish computing the dot product initiated with dotBegin. Collective. SEE ALSO: dotBegin, dot, VecDotEnd Source code at petsc4py/PETSc/Vec.pyx:1832 Parameters vec (Vec) Return type Scalar dotNorm2(vec) Return the dot product with vec and its squared norm. Collective. SEE ALSO: dot, norm, VecDotNorm2 Source code at petsc4py/PETSc/Vec.pyx:2151 Parameters vec (Vec) Return type tuple[Scalar, float] duplicate(array=None) Create a new vector with the same type, optionally with data. Collective. Parameters array (Sequence[Scalar] | None) -- Optional values to store in the new vector. Return type Vec SEE ALSO: copy, VecDuplicate Source code at petsc4py/PETSc/Vec.pyx:1682 equal(vec) Return whether the vector is equal to another. Collective. Parameters vec (Vec) -- Vector to compare with. Return type bool SEE ALSO: VecEqual Source code at petsc4py/PETSc/Vec.pyx:1768 exp() Replace each entry (xₙ) in the vector by exp(xₙ). Logically collective. SEE ALSO: log, VecExp Source code at petsc4py/PETSc/Vec.pyx:2257 Return type None getArray(readonly=False) Return local portion of the vector as an ndarray. Logically collective. Parameters readonly (bool) -- Request read-only access. Return type ArrayScalar SEE ALSO: setArray, getBuffer Source code at petsc4py/PETSc/Vec.pyx:1313 getBlockSize() Return the block size of the vector. Not collective. SEE ALSO: VecGetBlockSize Source code at petsc4py/PETSc/Vec.pyx:1149 Return type int getBuffer(readonly=False) Return a buffered view of the local portion of the vector. Logically collective. Parameters readonly (bool) -- Request read-only access. Returns Buffer object wrapping the local portion of the vector data. This can be used either as a context manager providing access as a numpy array or can be passed to array constructors accepting buffered objects such as numpy.asarray. Return type typing.Any Examples Accessing the data with a context manager: >>> vec = PETSc.Vec().createWithArray([1, 2, 3]) >>> with vec.getBuffer() as arr: ... arr array([1., 2., 3.]) Converting the buffer to an ndarray: >>> buf = PETSc.Vec().createWithArray([1, 2, 3]).getBuffer() >>> np.asarray(buf) array([1., 2., 3.]) SEE ALSO: getArray Source code at petsc4py/PETSc/Vec.pyx:1270 getCLContextHandle() Return the OpenCL context associated with the vector. Not collective. Returns Pointer to underlying CL context. This can be used with pyopencl through pyopencl.Context.from_int_ptr. Return type int SEE ALSO: getCLQueueHandle, VecViennaCLGetCLContext Source code at petsc4py/PETSc/Vec.pyx:1593 getCLMemHandle(mode='rw') Return the OpenCL buffer associated with the vector. Not collective. Returns Pointer to the device buffer. This can be used with pyopencl through pyopencl.Context.from_int_ptr. Return type int Parameters mode (AccessModeSpec) Notes This method may incur a host-to-device copy if the device data is out of date and mode is "r" or "rw". SEE ALSO: restoreCLMemHandle, VecViennaCLGetCLMem, VecViennaCLGetCLMemRead, ‐ VecViennaCLGetCLMemWrite Source code at petsc4py/PETSc/Vec.pyx:1633 getCLQueueHandle() Return the OpenCL command queue associated with the vector. Not collective. Returns Pointer to underlying CL command queue. This can be used with pyopencl through pyopencl.Context.from_int_ptr. Return type int SEE ALSO: getCLContextHandle, VecViennaCLGetCLQueue Source code at petsc4py/PETSc/Vec.pyx:1613 getCUDAHandle(mode='rw') Return a pointer to the device buffer. Not collective. The returned pointer should be released using restoreCUDAHandle with the same access mode. Returns CUDA device pointer. Return type typing.Any Parameters mode (AccessModeSpec) Notes This method may incur a host-to-device copy if the device data is out of date and mode is "r" or "rw". SEE ALSO: restoreCUDAHandle, VecCUDAGetArray, VecCUDAGetArrayRead, VecCUDAGetArrayWrite Source code at petsc4py/PETSc/Vec.pyx:1423 getDM() Return the DM associated to the vector. Not collective. SEE ALSO: setDM, VecGetDM Source code at petsc4py/PETSc/Vec.pyx:3519 Return type DM getGhostIS() Return ghosting indices of a ghost vector. Collective. Returns Indices of ghosts. Return type IS SEE ALSO: VecGhostGetGhostIS Source code at petsc4py/PETSc/Vec.pyx:3385 getHIPHandle(mode='rw') Return a pointer to the device buffer. Not collective. The returned pointer should be released using restoreHIPHandle with the same access mode. Returns HIP device pointer. Return type typing.Any Parameters mode (AccessModeSpec) Notes This method may incur a host-to-device copy if the device data is out of date and mode is "r" or "rw". SEE ALSO: restoreHIPHandle, VecHIPGetArray, VecHIPGetArrayRead, VecHIPGetArrayWrite Source code at petsc4py/PETSc/Vec.pyx:1495 getLGMap() Return the local-to-global mapping. Not collective. SEE ALSO: setLGMap, VecGetLocalToGlobalMapping Source code at petsc4py/PETSc/Vec.pyx:2899 Return type LGMap getLocalSize() Return the local size of the vector. Not collective. SEE ALSO: setSizes, getSize, VecGetLocalSize Source code at petsc4py/PETSc/Vec.pyx:1107 Return type int getLocalVector(lvec, readonly=False) Maps the local portion of the vector into a local vector. Logically collective. Parameters • lvec (Vec) -- The local vector obtained from createLocalVector. • readonly (bool) -- Request read-only access. Return type None SEE ALSO: createLocalVector, restoreLocalVector, VecGetLocalVectorRead, VecGetLocalVector Source code at petsc4py/PETSc/Vec.pyx:1223 getNestSubVecs() Return all the vectors contained in the nested vector. Not collective. SEE ALSO: setNestSubVecs, VecNestGetSubVecs Source code at petsc4py/PETSc/Vec.pyx:3451 Return type list[Vec] getOffloadMask() Return the offloading status of the vector. Not collective. Common return values include: • 1: PETSC_OFFLOAD_CPU - CPU has valid entries • 2: PETSC_OFFLOAD_GPU - GPU has valid entries • 3: PETSC_OFFLOAD_BOTH - CPU and GPU are in sync Returns Enum value from PetscOffloadMask describing the offloading status. Return type int SEE ALSO: VecGetOffloadMask, PetscOffloadMask Source code at petsc4py/PETSc/Vec.pyx:1567 getOptionsPrefix() Return the prefix used for searching for options in the database. Not collective. SEE ALSO: Working with PETSc options, setOptionsPrefix, VecGetOptionsPrefix Source code at petsc4py/PETSc/Vec.pyx:1014 Return type str getOwnershipRange() Return the locally owned range of indices (start, end). Not collective. Returns • start (int) -- The first local element. • end (int) -- One more than the last local element. Return type tuple[int, int] SEE ALSO: getOwnershipRanges, VecGetOwnershipRange Source code at petsc4py/PETSc/Vec.pyx:1163 getOwnershipRanges() Return the range of indices owned by each process. Not collective. The returned array is the result of exclusive scan of the local sizes. SEE ALSO: getOwnershipRange, VecGetOwnershipRanges Source code at petsc4py/PETSc/Vec.pyx:1184 Return type ArrayInt getSize() Return the global size of the vector. Not collective. SEE ALSO: setSizes, getLocalSize, VecGetSize Source code at petsc4py/PETSc/Vec.pyx:1093 Return type int getSizes() Return the vector sizes. Not collective. SEE ALSO: getSize, getLocalSize, VecGetLocalSize, VecGetSize Source code at petsc4py/PETSc/Vec.pyx:1121 Return type LayoutSizeSpec getSubVector(iset, subvec=None) Return a subvector from given indices. Collective. Once finished with the subvector it should be returned with restoreSubVector. Parameters • iset (IS) -- Index set describing which indices to extract into the subvector. • subvec (Vec | None) -- Subvector to copy entries into. If None then a new Vec will be created. Return type Vec SEE ALSO: restoreSubVector, VecGetSubVector Source code at petsc4py/PETSc/Vec.pyx:3406 getType() Return the type of the vector. Not collective. SEE ALSO: setType, VecGetType Source code at petsc4py/PETSc/Vec.pyx:1079 Return type str getValue(index) Return a single value from the vector. Not collective. Only values locally stored may be accessed. Parameters index (int) -- Location of the value to read. Return type Scalar SEE ALSO: getValues, VecGetValues Source code at petsc4py/PETSc/Vec.pyx:2720 getValues(indices, values=None) Return values from certain locations in the vector. Not collective. Only values locally stored may be accessed. Parameters • indices (Sequence[int]) -- Locations of the values to read. • values (Sequence[Scalar] | None) -- Location to store the collected values. If not provided then a new array will be allocated. Return type ArrayScalar SEE ALSO: getValue, setValues, VecGetValues Source code at petsc4py/PETSc/Vec.pyx:2742 getValuesStagStencil(indices, values=None) Not implemented. Source code at petsc4py/PETSc/Vec.pyx:2767 Return type None ghostUpdate(addv=None, mode=None) Update ghosted vector entries. Neighborwise collective. Parameters • addv (InsertModeSpec) -- Insertion mode. • mode (ScatterModeSpec) -- Scatter mode. Return type None Examples To accumulate ghost region values onto owning processes: >>> vec.ghostUpdate(InsertMode.ADD_VALUES, ScatterMode.REVERSE) Update ghost regions: >>> vec.ghostUpdate(InsertMode.INSERT_VALUES, ScatterMode.FORWARD) SEE ALSO: ghostUpdateBegin, ghostUpdateEnd Source code at petsc4py/PETSc/Vec.pyx:3331 ghostUpdateBegin(addv=None, mode=None) Begin updating ghosted vector entries. Neighborwise collective. SEE ALSO: ghostUpdateEnd, ghostUpdate, createGhost, VecGhostUpdateBegin Source code at petsc4py/PETSc/Vec.pyx:3297 Parameters • addv (InsertModeSpec) • mode (ScatterModeSpec) Return type None ghostUpdateEnd(addv=None, mode=None) Finish updating ghosted vector entries initiated with ghostUpdateBegin. Neighborwise collective. SEE ALSO: ghostUpdateBegin, ghostUpdate, createGhost, VecGhostUpdateEnd Source code at petsc4py/PETSc/Vec.pyx:3314 Parameters • addv (InsertModeSpec) • mode (ScatterModeSpec) Return type None isaxpy(idx, alpha, x) Add a scaled reduced-space vector to a subset of the vector. Logically collective. This is equivalent to y[idx[i]] += alpha*x[i]. Parameters • idx (IS) -- Index set for the reduced space. Negative indices are skipped. • alpha (Scalar) -- Scale factor. • x (Vec) -- Reduced-space vector. Return type None SEE ALSO: axpy, aypx, axpby, VecISAXPY Source code at petsc4py/PETSc/Vec.pyx:2480 isset(idx, alpha) Set specific elements of the vector to the same value. Not collective. Parameters • idx (IS) -- Index set specifying the vector entries to set. • alpha (Scalar) -- Value to set the selected entries to. Return type None SEE ALSO: set, zeroEntries, VecISSet Source code at petsc4py/PETSc/Vec.pyx:2383 load(viewer) Load a vector. Collective. SEE ALSO: view, VecLoad Source code at petsc4py/PETSc/Vec.pyx:1750 Parameters viewer (Viewer) Return type Self localForm() Return a context manager for viewing ghost vectors in local form. Logically collective. Returns Context manager yielding the vector in local (ghosted) form. Return type typing.Any Notes This operation does not perform a copy. To obtain up-to-date ghost values ghostUpdateBegin and ghostUpdateEnd must be called first. Non-ghost values can be found at values[0:nlocal] and ghost values at values[nlocal:nlocal+nghost]. Examples >>> with vec.localForm() as lf: ... # compute with lf SEE ALSO: createGhost, ghostUpdateBegin, ghostUpdateEnd, VecGhostGetLocalForm, ‐ VecGhostRestoreLocalForm Source code at petsc4py/PETSc/Vec.pyx:3264 log() Replace each entry in the vector by its natural logarithm. Logically collective. SEE ALSO: exp, VecLog Source code at petsc4py/PETSc/Vec.pyx:2269 Return type None mDot(vecs, out=None) Compute Xᴴ·y with X an array of vectors. Collective. Parameters • vecs (Sequence[Vec]) -- Array of vectors. • out (ArrayScalar | None) -- Optional placeholder for the result. Return type ArrayScalar SEE ALSO: dot, tDot, mDotBegin, mDotEnd, VecMDot Source code at petsc4py/PETSc/Vec.pyx:1902 mDotBegin(vecs, out) Starts a split phase multiple dot product computation. Collective. Parameters • vecs (Sequence[Vec]) -- Array of vectors. • out (ArrayScalar) -- Placeholder for the result. Return type None SEE ALSO: mDot, mDotEnd, VecMDotBegin Source code at petsc4py/PETSc/Vec.pyx:1935 mDotEnd(vecs, out) Ends a split phase multiple dot product computation. Collective. Parameters • vecs (Sequence[Vec]) -- Array of vectors. • out (ArrayScalar) -- Placeholder for the result. Return type ArrayScalar SEE ALSO: mDot, mDotBegin, VecMDotEnd Source code at petsc4py/PETSc/Vec.pyx:1965 max() Return the vector entry with maximum real part and its location. Collective. Returns • p (int) -- Location of the maximum value. If multiple entries exist with the same value then the smallest index will be returned. • val (Scalar) -- Minimum value. Return type tuple[int, float] SEE ALSO: min, VecMax Source code at petsc4py/PETSc/Vec.pyx:2203 maxPointwiseDivide(vec) Return the maximum of the component-wise absolute value division. Logically collective. Equivalent to result = max_i abs(x[i] / y[i]). Parameters • x -- Numerator vector. • y -- Denominator vector. • vec (Vec) Return type float SEE ALSO: pointwiseMin, pointwiseMax, pointwiseMaxAbs, VecMaxPointwiseDivide Source code at petsc4py/PETSc/Vec.pyx:2696 maxpy(alphas, vecs) Compute and store y = Σₙ(ɑₙ·Xₙ) + y with X an array of vectors. Logically collective. Equivalent to y[:] = alphas[i]*vecs[i, :] + y[:]. Parameters • alphas (Sequence[Scalar]) -- Array of scale factors, one for each vector in vecs. • vecs (Sequence[Vec]) -- Array of vectors. Return type None SEE ALSO: axpy, aypx, axpby, waxpy, VecMAXPY Source code at petsc4py/PETSc/Vec.pyx:2569 min() Return the vector entry with minimum real part and its location. Collective. Returns • p (int) -- Location of the minimum value. If multiple entries exist with the same value then the smallest index will be returned. • val (Scalar) -- Minimum value. Return type tuple[int, float] SEE ALSO: max, VecMin Source code at petsc4py/PETSc/Vec.pyx:2180 mtDot(vecs, out=None) Compute Xᵀ·y with X an array of vectors. Collective. Parameters • vecs (Sequence[Vec]) -- Array of vectors. • out (ArrayScalar | None) -- Optional placeholder for the result. Return type ArrayScalar SEE ALSO: tDot, mDot, mtDotBegin, mtDotEnd, VecMTDot Source code at petsc4py/PETSc/Vec.pyx:1996 mtDotBegin(vecs, out) Starts a split phase transpose multiple dot product computation. Collective. Parameters • vecs (Sequence[Vec]) -- Array of vectors. • out (ArrayScalar) -- Placeholder for the result. Return type None SEE ALSO: mtDot, mtDotEnd, VecMTDotBegin Source code at petsc4py/PETSc/Vec.pyx:2029 mtDotEnd(vecs, out) Ends a split phase transpose multiple dot product computation. Collective. Parameters • vecs (Sequence[Vec]) -- Array of vectors. • out (ArrayScalar) -- Placeholder for the result. Return type ArrayScalar SEE ALSO: mtDot, mtDotBegin, VecMTDotEnd Source code at petsc4py/PETSc/Vec.pyx:2059 norm(norm_type=None) Compute the vector norm. Collective. A 2-tuple is returned if NormType.NORM_1_AND_2 is specified. SEE ALSO: VecNorm, NormType Source code at petsc4py/PETSc/Vec.pyx:2090 Parameters norm_type (NormTypeSpec) Return type float | tuple[float, float] normBegin(norm_type=None) Begin computing the vector norm. Collective. This should be paired with a call to normEnd. SEE ALSO: normEnd, norm, VecNormBegin Source code at petsc4py/PETSc/Vec.pyx:2112 Parameters norm_type (NormTypeSpec) Return type None normEnd(norm_type=None) Finish computations initiated with normBegin. Collective. SEE ALSO: normBegin, norm, VecNormEnd Source code at petsc4py/PETSc/Vec.pyx:2131 Parameters norm_type (NormTypeSpec) Return type float | tuple[float, float] normalize() Normalize the vector by its 2-norm. Collective. Returns The vector norm before normalization. Return type float SEE ALSO: norm, VecNormalize Source code at petsc4py/PETSc/Vec.pyx:2226 permute(order, invert=False) Permute the vector in-place with a provided ordering. Collective. Parameters • order (IS) -- Ordering for the permutation. • invert (bool) -- Whether to invert the permutation. Return type None SEE ALSO: VecPermute Source code at petsc4py/PETSc/Vec.pyx:2337 placeArray(array) Set the local portion of the vector to a provided array. Not collective. SEE ALSO: resetArray, setArray, VecPlaceArray Source code at petsc4py/PETSc/Vec.pyx:1345 Parameters array (Sequence[Scalar]) Return type None pointwiseDivide(x, y) Compute and store the component-wise division of two vectors. Logically collective. Equivalent to w[i] = x[i] / y[i]. Parameters • x (Vec) -- Numerator vector. • y (Vec) -- Denominator vector. Return type None SEE ALSO: pointwiseMult, VecPointwiseDivide Source code at petsc4py/PETSc/Vec.pyx:2618 pointwiseMax(x, y) Compute and store the component-wise maximum of two vectors. Logically collective. Equivalent to w[i] = max(x[i], y[i]). Parameters • x (Vec) -- Input vectors to find the component-wise maxima. • y (Vec) -- Input vectors to find the component-wise maxima. Return type None SEE ALSO: pointwiseMin, pointwiseMaxAbs, VecPointwiseMax Source code at petsc4py/PETSc/Vec.pyx:2658 pointwiseMaxAbs(x, y) Compute and store the component-wise maximum absolute values. Logically collective. Equivalent to w[i] = max(abs(x[i]), abs(y[i])). Parameters • x (Vec) -- Input vectors to find the component-wise maxima. • y (Vec) -- Input vectors to find the component-wise maxima. Return type None SEE ALSO: pointwiseMin, pointwiseMax, VecPointwiseMaxAbs Source code at petsc4py/PETSc/Vec.pyx:2677 pointwiseMin(x, y) Compute and store the component-wise minimum of two vectors. Logically collective. Equivalent to w[i] = min(x[i], y[i]). Parameters • x (Vec) -- Input vectors to find the component-wise minima. • y (Vec) -- Input vectors to find the component-wise minima. Return type None SEE ALSO: pointwiseMax, pointwiseMaxAbs, VecPointwiseMin Source code at petsc4py/PETSc/Vec.pyx:2639 pointwiseMult(x, y) Compute and store the component-wise multiplication of two vectors. Logically collective. Equivalent to w[i] = x[i] * y[i]. Parameters • x (Vec) -- Input vectors to multiply component-wise. • y (Vec) -- Input vectors to multiply component-wise. Return type None SEE ALSO: pointwiseDivide, VecPointwiseMult Source code at petsc4py/PETSc/Vec.pyx:2599 reciprocal() Replace each entry in the vector by its reciprocal. Logically collective. SEE ALSO: VecReciprocal Source code at petsc4py/PETSc/Vec.pyx:2245 Return type None resetArray(force=False) Reset the vector to use its default array. Not collective. Parameters force (bool) -- Force the calling of VecResetArray even if no user array has been placed with placeArray. Returns The array previously provided by the user with placeArray. Can be None if force is True and no array was placed before. Return type ArrayScalar SEE ALSO: placeArray, VecResetArray Source code at petsc4py/PETSc/Vec.pyx:1366 restoreCLMemHandle() Restore a pointer to the OpenCL buffer obtained with getCLMemHandle. Not collective. SEE ALSO: getCLMemHandle, VecViennaCLRestoreCLMemWrite Source code at petsc4py/PETSc/Vec.pyx:1670 Return type None restoreCUDAHandle(handle, mode='rw') Restore a pointer to the device buffer obtained with getCUDAHandle. Not collective. Parameters • handle (Any) -- CUDA device pointer. • mode (AccessModeSpec) -- Access mode. Return type None SEE ALSO: getCUDAHandle, VecCUDARestoreArray, VecCUDARestoreArrayRead, VecCUDARestoreArrayWrite Source code at petsc4py/PETSc/Vec.pyx:1462 restoreHIPHandle(handle, mode='rw') Restore a pointer to the device buffer obtained with getHIPHandle. Not collective. Parameters • handle (Any) -- HIP device pointer. • mode (AccessModeSpec) -- Access mode. Return type None SEE ALSO: getHIPHandle, VecHIPRestoreArray, VecHIPRestoreArrayRead, VecHIPRestoreArrayWrite Source code at petsc4py/PETSc/Vec.pyx:1534 restoreLocalVector(lvec, readonly=False) Unmap a local access obtained with getLocalVector. Logically collective. Parameters • lvec (Vec) -- The local vector. • readonly (bool) -- Request read-only access. Return type None SEE ALSO: createLocalVector, getLocalVector, VecRestoreLocalVectorRead, VecRestoreLocalVector Source code at petsc4py/PETSc/Vec.pyx:1246 restoreSubVector(iset, subvec) Restore a subvector extracted using getSubVector. Collective. Parameters • iset (IS) -- Index set describing the indices represented by the subvector. • subvec (Vec) -- Subvector to be restored. Return type None SEE ALSO: getSubVector, VecRestoreSubVector Source code at petsc4py/PETSc/Vec.pyx:3432 scale(alpha) Scale all entries of the vector. Collective. This method sets each entry (xₙ) in the vector to ɑ·xₙ. Parameters alpha (Scalar) -- The scaling factor. Return type None SEE ALSO: shift, VecScale Source code at petsc4py/PETSc/Vec.pyx:2403 set(alpha) Set all components of the vector to the same value. Collective. SEE ALSO: zeroEntries, isset, VecSet Source code at petsc4py/PETSc/Vec.pyx:2370 Parameters alpha (Scalar) Return type None setArray(array) Set values for the local portion of the vector. Logically collective. SEE ALSO: placeArray Source code at petsc4py/PETSc/Vec.pyx:1333 Parameters array (Sequence[Scalar]) Return type None setBlockSize(bsize) Set the block size of the vector. Logically collective. SEE ALSO: VecSetBlockSize Source code at petsc4py/PETSc/Vec.pyx:1136 Parameters bsize (int) Return type None setDM(dm) Associate a DM to the vector. Not collective. SEE ALSO: getDM, VecSetDM Source code at petsc4py/PETSc/Vec.pyx:3507 Parameters dm (DM) Return type None setFromOptions() Configure the vector from the options database. Collective. SEE ALSO: Working with PETSc options, VecSetFromOptions Source code at petsc4py/PETSc/Vec.pyx:1042 Return type None setLGMap(lgmap) Set the local-to-global mapping. Logically collective. This allows users to insert vector entries using a local numbering with setValuesLocal. SEE ALSO: setValues, setValuesLocal, getLGMap, VecSetLocalToGlobalMapping Source code at petsc4py/PETSc/Vec.pyx:2884 Parameters lgmap (LGMap) Return type None setMPIGhost(ghosts) Set the ghost points for a ghosted vector. Collective. Parameters ghosts (Sequence[int]) -- Global indices of ghost points. Return type None SEE ALSO: createGhost Source code at petsc4py/PETSc/Vec.pyx:3366 setNestSubVecs(sx, idxm=None) Set the component vectors at specified indices in the nested vector. Not collective. Parameters • sx (Sequence[Vec]) -- Array of component vectors. • idxm (Sequence[int] | None) -- Indices of the component vectors, defaults to range(len(sx)). Return type None SEE ALSO: getNestSubVecs, VecNestSetSubVecs Source code at petsc4py/PETSc/Vec.pyx:3473 setOption(option, flag) Set option. Collective. SEE ALSO: VecSetOption Source code at petsc4py/PETSc/Vec.pyx:1067 Parameters • option (Option) • flag (bool) Return type None setOptionsPrefix(prefix) Set the prefix used for searching for options in the database. Logically collective. SEE ALSO: Working with PETSc options, getOptionsPrefix, VecSetOptionsPrefix Source code at petsc4py/PETSc/Vec.pyx:1000 Parameters prefix (str | None) Return type None setRandom(random=None) Set all components of the vector to random numbers. Collective. Parameters random (Random | None) -- Random number generator. If None then one will be created internally. Return type None SEE ALSO: VecSetRandom Source code at petsc4py/PETSc/Vec.pyx:2317 setSizes(size, bsize=None) Set the local and global sizes of the vector. Collective. Parameters • size (LayoutSizeSpec) -- Vector size. • bsize (int | None) -- Vector block size. If None, bsize = 1. Return type None SEE ALSO: getSizes, VecSetSizes Source code at petsc4py/PETSc/Vec.pyx:218 setType(vec_type) Set the vector type. Collective. Parameters vec_type (Type | str) -- The vector type. Return type None SEE ALSO: create, getType, VecSetType Source code at petsc4py/PETSc/Vec.pyx:199 setUp() Set up the internal data structures for using the vector. Collective. SEE ALSO: create, destroy, VecSetUp Source code at petsc4py/PETSc/Vec.pyx:1054 Return type Self setValue(index, value, addv=None) Insert or add a single value in the vector. Not collective. Parameters • index (int) -- Location to write to. Negative indices are ignored. • value (Scalar) -- Value to insert at index. • addv (InsertModeSpec) -- Insertion mode. Return type None Notes The values may be cached so assemblyBegin and assemblyEnd must be called after all calls of this method are completed. Multiple calls to setValue cannot be made with different values for addv without intermediate calls to assemblyBegin and assemblyEnd. SEE ALSO: setValues, VecSetValues Source code at petsc4py/PETSc/Vec.pyx:2771 setValueLocal(index, value, addv=None) Insert or add a single value in the vector using a local numbering. Not collective. Parameters • index (int) -- Location to write to. • value (Scalar) -- Value to insert at index. • addv (InsertModeSpec) -- Insertion mode. Return type None Notes The values may be cached so assemblyBegin and assemblyEnd must be called after all calls of this method are completed. Multiple calls to setValueLocal cannot be made with different values for addv without intermediate calls to assemblyBegin and assemblyEnd. SEE ALSO: setValuesLocal, VecSetValuesLocal Source code at petsc4py/PETSc/Vec.pyx:2914 setValues(indices, values, addv=None) Insert or add multiple values in the vector. Not collective. Parameters • indices (Sequence[int]) -- Locations to write to. Negative indices are ignored. • values (Sequence[Scalar]) -- Values to insert at indices. • addv (InsertModeSpec) -- Insertion mode. Return type None Notes The values may be cached so assemblyBegin and assemblyEnd must be called after all calls of this method are completed. Multiple calls to setValues cannot be made with different values for addv without intermediate calls to assemblyBegin and assemblyEnd. SEE ALSO: setValue, VecSetValues Source code at petsc4py/PETSc/Vec.pyx:2808 setValuesBlocked(indices, values, addv=None) Insert or add blocks of values in the vector. Not collective. Equivalent to x[bs*indices[i]+j] = y[bs*i+j] for 0 <= i < len(indices), 0 <= j < bs and bs block_size. Parameters • indices (Sequence[int]) -- Block indices to write to. Negative indices are ignored. • values (Sequence[Scalar]) -- Values to insert at indices. Should have length len(indices) * vec.block_size. • addv (InsertModeSpec) -- Insertion mode. Return type None Notes The values may be cached so assemblyBegin and assemblyEnd must be called after all calls of this method are completed. Multiple calls to setValuesBlocked cannot be made with different values for addv without intermediate calls to assemblyBegin and assemblyEnd. SEE ALSO: setValues, VecSetValuesBlocked Source code at petsc4py/PETSc/Vec.pyx:2842 setValuesBlockedLocal(indices, values, addv=None) Insert or add blocks of values in the vector with a local numbering. Not collective. Equivalent to x[bs*indices[i]+j] = y[bs*i+j] for 0 <= i < len(indices), 0 <= j < bs and bs block_size. Parameters • indices (Sequence[int]) -- Local block indices to write to. • values (Sequence[Scalar]) -- Values to insert at indices. Should have length len(indices) * vec.block_size. • addv (InsertModeSpec) -- Insertion mode. Return type None Notes The values may be cached so assemblyBegin and assemblyEnd must be called after all calls of this method are completed. Multiple calls to setValuesBlockedLocal cannot be made with different values for addv without intermediate calls to assemblyBegin and assemblyEnd. SEE ALSO: setValuesBlocked, setValuesLocal, VecSetValuesBlockedLocal Source code at petsc4py/PETSc/Vec.pyx:2985 setValuesLocal(indices, values, addv=None) Insert or add multiple values in the vector with a local numbering. Not collective. Parameters • indices (Sequence[int]) -- Locations to write to. • values (Sequence[Scalar]) -- Values to insert at indices. • addv (InsertModeSpec) -- Insertion mode. Return type None Notes The values may be cached so assemblyBegin and assemblyEnd must be called after all calls of this method are completed. Multiple calls to setValuesLocal cannot be made with different values for addv without intermediate calls to assemblyBegin and assemblyEnd. SEE ALSO: setValues, VecSetValuesLocal Source code at petsc4py/PETSc/Vec.pyx:2951 setValuesStagStencil(indices, values, addv=None) Not implemented. Source code at petsc4py/PETSc/Vec.pyx:2880 Return type None shift(alpha) Shift all entries in the vector. Collective. This method sets each entry (xₙ) in the vector to xₙ + ɑ. Parameters alpha (Scalar) -- The shift to apply to the vector values. Return type None SEE ALSO: scale, VecShift Source code at petsc4py/PETSc/Vec.pyx:2423 sqrtabs() Replace each entry (xₙ) in the vector by √|xₙ|. Logically collective. SEE ALSO: VecSqrtAbs Source code at petsc4py/PETSc/Vec.pyx:2281 Return type None strideGather(field, vec, addv=None) Insert component values into a single-component vector. Collective. The current vector is expected to be multi-component (block_size greater than 1) and the target vector is expected to be single-component. Parameters • field (int) -- Component index. Must be between 0 and vec.block_size. • vec (Vec) -- Single-component vector to be inserted into. • addv (InsertModeSpec) -- Insertion mode. Return type None SEE ALSO: strideScatter, VecStrideScatter Source code at petsc4py/PETSc/Vec.pyx:3231 strideMax(field) Return the maximum of entries in a subvector. Collective. Equivalent to max(x[field], x[field+bs], x[field+2*bs], ...) where bs is block_size. Parameters field (int) -- Component index. Must be between 0 and vec.block_size. Returns • int -- Location of maximum. • float -- Maximum value. Return type tuple[int, float] SEE ALSO: strideScale, strideSum, strideMin, VecStrideMax Source code at petsc4py/PETSc/Vec.pyx:3137 strideMin(field) Return the minimum of entries in a subvector. Collective. Equivalent to min(x[field], x[field+bs], x[field+2*bs], ...) where bs is block_size. Parameters field (int) -- Component index. Must be between 0 and vec.block_size. Returns • int -- Location of minimum. • float -- Minimum value. Return type tuple[int, float] SEE ALSO: strideScale, strideSum, strideMax, VecStrideMin Source code at petsc4py/PETSc/Vec.pyx:3106 strideNorm(field, norm_type=None) Return the norm of entries in a subvector. Collective. Equivalent to norm(x[field], x[field+bs], x[field+2*bs], ...) where bs is block_size. Parameters • field (int) -- Component index. Must be between 0 and vec.block_size. • norm_type (NormTypeSpec) -- The norm type. Return type float | tuple[float, float] SEE ALSO: norm, strideScale, strideSum, VecStrideNorm Source code at petsc4py/PETSc/Vec.pyx:3168 strideScale(field, alpha) Scale a component of the vector. Logically collective. Parameters • field (int) -- Component index. Must be between 0 and vec.block_size. • alpha (Scalar) -- Factor to multiple the component entries by. Return type None SEE ALSO: strideSum, strideMin, strideMax, VecStrideScale Source code at petsc4py/PETSc/Vec.pyx:3062 strideScatter(field, vec, addv=None) Scatter entries into a component of another vector. Collective. The current vector is expected to be single-component (block_size of 1) and the target vector is expected to be multi-component. Parameters • field (int) -- Component index. Must be between 0 and vec.block_size. • vec (Vec) -- Multi-component vector to be scattered into. • addv (InsertModeSpec) -- Insertion mode. Return type None SEE ALSO: strideGather, VecStrideScatter Source code at petsc4py/PETSc/Vec.pyx:3200 strideSum(field) Sum subvector entries. Collective. Equivalent to sum(x[field], x[field+bs], x[field+2*bs], ...) where bs is block_size. Parameters field (int) -- Component index. Must be between 0 and vec.block_size. Return type Scalar SEE ALSO: strideScale, strideMin, strideMax, VecStrideSum Source code at petsc4py/PETSc/Vec.pyx:3083 sum() Return the sum of all the entries of the vector. Collective. SEE ALSO: VecSum Source code at petsc4py/PETSc/Vec.pyx:2166 Return type Scalar swap(vec) Swap the content of two vectors. Logically collective. Parameters vec (Vec) -- The vector to swap data with. Return type None SEE ALSO: VecSwap Source code at petsc4py/PETSc/Vec.pyx:2443 tDot(vec) Return the indefinite dot product with vec. Collective. This computes yᵀ·x with self as x, vec as y and where yᵀ denotes the transpose of y. Parameters vec (Vec) -- Vector to compute the indefinite dot product with. Return type Scalar SEE ALSO: tDotBegin, tDotEnd, dot, VecTDot Source code at petsc4py/PETSc/Vec.pyx:1846 tDotBegin(vec) Begin computing the indefinite dot product. Collective. This should be paired with a call to tDotEnd. Parameters vec (Vec) -- Vector to compute the indefinite dot product with. Return type None SEE ALSO: tDotEnd, tDot, VecTDotBegin Source code at petsc4py/PETSc/Vec.pyx:1868 tDotEnd(vec) Finish computing the indefinite dot product initiated with tDotBegin. Collective. SEE ALSO: tDotBegin, tDot, VecTDotEnd Source code at petsc4py/PETSc/Vec.pyx:1888 Parameters vec (Vec) Return type Scalar toDLPack(mode='rw') Return a DLPack PyCapsule wrapping the vector data. Collective. Parameters mode (AccessModeSpec) -- Access mode for the vector. Returns Capsule of a DLPack tensor wrapping a Vec. Return type PyCapsule Notes It is important that the access mode is respected by the consumer as this is not enforced internally. SEE ALSO: createWithDLPack Source code at petsc4py/PETSc/Vec.pyx:726 view(viewer=None) Display the vector. Collective. Parameters viewer (Viewer | None) -- A Viewer instance or None for the default viewer. Return type None SEE ALSO: load, VecView Source code at petsc4py/PETSc/Vec.pyx:144 waxpy(alpha, x, y) Compute and store w = ɑ·x + y. Logically collective. Parameters • alpha (Scalar) -- Scale factor. • x (Vec) -- First input vector. • y (Vec) -- Second input vector. Return type None SEE ALSO: axpy, aypx, axpby, maxpy, VecWAXPY Source code at petsc4py/PETSc/Vec.pyx:2547 zeroEntries() Set all entries in the vector to zero. Logically collective. SEE ALSO: set, VecZeroEntries Source code at petsc4py/PETSc/Vec.pyx:2358 Return type None Attributes Documentation array Alias for array_w. Source code at petsc4py/PETSc/Vec.pyx:3642 array_r Read-only ndarray containing the local portion of the vector. Source code at petsc4py/PETSc/Vec.pyx:3632 array_w Writeable ndarray containing the local portion of the vector. Source code at petsc4py/PETSc/Vec.pyx:3623 block_size The block size. Source code at petsc4py/PETSc/Vec.pyx:3598 buffer Alias for buffer_w. Source code at petsc4py/PETSc/Vec.pyx:3637 buffer_r Read-only buffered view of the local portion of the vector. Source code at petsc4py/PETSc/Vec.pyx:3618 buffer_w Writeable buffered view of the local portion of the vector. Source code at petsc4py/PETSc/Vec.pyx:3613 local_size The local vector size. Source code at petsc4py/PETSc/Vec.pyx:3593 owner_range The locally owned range of indices in the form [low, high). Source code at petsc4py/PETSc/Vec.pyx:3603 owner_ranges The range of indices owned by each process. Source code at petsc4py/PETSc/Vec.pyx:3608 size The global vector size. Source code at petsc4py/PETSc/Vec.pyx:3588 sizes The local and global vector sizes. Source code at petsc4py/PETSc/Vec.pyx:3580 petsc4py.PETSc.Viewer class petsc4py.PETSc.Viewer Bases: Object Viewer object. Viewer is described in the PETSc manual. Viewers can be called as functions where the argument specified is the PETSc object to be viewed. See the example below. Examples >>> from petsc4py import PETSc >>> u = PETSc.Vec().createWithArray([1,2]) >>> v = PETSc.Viewer() >>> v(u) Vec Object: 1 MPI process type: seq 1. 2. SEE ALSO: PetscViewer Enumerations ┌──────────┬───────────────────┐ │ DrawSize │ Window size. │ ├──────────┼───────────────────┤ │ FileMode │ Viewer file mode. │ ├──────────┼───────────────────┤ │ Format │ Viewer format. │ ├──────────┼───────────────────┤ │ Type │ Viewer type. │ └──────────┴───────────────────┘ petsc4py.PETSc.Viewer.DrawSize class petsc4py.PETSc.Viewer.DrawSize Bases: object Window size. Attributes Summary ┌──────────────┬───────────────────────────────────┐ │ FULL │ Constant FULL of type int │ ├──────────────┼───────────────────────────────────┤ │ FULL_SIZE │ Constant FULL_SIZE of type int │ ├──────────────┼───────────────────────────────────┤ │ HALF │ Constant HALF of type int │ ├──────────────┼───────────────────────────────────┤ │ HALF_SIZE │ Constant HALF_SIZE of type int │ ├──────────────┼───────────────────────────────────┤ │ QUARTER │ Constant QUARTER of type int │ ├──────────────┼───────────────────────────────────┤ │ QUARTER_SIZE │ Constant QUARTER_SIZE of type int │ ├──────────────┼───────────────────────────────────┤ │ THIRD │ Constant THIRD of type int │ ├──────────────┼───────────────────────────────────┤ │ THIRD_SIZE │ Constant THIRD_SIZE of type int │ └──────────────┴───────────────────────────────────┘ Attributes Documentation FULL: int = FULL Constant FULL of type int FULL_SIZE: int = FULL_SIZE Constant FULL_SIZE of type int HALF: int = HALF Constant HALF of type int HALF_SIZE: int = HALF_SIZE Constant HALF_SIZE of type int QUARTER: int = QUARTER Constant QUARTER of type int QUARTER_SIZE: int = QUARTER_SIZE Constant QUARTER_SIZE of type int THIRD: int = THIRD Constant THIRD of type int THIRD_SIZE: int = THIRD_SIZE Constant THIRD_SIZE of type int petsc4py.PETSc.Viewer.FileMode class petsc4py.PETSc.Viewer.FileMode Bases: object Viewer file mode. Attributes Summary ┌───────────────┬────────────────────────────────────┐ │ A │ Constant A of type int │ ├───────────────┼────────────────────────────────────┤ │ APPEND │ Constant APPEND of type int │ ├───────────────┼────────────────────────────────────┤ │ APPEND_UPDATE │ Constant APPEND_UPDATE of type int │ ├───────────────┼────────────────────────────────────┤ │ AU │ Constant AU of type int │ ├───────────────┼────────────────────────────────────┤ │ R │ Constant R of type int │ ├───────────────┼────────────────────────────────────┤ │ READ │ Constant READ of type int │ ├───────────────┼────────────────────────────────────┤ │ U │ Constant U of type int │ ├───────────────┼────────────────────────────────────┤ │ UA │ Constant UA of type int │ ├───────────────┼────────────────────────────────────┤ │ UPDATE │ Constant UPDATE of type int │ ├───────────────┼────────────────────────────────────┤ │ W │ Constant W of type int │ ├───────────────┼────────────────────────────────────┤ │ WRITE │ Constant WRITE of type int │ └───────────────┴────────────────────────────────────┘ Attributes Documentation A: int = A Constant A of type int APPEND: int = APPEND Constant APPEND of type int APPEND_UPDATE: int = APPEND_UPDATE Constant APPEND_UPDATE of type int AU: int = AU Constant AU of type int R: int = R Constant R of type int READ: int = READ Constant READ of type int U: int = U Constant U of type int UA: int = UA Constant UA of type int UPDATE: int = UPDATE Constant UPDATE of type int W: int = W Constant W of type int WRITE: int = WRITE Constant WRITE of type int petsc4py.PETSc.Viewer.Format class petsc4py.PETSc.Viewer.Format Bases: object Viewer format. Attributes Summary ┌────────────────────┬───────────────────────────────────────┐ │ ASCII_COMMON │ Constant ASCII_COMMON of type int │ ├────────────────────┼───────────────────────────────────────┤ │ ASCII_CSV │ Constant ASCII_CSV of type int │ ├────────────────────┼───────────────────────────────────────┤ │ ASCII_DENSE │ Constant ASCII_DENSE of type int │ ├────────────────────┼───────────────────────────────────────┤ │ ASCII_FACTOR_INFO │ Constant ASCII_FACTOR_INFO of type ‐ │ │ │ int │ ├────────────────────┼───────────────────────────────────────┤ │ ASCII_GLVIS │ Constant ASCII_GLVIS of type int │ ├────────────────────┼───────────────────────────────────────┤ │ ASCII_IMPL │ Constant ASCII_IMPL of type int │ ├────────────────────┼───────────────────────────────────────┤ │ ASCII_INDEX │ Constant ASCII_INDEX of type int │ ├────────────────────┼───────────────────────────────────────┤ │ ASCII_INFO │ Constant ASCII_INFO of type int │ ├────────────────────┼───────────────────────────────────────┤ │ ASCII_INFO_DETAIL │ Constant ASCII_INFO_DETAIL of type ‐ │ │ │ int │ ├────────────────────┼───────────────────────────────────────┤ │ ASCII_LATEX │ Constant ASCII_LATEX of type int │ ├────────────────────┼───────────────────────────────────────┤ │ ASCII_MATHEMATICA │ Constant ASCII_MATHEMATICA of type ‐ │ │ │ int │ ├────────────────────┼───────────────────────────────────────┤ │ ASCII_MATLAB │ Constant ASCII_MATLAB of type int │ ├────────────────────┼───────────────────────────────────────┤ │ ASCII_MATRIXMARKET │ Constant ASCII_MATRIXMARKET of type ‐ │ │ │ int │ ├────────────────────┼───────────────────────────────────────┤ │ ASCII_PCICE │ Constant ASCII_PCICE of type int │ ├────────────────────┼───────────────────────────────────────┤ │ ASCII_PYTHON │ Constant ASCII_PYTHON of type int │ ├────────────────────┼───────────────────────────────────────┤ │ ASCII_SYMMODU │ Constant ASCII_SYMMODU of type int │ ├────────────────────┼───────────────────────────────────────┤ │ ASCII_VTK │ Constant ASCII_VTK of type int │ ├────────────────────┼───────────────────────────────────────┤ │ ASCII_VTK_CELL │ Constant ASCII_VTK_CELL of type int │ ├────────────────────┼───────────────────────────────────────┤ │ ASCII_VTK_COORDS │ Constant ASCII_VTK_COORDS of type int │ ├────────────────────┼───────────────────────────────────────┤ │ ASCII_XML │ Constant ASCII_XML of type int │ ├────────────────────┼───────────────────────────────────────┤ │ BINARY_MATLAB │ Constant BINARY_MATLAB of type int │ ├────────────────────┼───────────────────────────────────────┤ │ DEFAULT │ Constant DEFAULT of type int │ ├────────────────────┼───────────────────────────────────────┤ │ DRAW_BASIC │ Constant DRAW_BASIC of type int │ ├────────────────────┼───────────────────────────────────────┤ │ DRAW_CONTOUR │ Constant DRAW_CONTOUR of type int │ ├────────────────────┼───────────────────────────────────────┤ │ DRAW_LG │ Constant DRAW_LG of type int │ ├────────────────────┼───────────────────────────────────────┤ │ DRAW_LG_XRANGE │ Constant DRAW_LG_XRANGE of type int │ ├────────────────────┼───────────────────────────────────────┤ │ DRAW_PORTS │ Constant DRAW_PORTS of type int │ ├────────────────────┼───────────────────────────────────────┤ │ FAILED │ Constant FAILED of type int │ ├────────────────────┼───────────────────────────────────────┤ │ HDF5_MAT │ Constant HDF5_MAT of type int │ ├────────────────────┼───────────────────────────────────────┤ │ HDF5_PETSC │ Constant HDF5_PETSC of type int │ ├────────────────────┼───────────────────────────────────────┤ │ HDF5_VIZ │ Constant HDF5_VIZ of type int │ ├────────────────────┼───────────────────────────────────────┤ │ HDF5_XDMF │ Constant HDF5_XDMF of type int │ ├────────────────────┼───────────────────────────────────────┤ │ LOAD_BALANCE │ Constant LOAD_BALANCE of type int │ ├────────────────────┼───────────────────────────────────────┤ │ NATIVE │ Constant NATIVE of type int │ ├────────────────────┼───────────────────────────────────────┤ │ NOFORMAT │ Constant NOFORMAT of type int │ ├────────────────────┼───────────────────────────────────────┤ │ VTK_VTR │ Constant VTK_VTR of type int │ ├────────────────────┼───────────────────────────────────────┤ │ VTK_VTS │ Constant VTK_VTS of type int │ ├────────────────────┼───────────────────────────────────────┤ │ VTK_VTU │ Constant VTK_VTU of type int │ └────────────────────┴───────────────────────────────────────┘ Attributes Documentation ASCII_COMMON: int = ASCII_COMMON Constant ASCII_COMMON of type int ASCII_CSV: int = ASCII_CSV Constant ASCII_CSV of type int ASCII_DENSE: int = ASCII_DENSE Constant ASCII_DENSE of type int ASCII_FACTOR_INFO: int = ASCII_FACTOR_INFO Constant ASCII_FACTOR_INFO of type int ASCII_GLVIS: int = ASCII_GLVIS Constant ASCII_GLVIS of type int ASCII_IMPL: int = ASCII_IMPL Constant ASCII_IMPL of type int ASCII_INDEX: int = ASCII_INDEX Constant ASCII_INDEX of type int ASCII_INFO: int = ASCII_INFO Constant ASCII_INFO of type int ASCII_INFO_DETAIL: int = ASCII_INFO_DETAIL Constant ASCII_INFO_DETAIL of type int ASCII_LATEX: int = ASCII_LATEX Constant ASCII_LATEX of type int ASCII_MATHEMATICA: int = ASCII_MATHEMATICA Constant ASCII_MATHEMATICA of type int ASCII_MATLAB: int = ASCII_MATLAB Constant ASCII_MATLAB of type int ASCII_MATRIXMARKET: int = ASCII_MATRIXMARKET Constant ASCII_MATRIXMARKET of type int ASCII_PCICE: int = ASCII_PCICE Constant ASCII_PCICE of type int ASCII_PYTHON: int = ASCII_PYTHON Constant ASCII_PYTHON of type int ASCII_SYMMODU: int = ASCII_SYMMODU Constant ASCII_SYMMODU of type int ASCII_VTK: int = ASCII_VTK Constant ASCII_VTK of type int ASCII_VTK_CELL: int = ASCII_VTK_CELL Constant ASCII_VTK_CELL of type int ASCII_VTK_COORDS: int = ASCII_VTK_COORDS Constant ASCII_VTK_COORDS of type int ASCII_XML: int = ASCII_XML Constant ASCII_XML of type int BINARY_MATLAB: int = BINARY_MATLAB Constant BINARY_MATLAB of type int DEFAULT: int = DEFAULT Constant DEFAULT of type int DRAW_BASIC: int = DRAW_BASIC Constant DRAW_BASIC of type int DRAW_CONTOUR: int = DRAW_CONTOUR Constant DRAW_CONTOUR of type int DRAW_LG: int = DRAW_LG Constant DRAW_LG of type int DRAW_LG_XRANGE: int = DRAW_LG_XRANGE Constant DRAW_LG_XRANGE of type int DRAW_PORTS: int = DRAW_PORTS Constant DRAW_PORTS of type int FAILED: int = FAILED Constant FAILED of type int HDF5_MAT: int = HDF5_MAT Constant HDF5_MAT of type int HDF5_PETSC: int = HDF5_PETSC Constant HDF5_PETSC of type int HDF5_VIZ: int = HDF5_VIZ Constant HDF5_VIZ of type int HDF5_XDMF: int = HDF5_XDMF Constant HDF5_XDMF of type int LOAD_BALANCE: int = LOAD_BALANCE Constant LOAD_BALANCE of type int NATIVE: int = NATIVE Constant NATIVE of type int NOFORMAT: int = NOFORMAT Constant NOFORMAT of type int VTK_VTR: int = VTK_VTR Constant VTK_VTR of type int VTK_VTS: int = VTK_VTS Constant VTK_VTS of type int VTK_VTU: int = VTK_VTU Constant VTK_VTU of type int petsc4py.PETSc.Viewer.Type class petsc4py.PETSc.Viewer.Type Bases: object Viewer type. Attributes Summary ┌─────────────┬────────────────────────────────┐ │ ADIOS │ Object ADIOS of type str │ ├─────────────┼────────────────────────────────┤ │ ASCII │ Object ASCII of type str │ ├─────────────┼────────────────────────────────┤ │ BINARY │ Object BINARY of type str │ ├─────────────┼────────────────────────────────┤ │ DRAW │ Object DRAW of type str │ ├─────────────┼────────────────────────────────┤ │ EXODUSII │ Object EXODUSII of type str │ ├─────────────┼────────────────────────────────┤ │ GLVIS │ Object GLVIS of type str │ ├─────────────┼────────────────────────────────┤ │ HDF5 │ Object HDF5 of type str │ ├─────────────┼────────────────────────────────┤ │ MATHEMATICA │ Object MATHEMATICA of type str │ ├─────────────┼────────────────────────────────┤ │ MATLAB │ Object MATLAB of type str │ ├─────────────┼────────────────────────────────┤ │ SAWS │ Object SAWS of type str │ ├─────────────┼────────────────────────────────┤ │ SOCKET │ Object SOCKET of type str │ ├─────────────┼────────────────────────────────┤ │ STRING │ Object STRING of type str │ ├─────────────┼────────────────────────────────┤ │ VTK │ Object VTK of type str │ ├─────────────┼────────────────────────────────┤ │ VU │ Object VU of type str │ └─────────────┴────────────────────────────────┘ Attributes Documentation ADIOS: str = ADIOS Object ADIOS of type str ASCII: str = ASCII Object ASCII of type str BINARY: str = BINARY Object BINARY of type str DRAW: str = DRAW Object DRAW of type str EXODUSII: str = EXODUSII Object EXODUSII of type str GLVIS: str = GLVIS Object GLVIS of type str HDF5: str = HDF5 Object HDF5 of type str MATHEMATICA: str = MATHEMATICA Object MATHEMATICA of type str MATLAB: str = MATLAB Object MATLAB of type str SAWS: str = SAWS Object SAWS of type str SOCKET: str = SOCKET Object SOCKET of type str STRING: str = STRING Object STRING of type str VTK: str = VTK Object VTK of type str VU: str = VU Object VU of type str Methods Summary ┌───────────────────────────────────────┬───────────────────────────────────────┐ │ ASCII(name[, comm]) │ Return an ASCII viewer associated │ │ │ with the communicator. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ BINARY([comm]) │ Return the default Type.BINARY viewer │ │ │ associated with the communicator. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ DRAW([comm]) │ Return the default Type.DRAW viewer │ │ │ associated with the communicator. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ STDERR([comm]) │ Return the standard error viewer │ │ │ associated with the communicator. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ STDOUT([comm]) │ Return the standard output viewer │ │ │ associated with the communicator. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ addASCIITab(tabs) │ Increment the ASCII tab level. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ clearDraw() │ Reset graphics. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ create([comm]) │ Create a viewer. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createASCII(name[, mode, comm]) │ Create a viewer of type Type.ASCII. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createBinary(name[, mode, comm]) │ Create a viewer of type Type.BINARY. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createDraw([display, title, position, │ Create a Type.DRAW viewer. │ │ size, ...]) │ │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createHDF5(name[, mode, comm]) │ Create a viewer of type Type.HDF5. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createMPIIO(name[, mode, comm]) │ Create a viewer of type Type.BINARY │ │ │ supporting MPI-IO. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ createVTK(name[, mode, comm]) │ Create a viewer of type Type.VTK. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ destroy() │ Destroy the viewer. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ flush() │ Flush the viewer. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getASCIITab() │ Return the ASCII tab level. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getFileMode() │ Return the file mode. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getFileName() │ Return file name. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getFormat() │ Return the format of the viewer. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getSubViewer([comm]) │ Return a viewer defined on a │ │ │ subcommunicator. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ getType() │ Return the type of the viewer. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ popASCIISynchronized() │ Disallow ASCII synchronized calls. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ popASCIITab() │ Pop an additional tab level pushed │ │ │ via pushASCIITab. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ popFormat() │ Pop format from the viewer. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ printfASCII(msg) │ Print a message. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ printfASCIISynchronized(msg) │ Print a synchronized message. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ pushASCIISynchronized() │ Allow ASCII synchronized calls. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ pushASCIITab() │ Push an additional tab level. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ pushFormat(format) │ Push format to the viewer. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ restoreSubViewer(sub) │ Restore a viewer defined on a │ │ │ subcommunicator. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setASCIITab(tabs) │ Set ASCII tab level. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setDrawInfo([display, title, │ Set window information for a │ │ position, size]) │ Type.DRAW viewer. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFileMode(mode) │ Set file mode. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setFileName(name) │ Set file name. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ setType(vwr_type) │ Set the type of the viewer. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ subtractASCIITab(tabs) │ Decrement the ASCII tab level. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ useASCIITabs(flag) │ Enable/disable the use of ASCII tabs. │ ├───────────────────────────────────────┼───────────────────────────────────────┤ │ view([obj]) │ View the viewer. │ └───────────────────────────────────────┴───────────────────────────────────────┘ Methods Documentation classmethod ASCII(name, comm=None) Return an ASCII viewer associated with the communicator. Collective. Parameters • name (str) -- The filename. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Viewer Source code at petsc4py/PETSc/Viewer.pyx:580 classmethod BINARY(comm=None) Return the default Type.BINARY viewer associated with the communicator. Collective. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Viewer Source code at petsc4py/PETSc/Viewer.pyx:601 classmethod DRAW(comm=None) Return the default Type.DRAW viewer associated with the communicator. Collective. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Viewer Source code at petsc4py/PETSc/Viewer.pyx:619 classmethod STDERR(comm=None) Return the standard error viewer associated with the communicator. Collective. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Viewer Source code at petsc4py/PETSc/Viewer.pyx:562 classmethod STDOUT(comm=None) Return the standard output viewer associated with the communicator. Collective. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Viewer Source code at petsc4py/PETSc/Viewer.pyx:544 addASCIITab(tabs) Increment the ASCII tab level. Collective. SEE ALSO: PetscViewerASCIIAddTab Source code at petsc4py/PETSc/Viewer.pyx:666 Parameters tabs (int) Return type None clearDraw() Reset graphics. Not collective. SEE ALSO: PetscViewerDrawClear Source code at petsc4py/PETSc/Viewer.pyx:897 Return type None create(comm=None) Create a viewer. Collective. Parameters comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: Sys.getDefaultComm, PetscViewerCreate Source code at petsc4py/PETSc/Viewer.pyx:180 createASCII(name, mode=None, comm=None) Create a viewer of type Type.ASCII. Collective. Parameters • name (str) -- The filename associated with the viewer. • mode (FileMode | str | None) -- The mode type. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: create, setType, setFileMode, setFileName, Sys.getDefaultComm, setASCIITab, addASCIITab, subtractASCIITab, getASCIITab Source code at petsc4py/PETSc/Viewer.pyx:201 createBinary(name, mode=None, comm=None) Create a viewer of type Type.BINARY. Collective. Parameters • name (str) -- The filename associated with the viewer. • mode (FileMode | str | None) -- The mode type. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: create, setType, setFileMode, setFileName, Sys.getDefaultComm Source code at petsc4py/PETSc/Viewer.pyx:239 createDraw(display=None, title=None, position=None, size=None, comm=None) Create a Type.DRAW viewer. Collective. Parameters • display (str | None) -- The X display to use or None for the local machine. • title (str | None) -- The window title or None for no title. • position (tuple[int, int] | None) -- Screen coordinates of the upper left corner, or None for default. • size (tuple[int, int] | int | None) -- Window size or None for default. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: Sys.getDefaultComm, PetscViewerDrawOpen Source code at petsc4py/PETSc/Viewer.pyx:381 createHDF5(name, mode=None, comm=None) Create a viewer of type Type.HDF5. Collective. Parameters • name (str) -- The filename associated with the viewer. • mode (FileMode | str | None) -- The mode type. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: create, setType, setFileMode, setFileName, Sys.getDefaultComm Source code at petsc4py/PETSc/Viewer.pyx:345 createMPIIO(name, mode=None, comm=None) Create a viewer of type Type.BINARY supporting MPI-IO. Collective. Parameters • name (str) -- The filename associated with the viewer. • mode (FileMode | str | None) -- The mode type. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: create, setType, setFileMode, setFileName, Sys.getDefaultComm Source code at petsc4py/PETSc/Viewer.pyx:272 createVTK(name, mode=None, comm=None) Create a viewer of type Type.VTK. Collective. Parameters • name (str) -- The filename associated with the viewer. • mode (FileMode | str | None) -- The mode type. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: create, setType, setFileMode, setFileName, Sys.getDefaultComm Source code at petsc4py/PETSc/Viewer.pyx:309 destroy() Destroy the viewer. Collective. SEE ALSO: PetscViewerDestroy Source code at petsc4py/PETSc/Viewer.pyx:167 Return type Self flush() Flush the viewer. Collective. SEE ALSO: PetscViewerFlush Source code at petsc4py/PETSc/Viewer.pyx:785 Return type None getASCIITab() Return the ASCII tab level. Not collective. SEE ALSO: setASCIITab, PetscViewerASCIIGetTab Source code at petsc4py/PETSc/Viewer.pyx:652 Return type int getFileMode() Return the file mode. Not collective. SEE ALSO: setFileMode, PetscViewerFileGetMode Source code at petsc4py/PETSc/Viewer.pyx:809 Return type FileMode getFileName() Return file name. Not collective. SEE ALSO: setFileName, PetscViewerFileGetName Source code at petsc4py/PETSc/Viewer.pyx:837 Return type str getFormat() Return the format of the viewer. Not collective. SEE ALSO: pushFormat, popFormat, PetscViewerGetFormat Source code at petsc4py/PETSc/Viewer.pyx:464 Return type Format getSubViewer(comm=None) Return a viewer defined on a subcommunicator. Collective. Parameters comm (Comm | None) -- The subcommunicator. If None, uses COMM_SELF. Return type Viewer Notes Users must call restoreSubViewer when done. SEE ALSO: restoreSubViewer, PetscViewerGetSubViewer Source code at petsc4py/PETSc/Viewer.pyx:502 getType() Return the type of the viewer. Not collective. SEE ALSO: setType, PetscViewerGetType Source code at petsc4py/PETSc/Viewer.pyx:450 Return type str popASCIISynchronized() Disallow ASCII synchronized calls. Collective. SEE ALSO: printfASCIISynchronized, pushASCIISynchronized, PetscViewerASCIIPopSynchronized Source code at petsc4py/PETSc/Viewer.pyx:705 Return type None popASCIITab() Pop an additional tab level pushed via pushASCIITab. Collective. SEE ALSO: pushASCIITab, PetscViewerASCIIPopTab Source code at petsc4py/PETSc/Viewer.pyx:730 Return type None popFormat() Pop format from the viewer. Collective. SEE ALSO: pushFormat, PetscViewerPopFormat Source code at petsc4py/PETSc/Viewer.pyx:490 Return type None printfASCII(msg) Print a message. Collective. SEE ALSO: PetscViewerASCIIPrintf Source code at petsc4py/PETSc/Viewer.pyx:755 Parameters msg (str) Return type None printfASCIISynchronized(msg) Print a synchronized message. Collective. SEE ALSO: pushASCIISynchronized, PetscViewerASCIISynchronizedPrintf Source code at petsc4py/PETSc/Viewer.pyx:769 Parameters msg (str) Return type None pushASCIISynchronized() Allow ASCII synchronized calls. Collective. SEE ALSO: printfASCIISynchronized, popASCIISynchronized, PetscViewerASCIIPushSynchronized Source code at petsc4py/PETSc/Viewer.pyx:692 Return type None pushASCIITab() Push an additional tab level. Collective. SEE ALSO: popASCIITab, PetscViewerASCIIPushTab Source code at petsc4py/PETSc/Viewer.pyx:718 Return type None pushFormat(format) Push format to the viewer. Collective. SEE ALSO: popFormat, PetscViewerPushFormat Source code at petsc4py/PETSc/Viewer.pyx:478 Parameters format (Format) Return type None restoreSubViewer(sub) Restore a viewer defined on a subcommunicator. Collective. Parameters sub (Viewer) -- The subviewer obtained from getSubViewer. Return type None SEE ALSO: getSubViewer, PetscViewerRestoreSubViewer Source code at petsc4py/PETSc/Viewer.pyx:526 setASCIITab(tabs) Set ASCII tab level. Collective. SEE ALSO: getASCIITab, PetscViewerASCIISetTab Source code at petsc4py/PETSc/Viewer.pyx:639 Parameters tabs (int) Return type None setDrawInfo(display=None, title=None, position=None, size=None) Set window information for a Type.DRAW viewer. Collective. Parameters • display (str | None) -- The X display to use or None for the local machine. • title (str | None) -- The window title or None for no title. • position (tuple[int, int] | None) -- Screen coordinates of the upper left corner, or None for default. • size (tuple[int, int] | int | None) -- Window size or None for default. Return type None Source code at petsc4py/PETSc/Viewer.pyx:853 setFileMode(mode) Set file mode. Collective. SEE ALSO: getFileMode, PetscViewerFileSetMode Source code at petsc4py/PETSc/Viewer.pyx:797 Parameters mode (FileMode | str) Return type None setFileName(name) Set file name. Collective. SEE ALSO: getFileName, PetscViewerFileSetName Source code at petsc4py/PETSc/Viewer.pyx:823 Parameters name (str) Return type None setType(vwr_type) Set the type of the viewer. Logically collective. Parameters vwr_type (Type | str) -- The type of the viewer. Return type None SEE ALSO: getType, PetscViewerSetType Source code at petsc4py/PETSc/Viewer.pyx:431 subtractASCIITab(tabs) Decrement the ASCII tab level. Collective. SEE ALSO: PetscViewerASCIISubtractTab Source code at petsc4py/PETSc/Viewer.pyx:679 Parameters tabs (int) Return type None useASCIITabs(flag) Enable/disable the use of ASCII tabs. Collective. SEE ALSO: PetscViewerASCIIUseTabs Source code at petsc4py/PETSc/Viewer.pyx:742 Parameters flag (bool) Return type None view(obj=None) View the viewer. Collective. Parameters obj (Viewer | Object | None) -- A Viewer instance or None for the default viewer. If none of the above applies, it assumes obj is an instance of Object and it calls the generic view for obj. Return type None Notes SEE ALSO: PetscViewerView Source code at petsc4py/PETSc/Viewer.pyx:139 petsc4py.PETSc.ViewerHDF5 class petsc4py.PETSc.ViewerHDF5 Bases: Viewer Viewer object for HDF5 file formats. Viewer is described in the PETSc manual. SEE ALSO: Viewer Methods Summary ┌────────────────────────────┬───────────────────────────────────────┐ │ create(name[, mode, comm]) │ Create a viewer of type Type.HDF5. │ ├────────────────────────────┼───────────────────────────────────────┤ │ getGroup() │ Return the current group. │ ├────────────────────────────┼───────────────────────────────────────┤ │ getTimestep() │ Return the current time step. │ ├────────────────────────────┼───────────────────────────────────────┤ │ incrementTimestep() │ Increment the time step. │ ├────────────────────────────┼───────────────────────────────────────┤ │ popGroup() │ Pop the current group from the stack. │ ├────────────────────────────┼───────────────────────────────────────┤ │ popTimestepping() │ Deactivate the timestepping mode. │ ├────────────────────────────┼───────────────────────────────────────┤ │ pushGroup(group) │ Set the current group. │ ├────────────────────────────┼───────────────────────────────────────┤ │ pushTimestepping() │ Activate the timestepping mode. │ ├────────────────────────────┼───────────────────────────────────────┤ │ setTimestep(timestep) │ Set the current time step. │ └────────────────────────────┴───────────────────────────────────────┘ Methods Documentation create(name, mode=None, comm=None) Create a viewer of type Type.HDF5. Collective. Parameters • name (str) -- The filename associated with the viewer. • mode (FileMode | str | None) -- The mode type. • comm (Comm | None) -- MPI communicator, defaults to Sys.getDefaultComm. Return type Self SEE ALSO: Viewer.createHDF5 Source code at petsc4py/PETSc/Viewer.pyx:922 getGroup() Return the current group. Not collective. SEE ALSO: pushGroup, popGroup, PetscViewerHDF5GetGroup Source code at petsc4py/PETSc/Viewer.pyx:1049 Return type str getTimestep() Return the current time step. Not collective. SEE ALSO: pushTimestepping, setTimestep, incrementTimestep, PetscViewerHDF5GetTimestep Source code at petsc4py/PETSc/Viewer.pyx:982 Return type int incrementTimestep() Increment the time step. Logically collective. SEE ALSO: pushTimestepping, setTimestep, getTimestep, PetscViewerHDF5IncrementTimestep Source code at petsc4py/PETSc/Viewer.pyx:1010 Return type None popGroup() Pop the current group from the stack. Logically collective. SEE ALSO: pushGroup, getGroup, PetscViewerHDF5PopGroup Source code at petsc4py/PETSc/Viewer.pyx:1037 Return type None popTimestepping() Deactivate the timestepping mode. Logically collective. SEE ALSO: pushTimestepping, PetscViewerHDF5PopTimestepping Source code at petsc4py/PETSc/Viewer.pyx:970 Return type None pushGroup(group) Set the current group. Logically collective. SEE ALSO: popGroup, getGroup, PetscViewerHDF5PushGroup Source code at petsc4py/PETSc/Viewer.pyx:1023 Parameters group (str) Return type None pushTimestepping() Activate the timestepping mode. Logically collective. SEE ALSO: popTimestepping, PetscViewerHDF5PushTimestepping Source code at petsc4py/PETSc/Viewer.pyx:958 Return type None setTimestep(timestep) Set the current time step. Logically collective. SEE ALSO: pushTimestepping, getTimestep, incrementTimestep, PetscViewerHDF5SetTimestep Source code at petsc4py/PETSc/Viewer.pyx:997 Parameters timestep (int) Return type None Exceptions ┌───────┬──────────────┐ │ Error │ PETSc Error. │ └───────┴──────────────┘ petsc4py.PETSc.Error exception petsc4py.PETSc.Error PETSc Error. ierr PETSc error code. Type int Functions ┌─────────────────────────┬───────────────────────────────────────┐ │ garbage_cleanup([comm]) │ Clean up unused PETSc objects. │ ├─────────────────────────┼───────────────────────────────────────┤ │ garbage_view([comm]) │ Print summary of the garbage PETSc │ │ │ objects. │ └─────────────────────────┴───────────────────────────────────────┘ petsc4py.PETSc.garbage_cleanup petsc4py.PETSc.garbage_cleanup(comm=None) Clean up unused PETSc objects. Collective. Notes If the communicator comm if not provided or it is None, then COMM_WORLD is used. Source code at petsc4py/PETSc/cyclicgc.pxi:39 Parameters comm (Comm | None) Return type None petsc4py.PETSc.garbage_view petsc4py.PETSc.garbage_view(comm=None) Print summary of the garbage PETSc objects. Collective. Notes Print out garbage summary on each rank of the communicator comm. If no communicator is provided then COMM_WORLD is used. Source code at petsc4py/PETSc/cyclicgc.pxi:63 Parameters comm (Comm | None) Return type None Attributes ┌────────────┬────────────────────────────────┐ │ DECIDE │ Constant DECIDE of type int │ ├────────────┼────────────────────────────────┤ │ DEFAULT │ Constant DEFAULT of type int │ ├────────────┼────────────────────────────────┤ │ DETERMINE │ Constant DETERMINE of type int │ ├────────────┼────────────────────────────────┤ │ CURRENT │ Constant CURRENT of type int │ ├────────────┼────────────────────────────────┤ │ UNLIMITED │ Constant UNLIMITED of type int │ ├────────────┼────────────────────────────────┤ │ INFINITY │ Object INFINITY of type float │ ├────────────┼────────────────────────────────┤ │ NINFINITY │ Object NINFINITY of type float │ ├────────────┼────────────────────────────────┤ │ PINFINITY │ Object PINFINITY of type float │ ├────────────┼────────────────────────────────┤ │ COMM_NULL │ Object COMM_NULL of type Comm │ ├────────────┼────────────────────────────────┤ │ COMM_SELF │ Object COMM_SELF of type Comm │ ├────────────┼────────────────────────────────┤ │ COMM_WORLD │ Object COMM_WORLD of type Comm │ └────────────┴────────────────────────────────┘ petsc4py.PETSc.DECIDE petsc4py.PETSc.DECIDE: int = DECIDE Constant DECIDE of type int petsc4py.PETSc.DEFAULT petsc4py.PETSc.DEFAULT: int = DEFAULT Constant DEFAULT of type int petsc4py.PETSc.DETERMINE petsc4py.PETSc.DETERMINE: int = DETERMINE Constant DETERMINE of type int petsc4py.PETSc.CURRENT petsc4py.PETSc.CURRENT: int = CURRENT Constant CURRENT of type int petsc4py.PETSc.UNLIMITED petsc4py.PETSc.UNLIMITED: int = UNLIMITED Constant UNLIMITED of type int petsc4py.PETSc.INFINITY petsc4py.PETSc.INFINITY: float = INFINITY Object INFINITY of type float petsc4py.PETSc.NINFINITY petsc4py.PETSc.NINFINITY: float = NINFINITY Object NINFINITY of type float petsc4py.PETSc.PINFINITY petsc4py.PETSc.PINFINITY: float = PINFINITY Object PINFINITY of type float petsc4py.PETSc.COMM_NULL petsc4py.PETSc.COMM_NULL: Comm = COMM_NULL Object COMM_NULL of type Comm petsc4py.PETSc.COMM_SELF petsc4py.PETSc.COMM_SELF: Comm = COMM_SELF Object COMM_SELF of type Comm petsc4py.PETSc.COMM_WORLD petsc4py.PETSc.COMM_WORLD: Comm = COMM_WORLD Object COMM_WORLD of type Comm
PETSC PYTHON TYPES
Here we discuss details about Python-aware PETSc types that can be used within the library. In particular, we discuss matrices, preconditioners, Krylov solvers, nonlinear solvers and ODE integrators. The low-level, Cython implementation exposing the Python methods is in ‐ src/petsc4py/PETSc/libpetsc4py.pyx. The scripts used here can be found at demo/python_types. PETSc Python matrix type PETSc provides a convenient way to compute the action of linear operators coded in Python through the petsc4py.PETSc.Mat.Type.PYTHON type. In addition to the matrix action, the implementation can expose additional methods for use within the library. A template class for the supported methods is given below. from petsc4py.typing import Scalar from petsc4py.PETSc import Mat from petsc4py.PETSc import Vec from petsc4py.PETSc import IS from petsc4py.PETSc import InsertMode from petsc4py.PETSc import NormType from petsc4py.PETSc import Viewer # A template class with the Python methods supported by MATPYTHON class MatPythonProtocol: def mult(self, A: Mat, x: Vec, y: Vec) -> None: """Matrix vector multiplication: y = A @ x.""" ... def multAdd(self, A: Mat, x: Vec, y: Vec, z: Vec) -> None: """Matrix vector multiplication: z = A @ x + y.""" ... def multTranspose(self, A: Mat, x: Vec, y: Vec) -> None: """Transposed matrix vector multiplication: y = A^T @ x.""" ... def multTransposeAdd(self, A: Mat, x: Vec, y: Vec, z: Vec) -> None: """Transposed matrix vector multiplication: z = A^T @ x + y.""" ... def multHermitian(self, A: Mat, x: Vec, y: Vec) -> None: """Hermitian matrix vector multiplication: y = A^H @ x.""" ... def multHermitianAdd(self, A: Mat, x: Vec, y: Vec, z: Vec) -> None: """Hermitian matrix vector multiplication: z = A^H @ x + y.""" ... def view(self, A: Mat, viewer: Viewer) -> None: """View the matrix.""" ... def setFromOptions(self, A: Mat) -> None: """Process command line for customization.""" ... def multDiagonalBlock(self, A: Mat, x: Vec, y: Vec) -> None: """Perform the on-process matrix vector multiplication.""" ... def createVecs(self, A: Mat) -> tuple[Vec, Vec]: """Return tuple of vectors (x,y) suitable for A @ x = y.""" ... def scale(self, A: Mat, s: Scalar) -> None: """Scale the matrix by a scalar.""" ... def shift(self, A: Mat, s: Scalar) -> None: """Shift the matrix by a scalar.""" ... def createSubMatrix(self, A: Mat, r: IS, c: IS, out: Mat) -> Mat: """Return the submatrix corresponding to r rows and c columns. Matrix out must be reused if not None. """ ... def zeroRowsColumns(self, A: Mat, r: IS, diag: Scalar, x: Vec, b: Vec) -> None: """Zero rows and columns of the matrix corresponding to the index set r. Insert diag on the diagonal and modify vectors x and b accordingly if not None. """ ... def getDiagonal(self, A: Mat, d: Vec) -> None: """Compute the diagonal of the matrix: d = diag(A).""" ... def setDiagonal(self, A: Mat, d: Vec, im: InsertMode) -> None: """Set the diagonal of the matrix.""" ... def missingDiagonal(self, A: Mat, d: Vec, im: InsertMode) -> tuple[bool, int]: """Return a flag indicating if the matrix is missing a diagonal entry and the location.""" ... def diagonalScale(self, A: Mat, L: Vec, R: Vec) -> None: """Perform left and right diagonal scaling if vectors are not None. A = diag(L)@A@diag(R). """ ... def getDiagonalBlock(self, A: Mat) -> Mat: """Return the on-process matrix.""" ... def setUp(self, A: Mat) -> None: """Perform the required setup.""" ... def duplicate(self, A: Mat, op: Mat.DuplicateOption) -> Mat: """Duplicate the matrix.""" ... def copy(self, A: Mat, B: Mat, op: Mat.Structure) -> None: """Copy the matrix: B = A.""" ... def productSetFromOptions( self, A: Mat, prodtype: str, X: Mat, Y: Mat, Z: Mat ) -> bool: """The boolean flag indicating if the matrix supports prodtype.""" ... def productSymbolic( self, A: Mat, product: Mat, producttype: str, X: Mat, Y: Mat, Z: Mat ) -> None: """Perform the symbolic stage of the requested matrix product.""" ... def productNumeric( self, A: Mat, product: Mat, producttype: str, X: Mat, Y: Mat, Z: Mat ) -> None: """Perform the numeric stage of the requested matrix product.""" ... def zeroEntries(self, A: Mat) -> None: """Set the matrix to zero.""" ... def norm(self, A: Mat, normtype: NormType) -> float: """Compute the norm of the matrix.""" ... def solve(self, A: Mat, y: Vec, x: Vec) -> None: """Solve the equation: x = inv(A) y.""" ... def solveAdd(self, A: Mat, y: Vec, z: Vec, x: Vec) -> None: """Solve the equation: x = inv(A) y + z.""" ... def solveTranspose(self, A: Mat, y: Vec, x: Vec) -> None: """Solve the equation: x = inv(A)^T y.""" ... def solveTransposeAdd(self, A: Mat, y: Vec, z: Vec, x: Vec) -> None: """Solve the equation: x = inv(A)^T y + z.""" ... def SOR( self, A: Mat, b: Vec, omega: float, sortype: Mat.SORType, shift: float, its: int, lits: int, x: Vec, ) -> None: """Perform SOR iterations.""" ... def conjugate(self, A: Mat) -> None: """Perform the conjugation of the matrix: A = conj(A).""" ... def imagPart(self, A: Mat) -> None: """Set real part to zero. A = imag(A).""" ... def realPart(self, A: Mat) -> None: """Set imaginary part to zero. A = real(A).""" ... In the example below, we create an operator that applies the Laplacian operator on a two-dimensional grid, and use it to solve the associated linear system. The default preconditioner in the script is petsc4py.PETSc.PC.Type.JACOBI which needs to access the diagonal of the matrix. # ------------------------------------------------------------------------ # # Poisson problem. This problem is modeled by the partial # differential equation # # -Laplacian(u) = 1, 0 < x,y < 1, # # with boundary conditions # # u = 0 for x = 0, x = 1, y = 0, y = 1 # # A finite difference approximation with the usual 5-point stencil # is used to discretize the boundary value problem to obtain a # nonlinear system of equations. The problem is solved in a 2D # rectangular domain, using distributed arrays (DAs) to partition # the parallel grid. # # ------------------------------------------------------------------------ # We first import petsc4py and sys to initialize PETSc import sys import petsc4py petsc4py.init(sys.argv) # Import the PETSc module from petsc4py import PETSc # Here we define a class representing the discretized operator # This allows us to apply the operator "matrix-free" class Poisson2D: def __init__(self, da): self.da = da self.localX = da.createLocalVec() # This is the method that PETSc will look for when applying # the operator. `X` is the PETSc input vector, `Y` the output vector, # while `mat` is the PETSc matrix holding the PETSc datastructures. def mult(self, mat, X, Y): # Grid sizes mx, my = self.da.getSizes() hx, hy = (1.0 / m for m in [mx, my]) # Bounds for the local part of the grid this process owns (xs, xe), (ys, ye) = self.da.getRanges() # Map global vector to local vectors self.da.globalToLocal(X, self.localX) # We can access the vector data as NumPy arrays x = self.da.getVecArray(self.localX) y = self.da.getVecArray(Y) # Loop on the local grid and compute the local action of the operator for j in range(ys, ye): for i in range(xs, xe): u = x[i, j] # center u_e = u_w = u_n = u_s = 0 if i > 0: u_w = x[i - 1, j] # west if i < mx - 1: u_e = x[i + 1, j] # east if j > 0: u_s = x[i, j - 1] # south if j < ny - 1: u_n = x[i, j + 1] # north u_xx = (-u_e + 2 * u - u_w) * hy / hx u_yy = (-u_n + 2 * u - u_s) * hx / hy y[i, j] = u_xx + u_yy # This is the method that PETSc will look for when the diagonal of the matrix is needed. def getDiagonal(self, mat, D): mx, my = self.da.getSizes() hx, hy = (1.0 / m for m in [mx, my]) (xs, xe), (ys, ye) = self.da.getRanges() d = self.da.getVecArray(D) # Loop on the local grid and compute the diagonal for j in range(ys, ye): for i in range(xs, xe): d[i, j] = 2 * hy / hx + 2 * hx / hy # The class can contain other methods that PETSc won't use def formRHS(self, B): b = self.da.getVecArray(B) mx, my = self.da.getSizes() hx, hy = (1.0 / m for m in [mx, my]) (xs, xe), (ys, ye) = self.da.getRanges() for j in range(ys, ye): for i in range(xs, xe): b[i, j] = 1 * hx * hy # Access the option database and read options from the command line OptDB = PETSc.Options() nx, ny = OptDB.getIntArray( 'grid', (16, 16) ) # Read `-grid <int,int>`, defaults to 16,16 # Create the distributed memory implementation for structured grid da = PETSc.DMDA().create([nx, ny], stencil_width=1) # Create vectors to hold the solution and the right-hand side x = da.createGlobalVec() b = da.createGlobalVec() # Instantiate an object of our Poisson2D class pde = Poisson2D(da) # Create a PETSc matrix of type Python using `pde` as context A = PETSc.Mat().create(comm=da.comm) A.setSizes([x.getSizes(), b.getSizes()]) A.setType(PETSc.Mat.Type.PYTHON) A.setPythonContext(pde) A.setUp() # Create a Conjugate Gradient Krylov solver ksp = PETSc.KSP().create() ksp.setType(PETSc.KSP.Type.CG) # Use diagonal preconditioning ksp.getPC().setType(PETSc.PC.Type.JACOBI) # Allow command-line customization ksp.setFromOptions() # Assemble right-hand side and solve the linear system pde.formRHS(b) ksp.setOperators(A) ksp.solve(b, x) # Here we programmatically visualize the solution if OptDB.getBool('plot', True): # Modify the option database: keep the X window open for 1 second OptDB['draw_pause'] = 1 # Obtain a viewer of type DRAW draw = PETSc.Viewer.DRAW(x.comm) # View the vector in the X window draw(x) # We can also visualize the solution by command line options # For example, we can dump a VTK file with: # # $ python poisson2d.py -plot 0 -view_solution vtk:sol.vts: # # or obtain the same visualization as programmatically done above as: # # $ python poisson2d.py -plot 0 -view_solution draw -draw_pause 1 # x.viewFromOptions('-view_solution') PETSc Python preconditioner type The protocol for the petsc4py.PETSc.PC.Type.PYTHON preconditioner is: from petsc4py.PETSc import KSP from petsc4py.PETSc import PC from petsc4py.PETSc import Mat from petsc4py.PETSc import Vec from petsc4py.PETSc import Viewer # A template class with the Python methods supported by PCPYTHON class PCPythonProtocol: def apply(self, pc: PC, b: Vec, x: Vec) -> None: """Apply the preconditioner on vector b, return in x.""" ... def applySymmetricLeft(self, pc: PC, b: Vec, x: Vec) -> None: """Apply the symmetric left part of the preconditioner on vector b, return in x.""" ... def applySymmetricRight(self, pc: PC, b: Vec, x: Vec) -> None: """Apply the symmetric right part of the preconditioner on vector b, return in x.""" ... def applyTranspose(self, pc: PC, b: Vec, x: Vec) -> None: """Apply the transposed preconditioner on vector b, return in x.""" ... def applyMat(self, pc: PC, B: Mat, X: Mat) -> None: """Apply the preconditioner on a block of right-hand sides B, return in X.""" ... def preSolve(self, pc: PC, ksp: KSP, b: Vec, x: Vec) -> None: """Callback called at the beginning of a Krylov method. This method is allowed to modify the right-hand side b and the initial guess x. """ ... def postSolve(self, pc: PC, ksp: KSP, b: Vec, x: Vec) -> None: """Callback called at the end of a Krylov method. This method is allowed to modify the right-hand side b and the solution x. """ def view(self, pc: PC, viewer: Viewer) -> None: """View the preconditioner.""" ... def setFromOptions(self, pc: PC) -> None: """Process command line for customization.""" ... def setUp(self, pc: PC) -> None: """Perform the required setup.""" ... def reset(self, pc: PC) -> None: """Reset the preconditioner.""" ... In the example below, we create a Jacobi preconditioner, which needs to access the diagonal of the matrix. The action of the preconditioner consists of the pointwise multiplication of the inverse diagonal with the input vector. # The user-defined Python class implementing the Jacobi method. class myJacobi: # Setup the internal data. In this case, we access the matrix diagonal. def setUp(self, pc): _, P = pc.getOperators() self.D = P.getDiagonal() # Apply the preconditioner def apply(self, pc, x, y): y.pointwiseDivide(x, self.D) We can run the script used to test our matrix class and use command line arguments to specify that our preconditioner should be used: $ python mat.py -pc_type python -pc_python_type pc.myJacobi -ksp_view KSP Object: 1 MPI process type: cg maximum iterations=10000, initial guess is zero tolerances: relative=1e-05, absolute=1e-50, divergence=10000. left preconditioning using PRECONDITIONED norm type for convergence test PC Object: 1 MPI process type: python Python: pc.myJacobi linear system matrix = precond matrix: Mat Object: 1 MPI process type: python rows=256, cols=256 Python: __main__.Poisson2D PETSc Python linear solver type The protocol for the petsc4py.PETSc.KSP.Type.PYTHON Krylov solver is: from petsc4py.PETSc import KSP from petsc4py.PETSc import Vec from petsc4py.PETSc import Viewer # A template class with the Python methods supported by KSPPYTHON class KSPPythonProtocol: def solve(self, ksp: KSP, b: Vec, x: Vec) -> None: """Solve the linear system with right-hand side b. Return solution in x.""" ... def solveTranspose(self, ksp: KSP, b: Vec, x: Vec) -> None: """Solve the transposed linear system with right-hand side b. Return solution in x.""" ... def view(self, ksp: KSP, viewer: Viewer) -> None: """View the Krylov solver.""" ... def setFromOptions(self, ksp: KSP) -> None: """Process command line for customization.""" ... def setUp(self, ksp: KSP) -> None: """Perform the required setup.""" ... def buildSolution(self, ksp: KSP, x: Vec) -> None: """Compute the solution vector.""" ... def buildResidual(self, ksp: KSP, t: Vec, r: Vec) -> None: """Compute the residual vector, return it in r. t is a scratch working vector.""" ... def reset(self, ksp: KSP) -> None: """Reset the Krylov solver.""" ... PETSc Python nonlinear solver type (TODO) PETSc Python ode-integrator type (TODO) PETSc Python optimization solver type (TODO)
WORKING WITH PETSC OPTIONS
A very powerful feature of PETSc is that objects can be configured via command-line options. In this way, one can choose the method to be used or set different parameters without changing the source code. See the PETSc manual for additional information. In order to use command-line options in a petsc4py program, it is important to initialize the module as follows: # We first import petsc4py and sys to initialize PETSc import sys, petsc4py petsc4py.init(sys.argv) # Import the PETSc module from petsc4py import PETSc Then one can provide command-line options when running a script: $ python foo.py -ksp_type gmres -ksp_gmres_restart 100 -ksp_view When the above initialization method is not possible, PETSc options can be also specified via environment variables or configuration files, e.g.: $ PETSC_OPTIONS='-ksp_type gmres -ksp_gmres_restart 100 -ksp_view' python foo.py Command-line options can be read via an instance of the Options class. For instance: OptDB = PETSc.Options() n = OptDB.getInt('n', 16) eta = OptDB.getReal('eta', 0.014) alpha = OptDB.getScalar('alpha', -12.3) In this way, if the script is run with $ python foo.py -n 50 -alpha 8.8 the options, n and alpha will get the values 50 and 8.8, respectively, while eta will be assigned the value specified as default, 0.014. The options database is accessible also as a Python dictionary, so that one can for instance override, insert or delete an option: OptDB['draw_pause'] = 1 del OptDB['draw_pause']
PETSC4PY DEMOS
DOCUMENTATION STANDARDS FOR PETSC4PY
Subject to exceptions given below, new contributions to petsc4py must include type annotations for function parameters and results, and docstrings on every class, function and method. The documentation should be consistent with the corresponding C API documentation, including copying text where this is appropriate. More in-depth documentation from the C API (such as extended discussions of algorithmic or performance factors) should not be copied. Docstring standards Docstrings are to be written in numpydoc:format format. The first line of a class, function or method docstring must be a short description of the method in imperative mood ("Return the norm of the matrix.") "Return" is to be preferred over "Get" in this sentence. A blank line must follow this description. Use one-liner descriptions for properties. If the corresponding C API documentation of a method lists a function as being collective, then this information must be repeated on the next line of the docstring. Valid strings are: "Not collective.", "Logically collective.", "Collective.", "Neighborwise collective.", or "Collective the first time it is called". The initial description section can contain more information if this is useful. In particular, if there is a PETSc manual chapter about a class, then this should be referred to from here. Use double backticks around literals (like strings and numbers), e.g., ``2``, ``"foo"``. Reference PETSc functions simply using backticks, e.g., KSP refers to the PETSc C documentation for KSP. Do not use URLs in docstrings. Always use Intersphinx references. The following sections describe the use of numpydoc sections. Other sections allowed by numpydoc may be included if they are useful. Parameters This is required for methods unless there are no parameters, or it will be completely obvious to even a novice user what the parameters do. If a class has a non-trivial constructor, the arguments of the constructor and their types must be explicitly documented within this section. For methods, types should only be specified in this section if for some reason the types provided by typing prove to be inadequate. If no type is being specified, do not include a colon (:) to the right of the parameter name. Use Sys.getDefaultComm when specifying the default communicator. Returns This should only be specified if the return value is not obvious from the initial description and typing. If a "Returns" section is required, the type of the returned items must be specified, even if this duplicates typing information. See Also If any of the following apply, then this section is required. The order of entries is as follows. Other links are permitted in this section if they add information useful to users. Every setFromOptions must include the link `petsc_options`. Any closely related part of the petsc4py API not already linked in the docstring should appear (e.g. setters and getters should cross-refer). If there is a corresponding C API documentation page, this must be linked from the "See also" section, e.g. `petsc.MatSetValues`. End docstring with an empty line - "closing three quotation marks must be on a line by itself, preferably preceded by a blank line" Type hint standards If returning self, use -> Self in function signature. Type hints are not required when the static type signature includes a PETSc type (e.g. Vec x). These will be automatically generated. This will also work for = None. When using type hints, use spacing around the equals in any = None. Communicators in type signatures must use Python typing instead of c-typing (i.e. comm: Comm not Comm comm). This is because communicators can come from mpi4py and not just the petsc4py.PETSc.Comm class. For petsc4py native types that are strings, the type is argument: KSP.Type | str (not e.g.: KSPType argument). If the type is strictly an enum the | str can be omitted. Full signature example: def setType(self, ksp_type: KSP.Type | str) -> None: If a NumPy array is returned, use ArrayBool/ArrayInt/ArrayReal/ArrayScalar as the return type.
AUTHOR
Lisandro Dalcin 3.22 Mar 12, 2025 PETSC4PY(3)