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 Avirup Sircar
24 */
25
26#ifndef dftefeDFTDefaults_h
27#define dftefeDFTDefaults_h
28
29#include <utils/TypeConfig.h>
30#include <string>
31#include <utils/MathConstants.h>
33
34namespace dftefe
35{
36 namespace ksdft
37 {
39 {
40 public:
41 //
42 // The CG Preconditioner Type chosen for Poisson Problem
43 //
45
46 //
47 // The number of batched gemms done
48 //
50
51 //
52 // Maximum iteration for CG
53 //
54 static const size_type MAX_ITER;
55
56 //
57 // Absolute tolerance of the residual |AX-b|
58 //
59 static const double ABSOLUTE_TOL;
60
61 //
62 // Relative tolerance of the residual |AX-b|/|b|
63 //
64 static const double RELATIVE_TOL;
65
66 //
67 // Maximum residual tolerance for divergence
68 //
69 static const double DIVERGENCE_TOL;
70
71 }; // end of class PoissonProblemDefaults
72
74 {
75 public:
76 //
77 // Tolerance of ill conditioning for the
78 // orthogonalization step in CHFSi
79 //
80 static const double ILL_COND_TOL;
81
82 //
83 // Tolerance of ill conditioning for the
84 // orthogonalization step in CHFSi
85 //
86 static const std::map<size_type, size_type> CHEBY_ORDER_LOOKUP;
87
88 //
89 // Max krylov subspace
90 //
92
93 //
94 // Tolerance for lanczos extreme eigenvalues
95 //
96 static const double LANCZOS_EXTREME_EIGENVAL_TOL;
97
98 //
99 // Tolerance for lanczos beta tolerance
100 //
101 static const double LANCZOS_BETA_TOL;
102
103 }; // end of class LinearEigenSolverDefaults
104
106 {
107 public:
108 //
109 // Maximum iteration for NR
110 //
111 static const size_type MAX_ITER;
112
113 //
114 // Tolerance of force to check divergence
115 //
116 static const double FORCE_TOL;
117
118 }; // end of class NewtonRaphsonSolverDefaults
119
121 {
122 public:
123 //
124 // Boltzman constant in hartree units
125 //
126 static const double BOLTZMANN_CONST_HARTREE;
127
128 //
129 // LDA exchange constant C = -3/4 * (3/pi)^1/3
130 //
131 static const double LDA_EXCHANGE_ENERGY_CONST;
132 }; // end of class Constants
133
135 {
136 public:
137 //
138 // tolerance below which density is assumed zero
139 //
140 static const double DENSITY_ZERO_TOL;
141 }; // end of class Constants
142
144 {
145 public:
146 //
147 // The number of batched gemms done
148 //
152 };
153
154 } // end of namespace ksdft
155} // end of namespace dftefe
156#endif // dftefeDFTDefaults_h
Definition: Defaults.h:121
static const double BOLTZMANN_CONST_HARTREE
Setting all the constants.
Definition: Defaults.h:126
static const double LDA_EXCHANGE_ENERGY_CONST
Definition: Defaults.h:131
Definition: Defaults.h:144
static const size_type MAX_KINENG_WAVEFN_BATCH_SIZE
Definition: Defaults.h:150
static const size_type CELL_BATCH_SIZE
Definition: Defaults.h:151
static const size_type MAX_WAVEFN_BATCH_SIZE
Setting all the KSDFTDefaults.
Definition: Defaults.h:149
Definition: Defaults.h:135
static const double DENSITY_ZERO_TOL
Setting all the LibxcDefaults.
Definition: Defaults.h:140
static const double LANCZOS_EXTREME_EIGENVAL_TOL
Definition: Defaults.h:96
static const size_type LANCZOS_MAX_KRYLOV_SUBSPACE
Definition: Defaults.h:91
static const double LANCZOS_BETA_TOL
Definition: Defaults.h:101
static const double ILL_COND_TOL
Setting all the LinearEigenSolverDefaults.
Definition: Defaults.h:80
static const std::map< size_type, size_type > CHEBY_ORDER_LOOKUP
Setting all the ChebyshevPolynomialDegreeDefaults.
Definition: Defaults.h:86
static const size_type MAX_ITER
Setting all the NewtonRaphsonSolverDefaults.
Definition: Defaults.h:111
static const double FORCE_TOL
Definition: Defaults.h:116
Definition: Defaults.h:39
static const size_type CELL_BATCH_SIZE
Definition: Defaults.h:49
static const double DIVERGENCE_TOL
Definition: Defaults.h:69
static const double ABSOLUTE_TOL
Definition: Defaults.h:59
static const linearAlgebra::PreconditionerType PC_TYPE
Setting all the PoissonProblemDefaults.
Definition: Defaults.h:44
static const double RELATIVE_TOL
Definition: Defaults.h:64
static const size_type MAX_ITER
Definition: Defaults.h:54
PreconditionerType
Definition: LinearAlgebraTypes.h:41
dealii includes
Definition: AtomFieldDataSpherical.cpp:31
unsigned int size_type
Definition: TypeConfig.h:8