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>
35
36namespace dftefe
37{
38 namespace ksdft
39 {
41 {
42 public:
43 //
44 // The CG Preconditioner Type chosen for Poisson Problem
45 //
47
48 //
49 // The number of batched gemms done
50 //
52
53 //
54 // Maximum iteration for CG
55 //
56 static const size_type MAX_ITER;
57
58 //
59 // Absolute tolerance of the residual |AX-b|
60 //
61 static const double ABSOLUTE_TOL;
62
63 //
64 // Relative tolerance of the residual |AX-b|/|b|
65 //
66 static const double RELATIVE_TOL;
67
68 //
69 // Maximum residual tolerance for divergence
70 //
71 static const double DIVERGENCE_TOL;
72
73 }; // end of class PoissonProblemDefaults
74
76 {
77 public:
78 //
79 // Tolerance of ill conditioning for the
80 // orthogonalization step in CHFSi
81 //
82 static const double ILL_COND_TOL;
83
84 //
85 // Tolerance of ill conditioning for the
86 // orthogonalization step in CHFSi
87 //
88 static const std::map<size_type, size_type> CHEBY_ORDER_LOOKUP;
89
90 //
91 // Max krylov subspace
92 //
94
95 //
96 // Tolerance for lanczos extreme eigenvalues
97 //
98 static const double LANCZOS_EXTREME_EIGENVAL_TOL;
99
100 //
101 // Tolerance for lanczos beta tolerance
102 //
103 static const double LANCZOS_BETA_TOL;
104
105 }; // end of class LinearEigenSolverDefaults
106
108 {
109 public:
110 //
111 // Maximum iteration for NR
112 //
113 static const size_type MAX_ITER;
114
115 //
116 // Tolerance of force to check divergence
117 //
118 static const double FORCE_TOL;
119
120 }; // end of class NewtonRaphsonSolverDefaults
121
123 {
124 public:
125 //
126 // Maximum iteration for bisection
127 //
128 static const size_type MAX_ITER;
129
130 //
131 // Tolerance on |getValue(x)| at the bisected midpoint
132 //
133 static const double TOL;
134
135 }; // end of class BisectionSolverDefaults
136
138 {
139 public:
140 //
141 // Boltzman constant in hartree units
142 //
143 static const double BOLTZMANN_CONST_HARTREE;
144
145 //
146 // LDA exchange constant C = -3/4 * (3/pi)^1/3
147 //
148 static const double LDA_EXCHANGE_ENERGY_CONST;
149 }; // end of class Constants
150
152 {
153 public:
154 //
155 // tolerance below which density is assumed zero
156 //
157 static const double DENSITY_ZERO_TOL;
158 }; // end of class Constants
159
160 template <utils::MemorySpace memorySpace>
162 {
163 public:
164 //
165 // The number of batched gemms done
166 //
169 // 1 for HOST, 50 for DEVICE
175 };
176
178 {
179 public:
180 //
181 // AatomPartitionTolONCV
182 //
183 static const double ATOM_PARTITION_TOL_BETA;
184 };
185
187 {
188 public:
190 }; // end of class AtomTCIADataDefaults
191
193 {
194 public:
196 }; // end of class MaxSizeDefaults
197
199 {
200 public:
201 //
202 // Multiplier applied on top of the Anderson mixingParameter for the
203 // spin/magnetization mixing variables (magZ, magY, magX and their
204 // gradients). Magnetization typically needs more aggressive mixing
205 // than the charge density to avoid lagging/oscillating relative to
206 // it (cf. DFT-FE's SPIN MIXING ENHANCEMENT FACTOR).
207 //
209 }; // end of class MixingDefaults
210
211 } // end of namespace ksdft
212
215
216} // end of namespace dftefe
217#endif // dftefeDFTDefaults_h
Definition: Defaults.h:123
static const double TOL
Definition: Defaults.h:133
static const size_type MAX_ITER
Setting all the BisectionSolverDefaults.
Definition: Defaults.h:128
Definition: Defaults.h:138
static const double BOLTZMANN_CONST_HARTREE
Setting all the constants.
Definition: Defaults.h:143
static const double LDA_EXCHANGE_ENERGY_CONST
Definition: Defaults.h:148
static const double ATOM_PARTITION_TOL_BETA
Setting all the ElectroHamiltonianDefaults.
Definition: Defaults.h:183
Definition: Defaults.h:162
static const size_type MAX_DENSCOMP_WAVEFN_BATCH_SIZE
Definition: Defaults.h:172
static const size_type CELL_BATCH_SIZE
Definition: Defaults.h:170
static const size_type MAX_KINENG_WAVEFN_BATCH_SIZE
Definition: Defaults.h:168
static const size_type SCALAPACK_PARAL_PROCS
Definition: Defaults.h:173
static const size_type SCALAPACK_BLOCK_SIZE
Definition: Defaults.h:174
static const size_type MAX_WAVEFN_BATCH_SIZE
Setting all the KSDFTDefaults.
Definition: Defaults.h:167
static const size_type CELL_BATCH_SIZE_GRAD_EVAL
Definition: Defaults.h:171
Definition: Defaults.h:152
static const double DENSITY_ZERO_TOL
Setting all the LibxcDefaults.
Definition: Defaults.h:157
static const double LANCZOS_EXTREME_EIGENVAL_TOL
Definition: Defaults.h:98
static const size_type LANCZOS_MAX_KRYLOV_SUBSPACE
Definition: Defaults.h:93
static const double LANCZOS_BETA_TOL
Definition: Defaults.h:103
static const double ILL_COND_TOL
Setting all the LinearEigenSolverDefaults.
Definition: Defaults.h:82
static const std::map< size_type, size_type > CHEBY_ORDER_LOOKUP
Setting all the ChebyshevPolynomialDegreeDefaults.
Definition: Defaults.h:88
Definition: Defaults.h:193
static const size_type SIZE_TYPE_MAX
Definition: Defaults.h:195
Definition: Defaults.h:199
static const double SPIN_MIXING_ENHANCEMENT_FACTOR
Setting all the MixingDefaults.
Definition: Defaults.h:208
static const size_type MAX_ITER
Setting all the NewtonRaphsonSolverDefaults.
Definition: Defaults.h:113
static const double FORCE_TOL
Definition: Defaults.h:118
Definition: Defaults.h:41
static const size_type CELL_BATCH_SIZE
Definition: Defaults.h:51
static const double DIVERGENCE_TOL
Definition: Defaults.h:71
static const double ABSOLUTE_TOL
Definition: Defaults.h:61
static const linearAlgebra::PreconditionerType PC_TYPE
Setting all the PoissonProblemDefaults.
Definition: Defaults.h:46
static const double RELATIVE_TOL
Definition: Defaults.h:66
static const size_type MAX_ITER
Definition: Defaults.h:56
Definition: Defaults.h:187
static const atoms::TCIADataParams TCIA_PARAMS
Definition: Defaults.h:189
PreconditionerType
Definition: LinearAlgebraTypes.h:41
MemorySpace
Definition: MemorySpaceType.h:37
dealii includes
Definition: AtomFieldDataSpherical.cpp:31
std::uint64_t size_type
Definition: TypeConfig.h:9
static constexpr utils::MemorySpace memorySpaceHost
Definition: Defaults.h:213
Definition: AtomTCIASpline.h:44