Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • I INMOST
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Kirill Terekhov
  • INMOST
  • Wiki
  • 1590 MatSolve Example

1590 MatSolve Example · Changes

Page history
Created 1590 MatSolve Example (markdown) authored Feb 05, 2015 by Alexander Danilov's avatar Alexander Danilov
Hide whitespace changes
Inline Side-by-side
1590-MatSolve-Example.md 0 → 100644
View page @ d5329485
# Solve the Matrix stored in mtx format
The code for this example is located in `examples/MatSolve`
## Brief
This example solves the linear system using different solvers.
## Description
This example may run in both serial and parallel modes with `NP` processes.
The code loads the matrix and right-hand side from files. If right-hand side is omitted, the artificial _rhs_=(1,1,...,1) is used. The specific solver is defined by user. User may also provide options file to alter default solver options.
## Arguments
```
Usage: ./MatSolve method_number<0:INNER_ILU2,1:INNER_MLILUC,2:PETSc,3:Trilinos_Aztec,4:Trilinos_Belos,5:Trilinos_Ifpack,6:Trilinos_ML,7:ANI> matrix.mtx [right_hand_side.rhs] [solver_options.txt]
```
- First parameter is the Solver type:
+ 0 – `INNER_ILU2`, inner Solver based on BiCGStab(L) solver with second order ILU factorization as preconditioner;
+ 1 – `INNER_MLILUC`, inner Solver based on BiCGStab(L) solver with second order Crout-ILU with inversed-based condition estimation and unsymmetric reordering for diagonal dominance as preconditioner;
+ 2 – `PETSc`, external Solver AztecOO from Trilinos package;
+ 3 – `Trilinos_Aztec`, external Solver Belos from Trilinos package, currently without preconditioner;
+ 4 – `Trilinos_Belos`, external Solver AztecOO with ML preconditioner;
+ 5 – `Trilinos_Ifpack`, external Solver AztecOO with Ifpack preconditioner;
+ 6 – `Trilinos_ML`, external Solver PETSc;
+ 7 – `ANI`, external Solver from ANI3D based on ILU2 (sequential Fortran version).
- Second parameter is the file with matrix in mtx format.
- Third optional parameter is the file with right-hand side in mtx format.
- Fourth optional parameter is the file with solver parameters, see `examples/MatSolve/database.txt` as example.
## Running example
You can generate matrices using [[FVDiscr|1710-FVDiscr-Example]] example. The following line uses matrix `/tmp/A.mtx` and right-hand side `/tmp/b.rhs` from [[FVDiscr example|1710-FVDiscr-Example#running-example]].
```
$ cd examples/MatSolve
$ mpirun -np 4 ./MatSolve 0 /tmp/A.mtx /tmp/b.rhs
load matrix: 0.346156
load vector: 0.0542159
preconditioner: 0.516358
solver: 0.0345631.37095e-06 | 0
||Ax-b|| 1.37095e-06 ||b|| 2.14884 ||Ax-b||/||b|| 6.37997e-07
norms: 0.00276518
4 processors solved in 0.95183 secs with 4 iterations to 1.37095e-06 norm matrix "/tmp/A.mtx" vector "/tmp/b.rhs" true residual ||Ax-b||/||b|| 6.37997e-07
reason: converged due to relative tolerance
```
Clone repository
  • 0100 Compilation
  • 0200 Compilation Windows
  • 0201 Obtain MSVC
  • 0202 Obtain MSMPI
  • 0203 Compilation INMOST Windows
  • 0204 Compilation ParMETIS Windows
  • 0205 Compilation Zoltan Windows
  • 0206 Compilation PETSc Windows
  • 0207 Compilation Trilinos Windows
  • 0400 Compilation Linux
  • 0401 Install MPI
  • 0402 Compilation INMOST Linux
  • 0403 Compilation PETSc Linux
  • 0404 Compilation Trilinos Linux
  • 0405 Compilation ParMETIS Linux
View All Pages