Reference documentation for deal.II version 8.1.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
include
deal.II
lac
solver.h
1
// ---------------------------------------------------------------------
2
// @f$Id: solver.h 30036 2013-07-18 16:55:32Z maier @f$
3
//
4
// Copyright (C) 1998 - 2013 by the deal.II authors
5
//
6
// This file is part of the deal.II library.
7
//
8
// The deal.II library is free software; you can use it, redistribute
9
// it, and/or modify it under the terms of the GNU Lesser General
10
// Public License as published by the Free Software Foundation; either
11
// version 2.1 of the License, or (at your option) any later version.
12
// The full text of the license can be found in the file LICENSE at
13
// the top level of the deal.II distribution.
14
//
15
// ---------------------------------------------------------------------
16
17
#ifndef __deal2__solver_h
18
#define __deal2__solver_h
19
20
#include <deal.II/base/config.h>
21
#include <deal.II/base/subscriptor.h>
22
#include <deal.II/lac/vector_memory.h>
23
24
DEAL_II_NAMESPACE_OPEN
25
26
template
<
typename
number>
class
Vector
;
27
class
SolverControl
;
28
146
template
<
class
VECTOR = Vector<
double
> >
147
class
Solver
:
public
Subscriptor
148
{
149
public
:
164
Solver
(
SolverControl
&solver_control,
165
VectorMemory<VECTOR>
&vector_memory);
166
185
Solver
(
SolverControl
&solver_control);
186
191
SolverControl
&
control
()
const
;
192
193
protected
:
200
mutable
GrowingVectorMemory<VECTOR>
static_vector_memory
;
201
205
SolverControl
&
cntrl
;
206
210
VectorMemory<VECTOR>
&
memory
;
211
};
212
213
/*-------------------------------- Inline functions ------------------------*/
214
215
template
<
class
VECTOR>
216
inline
217
Solver<VECTOR>::Solver
(
SolverControl
&solver_control,
218
VectorMemory<VECTOR>
&vector_memory)
219
:
220
cntrl
(solver_control),
221
memory
(vector_memory)
222
{}
223
224
225
226
template
<
class
VECTOR>
227
inline
228
Solver<VECTOR>::Solver
(
SolverControl
&solver_control)
229
:
230
cntrl
(solver_control),
231
memory
(
static_vector_memory
)
232
{}
233
234
235
236
template
<
class
VECTOR>
237
inline
238
SolverControl
&
239
Solver<VECTOR>::control
()
const
240
{
241
return
cntrl
;
242
}
243
244
245
246
247
DEAL_II_NAMESPACE_CLOSE
248
249
#endif
Solver::memory
VectorMemory< VECTOR > & memory
Definition:
solver.h:210
Vector
Definition:
matrix_tools.h:36
Solver::cntrl
SolverControl & cntrl
Definition:
solver.h:205
SolverControl
Definition:
solver_control.h:66
Solver::static_vector_memory
GrowingVectorMemory< VECTOR > static_vector_memory
Definition:
solver.h:200
Solver::control
SolverControl & control() const
Definition:
solver.h:239
DEAL_II_NAMESPACE_OPEN
Definition:
mg_transfer.templates.h:35
Solver
Definition:
solver.h:147
VectorMemory
Definition:
pointer_matrix.h:27
GrowingVectorMemory
Definition:
vector_memory.h:258
Subscriptor
Definition:
subscriptor.h:57
Solver::Solver
Solver(SolverControl &solver_control, VectorMemory< VECTOR > &vector_memory)
Definition:
solver.h:217
Generated by
1.8.11