Bridge++
Ver. 1.1.x
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
shiftsolver_CG.h
Go to the documentation of this file.
1
14
#ifndef SHIFTSOLVER_CG_INCLUDED
15
#define SHIFTSOLVER_CG_INCLUDED
16
17
#include "
shiftsolver.h
"
18
19
#include "
bridgeIO.h
"
20
using
Bridge::vout
;
21
22
//- parameters class
23
class
Parameters_Shiftsolver_CG
:
virtual
public
Parameters
24
{
25
public
:
26
Parameters_Shiftsolver_CG
();
27
};
28
//- end
29
31
36
class
Shiftsolver_CG
:
public
Shiftsolver
37
{
38
private
:
39
40
Fopr
*
m_fopr
;
41
int
m_Niter
;
42
double
m_Stop_cond
;
43
44
std::valarray<Field>
x
,
p
;
45
Field
r
,
s
;
46
std::valarray<double>
zeta1
,
zeta2
,
csh2
,
pp
;
47
double
snorm
,
alpha_p
,
beta_p
;
48
int
Nshift2
;
49
50
public
:
51
52
Shiftsolver_CG
(
Fopr
*fopr)
53
:
Shiftsolver
(),
m_fopr
(fopr) {}
54
55
Shiftsolver_CG
(
Fopr
*fopr,
int
niter,
double
stop_cond)
56
:
Shiftsolver
(),
m_fopr
(fopr)
57
{
58
set_parameters
(niter, stop_cond);
59
}
60
61
~Shiftsolver_CG
() {}
62
63
void
set_parameters
(
const
Parameters
& params);
64
void
set_parameters
(
const
int
niter,
const
double
stop_cond);
65
66
void
solve
(
67
std::valarray<Field>& solution,
68
std::valarray<double>
shift
,
69
const
Field
& source,
70
int
& Nconv,
double
& diff);
71
72
private
:
73
74
void
solve_init
(
double
&);
75
void
solve_step
(
double
&,
const
std::valarray<double>&);
76
};
77
#endif
src
Solver
shiftsolver_CG.h
Generated on Tue Jul 23 2013 10:48:49 for Bridge++ by
1.8.3.1