HermesCommon
2.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
nonlinear_solver.h
Go to the documentation of this file.
1
// This file is part of HermesCommon
2
//
3
// Copyright (c) 2009 hp-FEM group at the University of Nevada, Reno (UNR).
4
// Email: hpfem-group@unr.edu, home page: http://hpfem.org/.
5
//
6
// Hermes2D is free software; you can redistribute it and/or modify
7
// it under the terms of the GNU General Public License as published
8
// by the Free Software Foundation; either version 2 of the License,
9
// or (at your option) any later version.
10
//
11
// Hermes2D is distributed in the hope that it will be useful,
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
// GNU General Public License for more details.
15
//
16
// You should have received a copy of the GNU General Public License
17
// along with Hermes2D; if not, write to the Free Software
18
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22
#ifndef __HERMES_COMMON_NONLINEAR_SOLVER_H_
23
#define __HERMES_COMMON_NONLINEAR_SOLVER_H_
24
25
#include "
precond.h
"
26
#include "
dp_interface.h
"
27
#include "
mixins.h
"
28
29
namespace
Hermes
30
{
31
namespace
Solvers
32
{
35
template
<
typename
Scalar>
36
class
NonlinearSolver
:
public
Hermes::Mixins::Loggable
,
public
Hermes::Mixins::TimeMeasurable
,
public
Hermes::Mixins::IntegrableWithGlobalOrder
,
public
Hermes::Mixins::SettableComputationTime
37
{
38
public
:
39
NonlinearSolver
(
DiscreteProblemInterface<Scalar>
*
dp
);
40
41
~
NonlinearSolver
();
42
45
virtual
void
solve
(Scalar* coeff_vec);
46
47
Scalar *get_sln_vector();
48
52
void
set_iterative_method
(
const
char
* iterative_method_name);
53
57
void
set_preconditioner
(
const
char
* preconditioner_name);
58
59
protected
:
60
DiscreteProblemInterface<Scalar>
*
dp
;
61
62
64
Scalar*
sln_vector
;
65
67
int
error
;
68
70
bool
precond_yes
;
71
75
char
*
iterative_method
;
76
81
char
*
preconditioner
;
82
};
83
}
84
}
85
#endif
include
solvers
nonlinear_solver.h
Generated on Mon Feb 18 2013 14:37:03 for HermesCommon by
1.8.3.1