-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Sphinx docu of TPZPardisoSolver (and a bit of other solvers)
- Loading branch information
Showing
6 changed files
with
75 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
list(APPEND docs_sources | ||
"${CMAKE_CURRENT_SOURCE_DIR}/doxsolver.h" | ||
"${CMAKE_CURRENT_SOURCE_DIR}/index.rst" | ||
) | ||
|
||
set(docs_sources ${docs_sources} PARENT_SCOPE) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
/** | ||
* @defgroup solver The Solver classes | ||
* @brief This module contains all classes that represent a matrix inversion procedure. \n | ||
* Representing a inversion procedure as an object gives the user great flexibility to combine solution procedures | ||
*/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
The Solver hierarchy | ||
========================== | ||
|
||
.. toctree:: | ||
:maxdepth: 2 | ||
|
||
.. contents:: Table of Contents | ||
:local: | ||
|
||
|
||
TPZSolver | ||
--------- | ||
|
||
The :cpp:expr:`TPZSolver` defines the hierarchy of solvers to be used. | ||
|
||
.. note:: | ||
Since the availability of a given solver might depend on the chosen matrix storage format, the choice of solver is directly connected with the choice of :doc:`../structmatrix/structoptions`. Currently this only applies for the class :cpp:expr:`TPZPardisoSolver`, which is only compatible with sparse matrix storage. | ||
|
||
The NeoPZ solvers can be divided in two main groups: the :cpp:expr:`TPZMatrixSolver` hierarchy, for solving algebraic equation systems, and the (soon to be implemented) solvers for eigenvalue problems. | ||
|
||
.. doxygenclass:: TPZSolver | ||
:members: | ||
|
||
TPZMatrixSolver | ||
^^^^^^^^^^^^^^^ | ||
|
||
The :cpp:expr:`TPZMatrixSolver` represents a solver for algebraic equation systems in which the matrix has entries with the type :cpp:type:`TVar`, where :cpp:expr:`TVar=STATE`, for real problems, and :cpp:expr:`TVar=CSTATE`, for complex problems. | ||
|
||
The available solvers are | ||
|
||
.. doxygenenum:: TPZMatrixSolver::MSolver | ||
:no-link: | ||
|
||
|
||
Further documentation | ||
""""""""""""""""""""" | ||
.. doxygenclass:: TPZMatrixSolver | ||
:members: | ||
|
||
|
||
TPZStepSolver | ||
^^^^^^^^^^^^^ | ||
.. doxygenclass:: TPZStepSolver | ||
:members: | ||
|
||
TPZPardisoSolver | ||
^^^^^^^^^^^^^^^^ | ||
|
||
The :cpp:expr:`TPZPardisoSolver` class acts as an wrapper for controlling the Intel MKL PARDISO Solver. Therefore, for one to use it, NeoPZ should have been configured using :code:`USING_MKL=ON`. While the PARDISO solver can still be used through :cpp:expr:`TPZStepSolver`, using an instance of :cpp:expr:`TPZPardisoSolver` directly provides a finer control of the PARDISO parameters. | ||
|
||
.. note:: | ||
The PARDISO solver is a solver for both symmetric and non-symmetric sparse matrices, | ||
so it should be used with either :cpp:expr:`TPZSSpStructMatrix` or :cpp:expr:`TPZSpStructMatrix`. | ||
|
||
.. note:: | ||
There is still plenty of tuning options to be implemented in this class. Please contact us or submit a Pull Request if you think this class could be improved. | ||
|
||
.. doxygenclass:: TPZPardisoSolver | ||
:members: |