![]() |
deal.II version GIT relicensing-6842-g793a97d2aa 2026-10-02 14:00:01+00:00
|
Modules | |
| SLEPcWrappers | |
Namespaces | |
| namespace | PETScWrappers |
| namespace | PETScWrappers::MPI |
| namespace | internal |
Typedefs | |
| using | PETScWrappers::FullMatrix::size_type = types::global_dof_index |
| using | PETScWrappers::MPI::FullMatrix::size_type = types::global_dof_index |
The classes in this group are wrappers around functionality provided by the PETSc library. They provide a modern object-oriented interface that is compatible with the interfaces of the other linear algebra classes in deal.II. All classes and functions in this group reside in a namespace PETScWrappers.
These classes are only available if a PETSc installation was detected during configuration of deal.II. Refer to the README file for more details about this.
Declare type for container size.
Definition at line 53 of file petsc_full_matrix.h.
Declare type for container size.
Definition at line 113 of file petsc_full_matrix.h.
| FullMatrix< number >::FullMatrix | ( | ) |
Default constructor. Create an empty matrix.
Definition at line 29 of file petsc_full_matrix.cc.
| FullMatrix< number >::FullMatrix | ( | const size_type | m, |
| const size_type | n | ||
| ) |
Create a full matrix of dimensions m times n.
Definition at line 35 of file petsc_full_matrix.cc.
| void FullMatrix< number >::reinit | ( | const size_type | m, |
| const size_type | n | ||
| ) |
Throw away the present matrix and generate one that has the same properties as if it were created by the constructor of this class with the same argument list as the present function.
Definition at line 41 of file petsc_full_matrix.cc.
| FullMatrix & PETScWrappers::FullMatrix::operator= | ( | const value_type | d | ) |
This operator assigns a scalar to a matrix. Since this does usually not make much sense (should we set all matrix entries to this value?), this operation is only allowed if the actual value to be assigned is zero. This operator only exists to allow for the obvious notation matrix=0, which sets all elements of the matrix to zero.
|
private |
Do the actual work for the respective reinit() function and the matching constructor, i.e. create a matrix. Getting rid of the previous matrix is left to the caller.
Definition at line 52 of file petsc_full_matrix.cc.
| FullMatrix< number >::FullMatrix | ( | ) |
Default constructor. Create an empty matrix.
Definition at line 34 of file petsc_parallel_full_matrix.cc.
| FullMatrix< number >::FullMatrix | ( | const MPI_Comm | communicator, |
| const size_type | m, | ||
| const size_type | n, | ||
| const size_type | local_rows_per_process, | ||
| const size_type | local_columns_per_process | ||
| ) |
Definition at line 61 of file petsc_parallel_full_matrix.cc.
|
explicit |
Initialize a FullMatrix from a PETSc Mat object. Note that we do not copy the matrix. The Mat object is referenced by the newly created instance of the class using PetscObjectReference. This is in line with the PETSc approach to object ownership, which mimics std::shared_ptr.
Definition at line 47 of file petsc_parallel_full_matrix.cc.
|
override |
Destructor to free the PETSc object.
Definition at line 53 of file petsc_parallel_full_matrix.cc.
| FullMatrix & FullMatrix< number >::operator= | ( | const value_type | d | ) |
This operator assigns a scalar to a matrix. Since this does usually not make much sense (should we set all matrix entries to this value?), this operation is only allowed if the actual value to be assigned is zero. This operator only exists to allow for the obvious notation matrix=0, which sets all elements of the matrix to zero.
Definition at line 62 of file petsc_full_matrix.cc.
| void FullMatrix< number >::reinit | ( | const MPI_Comm | communicator, |
| const size_type | m, | ||
| const size_type | n, | ||
| const size_type | local_rows_per_process, | ||
| const size_type | local_columns_per_process | ||
| ) |
Definition at line 74 of file petsc_parallel_full_matrix.cc.
|
inline |
Initialization parameters for NonlinearSolverData.
Running parameters:
| options_prefix | The string indicating the options prefix for command line customization. |
| snes_type | The string indicating the PETSc SNES solver type. |
| snes_linesearch_type | The string indicating the PETSc linesearch type. |
| absolute_tolerance | Absolute error tolerance. |
| relative_tolerance | Relative error tolerance. |
| step_tolerance | Step tolerance. |
| maximum_non_linear_iterations | Maximum number of iterations allowed. |
| max_n_function_evaluations | Maximum number of function evaluations allowed. |
Definition at line 74 of file petsc_snes.h.
|
inline |
Initialization parameters for TimeStepper.
Running parameters:
| options_prefix | The string indicating the options prefix for command line customization. |
| ts_type | The string indicating the PETSc solver type. |
| initial_time | Initial simulation time. |
| final_time | Final simulation time. |
| initial_step_size | Initial step size. |
| max_steps | Maximum number of steps allowed. |
| match_step | Whether or not to exactly stop at final time or step over it. |
| restart_if_remesh | Whether or not to restart the step when remeshing is flagged. |
Error parameters:
| ts_adapt_type | The string indicating the PETSc time step adaptor type. |
| minimum_step_size | Minimum step size allowed. |
| maximum_step_size | Maximum step size allowed. |
| absolute_tolerance | Absolute error tolerance. |
| relative_tolerance | Relative error tolerance. |
| ignore_algebraic_lte | Ignore algebraic terms for error computations |
Note that one between final_time or max_steps must be specified by the user, otherwise PETSc will complain. Adaptive time stepping is disabled by default. Negative values indicate using PETSc's default.
Definition at line 89 of file petsc_ts.h.