#include "bsr.h"
#include "prec.h"
#include <stdbool.h>
Go to the source code of this file.
|
| bslv_memory * | bslv_alloc () |
| | Create empty solver memory object. More...
|
| |
| void | bslv_free (bslv_memory *mem) |
| | Delete solver memroy object. More...
|
| |
| void | bslv_info (bslv_memory *mem, int count) |
| | Display convergence information. More...
|
| |
| void | bslv_init (bslv_memory *mem, double tol, int max_iter, bsr_matrix const *A, bool use_dilu) |
| | Initialize solver memory object. More...
|
| |
| int | bslv_pbicgstab3m (bslv_memory *mem, bsr_matrix *A, const double *b, double *x) |
| | Preconditioned bicgstab in mixed-precision. More...
|
| |
| int | bslv_pbicgstab3d (bslv_memory *mem, bsr_matrix *A, const double *b, double *x) |
| | Preconditioned bicgstab in double-precision. More...
|
| |
◆ bslv_memory
◆ bslv_alloc()
◆ bslv_free()
◆ bslv_info()
Display convergence information.
- Parameters
-
| mem | Pointer to solver memory object. |
| count | Number of linear iterations (returned by linear solver) |
◆ bslv_init()
Initialize solver memory object.
- Parameters
-
| mem | Pointer to solver memory object. |
| tol | Linear solver tolerance. @apram max_iter Maximum number of linear iterations. |
| A | Pointer to coeffient matrix in bsr format. |
| use_dilu | Select DILU preconditioner if true. Otherwise use ILU9. |
Referenced by Dune::MixedSolver< X, M >::MixedSolver().
◆ bslv_pbicgstab3d()
Preconditioned bicgstab in double-precision.
- Note
- Preconditioner is either ILU0 or DILU based on value of mem->use_dilu
- Parameters
-
| mem | Pointer to solver memory object. |
| A | Pointer to coeffient matrix in bsr format |
| b | Pointer to right-hand side vector @apram x Pointer to solution vector |
- Returns
- Number of linear iterations.
◆ bslv_pbicgstab3m()
Preconditioned bicgstab in mixed-precision.
- Note
- Preconditioner is either ILU0 or DILU based on value of mem->use_dilu
- Parameters
-
| mem | Pointer to solver memory object. |
| A | Pointer to coeffient matrix in bsr format |
| b | Pointer to right-hand side vector @apram x Pointer to solution vector |
- Returns
- Number of linear iterations.
Referenced by Dune::MixedSolver< X, M >::apply().