Amesos Package Browser (Single Doxygen Collection)
Development
src
Amesos_Control.h
Go to the documentation of this file.
1
#ifndef AMESOS_CONTROL_H
2
#define AMESOS_CONTROL_H
3
4
#include "
Teuchos_ParameterList.hpp
"
5
using namespace
Teuchos
;
16
class
Amesos_Control
17
{
18
public
:
20
Amesos_Control
()
21
{
22
AddToDiag_ = 0.0;
23
AddZeroToDiag_ =
false
;
24
rcond_threshold_ = 1e-12;
25
refactorize_ =
false
;
26
MaxProcesses_ = -1;
27
ScaleMethod_ = 0;
28
Reindex_ = 0;
29
}
30
32
~Amesos_Control
() {};
33
34
void
SetControlParameters(
const
Teuchos::ParameterList
&
ParameterList
) ;
35
37
double
AddToDiag_
;
38
39
40
bool
refactorize_
;
// if true, and if the Symbolic and Numeric
41
// objects have already been created, then
42
// attempt to "refactorize" (factor the matrix
43
// with no changes to the pivot order since the
44
// last call the klu_btf_factor).
45
48
double
rcond_threshold_
;
// if we refactorize, the factorization may suffer
49
// in numeric quality. We compute rcond =
50
// min (abs (diag (U))) / max (abs (diag (U))).
51
// If this ratio is <= rcond_threshold_, then
52
// the "refactorization" is scrapped, and we factor
53
// with full partial pivoting instead.
54
55
int
ScaleMethod_
;
// most methods (KLU, UMFPACK, Mumps, ...) can scale
56
// the input matrix prior to factorization. This can
57
// improve pivoting, reduce fill-in, and lead to a
58
// better quality factorization. The options are:
59
// 0: no scaling
60
// 1: use the default method for the specific package
61
// 2: use the method's 1st alternative (if it has one)
62
// 3: use the method's 2nd alternative, and so on.
63
//
64
// Amesos_Klu is, at present, the only code which implements this
65
67
bool
AddZeroToDiag_
;
68
70
76
int
MatrixProperty_
;
77
78
int
MaxProcesses_
;
// default is -1 ; If positive, distribute
79
// problem over MaxProcesses
82
bool
Reindex_
;
83
84
85
};
86
87
#endif
Teuchos_ParameterList.hpp
Amesos_Control::AddZeroToDiag_
bool AddZeroToDiag_
Adds zero to diagonal of redistributed matrix (some solvers choke on a matrix with a partly empty dia...
Definition:
Amesos_Control.h:67
Amesos_Control::Reindex_
bool Reindex_
If true, the Amesos class should reindex the matrix to standard indexing (i.e.
Definition:
Amesos_Control.h:82
Amesos_Control::AddToDiag_
double AddToDiag_
Add this value to the diagonal.
Definition:
Amesos_Control.h:37
Amesos_Control::refactorize_
bool refactorize_
Definition:
Amesos_Control.h:40
Amesos_Control::MatrixProperty_
int MatrixProperty_
Set the matrix property.
Definition:
Amesos_Control.h:76
Amesos_Control::ScaleMethod_
int ScaleMethod_
Definition:
Amesos_Control.h:55
Amesos_Control::Amesos_Control
Amesos_Control()
Default constructor.
Definition:
Amesos_Control.h:20
Amesos_Control::rcond_threshold_
double rcond_threshold_
If error is greater than this value, perform symbolic and numeric factorization with full partial piv...
Definition:
Amesos_Control.h:48
Amesos_Control::~Amesos_Control
~Amesos_Control()
Default destructor.
Definition:
Amesos_Control.h:32
Amesos_Control
Amesos_Control: Container for some control variables.
Definition:
Amesos_Control.h:16
Teuchos::ParameterList
Teuchos
Amesos_Control::MaxProcesses_
int MaxProcesses_
Definition:
Amesos_Control.h:78
Generated by
1.8.16