DFT-EFE
 
Loading...
Searching...
No Matches
Defaults.h
Go to the documentation of this file.
1/******************************************************************************
2 * Copyright (c) 2021. *
3 * The Regents of the University of Michigan and DFT-EFE developers. *
4 * *
5 * This file is part of the DFT-EFE code. *
6 * *
7 * DFT-EFE is free software: you can redistribute it and/or modify *
8 * it under the terms of the Lesser GNU General Public License as *
9 * published by the Free Software Foundation, either version 3 of *
10 * the License, or (at your option) any later version. *
11 * *
12 * DFT-EFE is distributed in the hope that it will be useful, but *
13 * WITHOUT ANY WARRANTY; without even the implied warranty *
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
15 * See the Lesser GNU General Public License for more details. *
16 * *
17 * You should have received a copy of the GNU Lesser General Public *
18 * License at the top level of DFT-EFE distribution. If not, see *
19 * <https://www.gnu.org/licenses/>. *
20 ******************************************************************************/
21
22/*
23 * @author Bikash Kanungo
24 */
25
26#ifndef dftefeLinearAlgebraDefaults_h
27#define dftefeLinearAlgebraDefaults_h
28
29#include <utils/TypeConfig.h>
31#include <string>
32
33namespace dftefe
34{
35 namespace linearAlgebra
36 {
38 {
39 public:
40 //
41 // frequency at which to measure wall time of each iteration
42 // of the linear solve
43 //
45
46 //
47 // frequency at which to print residual info
48 //
49 static const size_type PRINT_FREQ;
50
51 //
52 // print final flag. It sets whether to print the final info
53 // (e.g., number of iterations to convergence, ErrorCode, etc)
54 //
55 static const bool PRINT_FINAL;
56
57 //
58 // print total solver wall wall time flag
59 //
60 static const bool PRINT_TOTAL_WALL_TIME;
61
62 //
63 // parallel print type
64 // (e.g., print on all ranks, or just root rank, or all, etc)
65 //
67
68 //
69 // floating point precision to which one should print
70 //
71 static const size_type PRECISION;
72
73 //
74 // delimiter
75 //
76 static const std::string DELIMITER;
77
78 }; // end of class PrintControlDefaults
79
81 {
82 public:
83 //
84 // absolute tolerance on the residual
85 //
86 static const double ABS_TOL;
87
88 //
89 // relative tolerance on the residual (i.e. residual norm divided by
90 // norm of the right hand side vector)
91 //
92 static const double REL_TOL;
93
94 //
95 // Tolerance to abort the linear solver if the
96 // L2 norm of the residual exceeds it
97 static const double DIVERGENCE_TOL;
98 }; // end of class LinearSolverDefaults
99
101 {
102 public:
103 //
104 // maximum pass of lowdin orthonormalizations
105 //
106 static const size_type MAX_PASS;
107
108 //
109 // Min tolerance of min eigenvalue below which to shift the eigenvalue by
110 // this tolerance.
111 //
112 static const double SHIFT_TOL;
113
114 //
115 // calculate frobenus norm |S - I| < this tolerance
116 static const double IDENTITY_TOL;
117 }; // end of class MultiPassLowdinDefaults
118 } // end of namespace linearAlgebra
119} // end of namespace dftefe
120#endif // dftefeLinearAlgebraDefaults_h
static const double DIVERGENCE_TOL
Definition: Defaults.h:97
static const double REL_TOL
Definition: Defaults.h:92
static const double ABS_TOL
Setting all the LinearSolverDefaults.
Definition: Defaults.h:86
static const double IDENTITY_TOL
Definition: Defaults.h:116
static const size_type MAX_PASS
Setting all the MultiPassLowdinDefaults.
Definition: Defaults.h:106
static const double SHIFT_TOL
Definition: Defaults.h:112
static const std::string DELIMITER
Definition: Defaults.h:76
static const ParallelPrintType PARALLEL_PRINT_TYPE
Definition: Defaults.h:66
static const size_type WALL_TIME_FREQ
Setting all the PrintControlDefaults.
Definition: Defaults.h:44
static const size_type PRINT_FREQ
Definition: Defaults.h:49
static const size_type PRECISION
Definition: Defaults.h:71
static const bool PRINT_TOTAL_WALL_TIME
Definition: Defaults.h:60
static const bool PRINT_FINAL
Definition: Defaults.h:55
ParallelPrintType
Definition: LinearAlgebraTypes.h:53
dealii includes
Definition: AtomFieldDataSpherical.cpp:31
unsigned int size_type
Definition: TypeConfig.h:8