FEI Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
fei_Solver.hpp
Go to the documentation of this file.
1/*--------------------------------------------------------------------*/
2/* Copyright 2005 Sandia Corporation. */
3/* Under the terms of Contract DE-AC04-94AL85000, there is a */
4/* non-exclusive license for use of this work by or on behalf */
5/* of the U.S. Government. Export of this program may require */
6/* a license from the United States Government. */
7/*--------------------------------------------------------------------*/
8
9#ifndef _fei_Solver_hpp_
10#define _fei_Solver_hpp_
11
12#include <fei_macros.hpp>
13#include <fei_SharedPtr.hpp>
14
15namespace fei {
16 class ParameterSet;
17 class Matrix;
18 class LinearSystem;
19
22 class Solver {
23 public:
25 class Factory {
26 public:
28 virtual ~Factory(){}
29
31 virtual fei::SharedPtr<fei::Solver> createSolver(const char* name=0) = 0;
32 };
33
35 virtual ~Solver(){}
36
39 virtual int solve(fei::LinearSystem* linearSystem,
40 fei::Matrix* preconditioningMatrix,
41 const fei::ParameterSet& parameterSet,
42 int& iterationsTaken,
43 int& status);
44 };//class Solver
45}//namespace fei
46
47#endif // _fei_Factory_hpp_
virtual fei::SharedPtr< fei::Solver > createSolver(const char *name=0)=0
virtual ~Solver()
Definition: fei_Solver.hpp:35
virtual int solve(fei::LinearSystem *linearSystem, fei::Matrix *preconditioningMatrix, const fei::ParameterSet &parameterSet, int &iterationsTaken, int &status)
Definition: fei_Solver.cpp:65