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 // Boltzman constant in hartree units
127 //
128 static const double BOLTZMANN_CONST_HARTREE;
129
130 //
131 // LDA exchange constant C = -3/4 * (3/pi)^1/3
132 //
133 static const double LDA_EXCHANGE_ENERGY_CONST;
134 }; // end of class Constants
135
137 {
138 public:
139 //
140 // tolerance below which density is assumed zero
141 //
142 static const double DENSITY_ZERO_TOL;
143 }; // end of class Constants
144
145 template <utils::MemorySpace memorySpace>
147 {
148 public:
149 //
150 // The number of batched gemms done
151 //
154 // 1 for HOST, 50 for DEVICE
160 };
161
163 {
164 public:
165 //
166 // AatomPartitionTolONCV
167 //
168 static const double ATOM_PARTITION_TOL_BETA;
169 };
170
172 {
173 public:
175 }; // end of class AtomTCIADataDefaults
176
178 {
179 public:
181 }; // end of class MaxSizeDefaults
182
183 } // end of namespace ksdft
184
187
188} // end of namespace dftefe
189#endif // dftefeDFTDefaults_h
Definition: Defaults.h:123
static const double BOLTZMANN_CONST_HARTREE
Setting all the constants.
Definition: Defaults.h:128
static const double LDA_EXCHANGE_ENERGY_CONST
Definition: Defaults.h:133
static const double ATOM_PARTITION_TOL_BETA
Setting all the ElectroHamiltonianDefaults.
Definition: Defaults.h:168
Definition: Defaults.h:147
static const size_type MAX_DENSCOMP_WAVEFN_BATCH_SIZE
Definition: Defaults.h:157
static const size_type CELL_BATCH_SIZE
Definition: Defaults.h:155
static const size_type MAX_KINENG_WAVEFN_BATCH_SIZE
Definition: Defaults.h:153
static const size_type SCALAPACK_PARAL_PROCS
Definition: Defaults.h:158
static const size_type SCALAPACK_BLOCK_SIZE
Definition: Defaults.h:159
static const size_type MAX_WAVEFN_BATCH_SIZE
Setting all the KSDFTDefaults.
Definition: Defaults.h:152
static const size_type CELL_BATCH_SIZE_GRAD_EVAL
Definition: Defaults.h:156
Definition: Defaults.h:137
static const double DENSITY_ZERO_TOL
Setting all the LibxcDefaults.
Definition: Defaults.h:142
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:178
static const size_type SIZE_TYPE_MAX
Definition: Defaults.h:180
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:172
static const atoms::TCIADataParams TCIA_PARAMS
Definition: Defaults.h:174
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:185
Definition: AtomTCIASpline.h:44