Flow123d
Classes | Typedefs
solve.h File Reference

Unified interface to various solvers. More...

#include "input/input_type.hh"
#include "input/accessors.hh"
#include "la/linsys.hh"

Go to the source code of this file.

Classes

struct  ISOL_params
 
struct  Solver
 

Typedefs

typedef struct ISOL_params ISOL_params
 

Solver Type


enum  SolverType {
  UNKNOWN =0, SI2 =1, GI8 =2, MATLAB =4,
  PETSC_SOLVER =6, ISOL =7, PETSC_MATIS_SOLVER =8, BDDCML_SOLVER =9
}
 
void solver_init (Solver *, Input::AbstractRecord in_rec)
 Initialize a solver structure. More...
 
void solve_system (Solver *, LinSys *lin_system)
 Solves a given linear system. More...
 

Detailed Description

Unified interface to various solvers.

Copyright (C) 2007 Technical University of Liberec. All rights reserved.

Please make a following refer to Flow123d on your project site if you use the program for any purpose, especially for academic research: Flow123d, Research Centre: Advanced Remedial Technologies, Technical University of Liberec, Czech Republic

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 021110-1307, USA.

$Id$ $Revision$ $LastChangedBy$ $LastChangedDate$

aim: simplified interface to PETSC solvers, Mat, Vec

Todo:
  • samostatny objekt LS
  • samostatne objekty pro matici a vektor
  • objekty pro mapovani indexu a jejich automaticke pouziti pri asemblaci
  • podminene veci jako LS View a old_4_new
  • funkcni stavy LS
  • solve jako metoda
  • nastaveni parametru na volajici strane (zavisle na problemu)

Definition in file solve.h.

Typedef Documentation

typedef struct ISOL_params ISOL_params

ISOL specific parameters

Enumeration Type Documentation

enum SolverType
Enumerator
UNKNOWN 
SI2 
GI8 
MATLAB 
PETSC_SOLVER 
ISOL 
PETSC_MATIS_SOLVER 
BDDCML_SOLVER 

Definition at line 77 of file solve.h.

Function Documentation

void solve_system ( struct Solver solver,
struct LinSys system 
)

Solves a given linear system.

Call user selected internal or external solver.

Parameters
[in]solversolver structure to use
[in,out]systemlinear system to solve, conatains also result
Precondition
Initialized solver. Assembled system.
Postcondition
Valid solution.

set command line for external solvers

Definition at line 178 of file solve.cc.

void solver_init ( Solver solver,
Input::AbstractRecord  in_rec 
)

Initialize a solver structure.

Initialize all members form the users options. Possibly initialize specific solver parameters.

Parameters
[in]solveralready allocated structure to be initialized
[in]in_recinput record

Definition at line 99 of file solve.cc.