DFT-FE 1.1.0-pre
Density Functional Theory With Finite-Elements
Loading...
Searching...
No Matches
dftParameters.h
Go to the documentation of this file.
1// ---------------------------------------------------------------------
2//
3// Copyright (c) 2017-2025 The Regents of the University of Michigan and DFT-FE
4// authors.
5//
6// This file is part of the DFT-FE code.
7//
8// The DFT-FE code is free software; you can use it, redistribute
9// it, and/or modify it under the terms of the GNU Lesser General
10// Public License as published by the Free Software Foundation; either
11// version 2.1 of the License, or (at your option) any later version.
12// The full text of the license can be found in the file LICENSE at
13// the top level of the DFT-FE distribution.
14//
15// ---------------------------------------------------------------------
16//
17
18
19
20#ifndef dftParameters_H_
21#define dftParameters_H_
22
23#include <string>
24#include <mpi.h>
25#include <TypeConfig.h>
26
27namespace dftfe
28{
29 /**
30 * @brief Namespace which declares the input parameters and the functions to parse them
31 * from the input parameter file
32 *
33 * @author Phani Motamarri, Sambit Das
34 */
36 {
37 public:
46
49 std::string XCType;
50 std::string modelXCInputFile;
51 std::string auxBasisTypeXC;
52 std::string auxBasisDataXC;
53
59
61
65
67
68 double netCharge;
69
70 /** parameters for functional tests **/
71 std::string functionalTestName;
72 /** parameters for LRD preconditioner **/
73
75 std::string methodSubTypeLRD;
77 double betaTol;
81
82 /**********************************************/
83
87
89
96
97 std::string hubbardFileName;
102
104 std::string solverMode;
109
111
114
116
118
119 std::string startingWFCType;
173 std::string atomicMassesFile;
184
193
194
195 std::string bfgsStepMethod;
201
202 // New Paramters for moleculardyynamics class
208
210
211 // Parameters for confining potential
217
219
220 /**
221 * Parse parameters.
222 */
223 void
224 parse_parameters(const std::string &parameter_file,
225 const MPI_Comm &mpi_comm_parent,
226 const bool printParams = false,
227 const std::string mode = "GS",
228 const std::string restartFilesPath = ".",
229 const dftfe::Int _verbosity = 1,
230 const bool _useDevice = false);
231
232 /**
233 * Check parameters
234 */
235 void
236 check_parameters(const MPI_Comm &mpi_comm_parent) const;
237
238 /**
239 * Set automated choices for parameters
240 */
241 void
242 setAutoParameters(const MPI_Comm &mpi_comm_parent);
243
244 }; // class dftParameters
245
246} // namespace dftfe
247#endif
std::string tensorOpType
Definition dftParameters.h:86
void parse_parameters(const std::string &parameter_file, const MPI_Comm &mpi_comm_parent, const bool printParams=false, const std::string mode="GS", const std::string restartFilesPath=".", const dftfe::Int _verbosity=1, const bool _useDevice=false)
bool useMixedPrecXtOX
Definition dftParameters.h:137
dftfe::uInt npool
Definition dftParameters.h:43
double intervalSize
Definition dftParameters.h:58
bool floatingNuclearCharges
Definition dftParameters.h:169
bool useDeviceDirectAllReduce
Definition dftParameters.h:174
std::string functionalTestName
Definition dftParameters.h:71
bool pseudoTestsFlag
Definition dftParameters.h:63
double diracDeltaKernelScalingConstant
Definition dftParameters.h:164
double startingTempBOMD
Definition dftParameters.h:203
double selfConsistentSolverEnergyTolerance
Definition dftParameters.h:57
std::string orthogType
Definition dftParameters.h:85
dftfe::uInt dc_dispersioncorrectiontype
Definition dftParameters.h:185
std::string coordinatesFile
Definition dftParameters.h:84
dftfe::uInt finiteElementPolynomialOrderElectrostatics
Definition dftParameters.h:39
bool periodicX
Definition dftParameters.h:62
double innerAtomBallRadius
Definition dftParameters.h:90
void check_parameters(const MPI_Comm &mpi_comm_parent) const
double absLinearSolverToleranceHelmholtz
Definition dftParameters.h:58
bool usePreconditioner
Definition dftParameters.h:196
dftfe::uInt numCoreWfcForMixedPrecRR
Definition dftParameters.h:121
bool useReformulatedChFSI
Definition dftParameters.h:183
double gaussianConstantForce
Definition dftParameters.h:160
bool multipoleBoundaryConditions
Definition dftParameters.h:170
bool writePdosFile
Definition dftParameters.h:64
double dc_d3cutoff2
Definition dftParameters.h:190
double forceRelaxTol
Definition dftParameters.h:100
bool writeDosFile
Definition dftParameters.h:63
double confiningCParam
Definition dftParameters.h:216
std::string pseudoPotentialFile
Definition dftParameters.h:85
std::string cellOptSolver
Definition dftParameters.h:95
double stressRelaxTol
Definition dftParameters.h:100
std::string XCType
Definition dftParameters.h:49
dftfe::uInt natomTypes
Definition dftParameters.h:131
bool smearedNuclearCharges
Definition dftParameters.h:168
bool createConstraintsFromSerialDofhandler
Definition dftParameters.h:143
bool nonSelfConsistentForce
Definition dftParameters.h:99
bool vselfGPU
Definition dftParameters.h:48
dftfe::Int extrapolateDensity
Definition dftParameters.h:156
std::string bfgsStepMethod
Definition dftParameters.h:195
bool periodicY
Definition dftParameters.h:62
double xlbomdRestartChebyTol
Definition dftParameters.h:165
bool restartSpinFromNoSpin
Definition dftParameters.h:108
bool useDCCL
Definition dftParameters.h:175
bool dc_d4MBD
Definition dftParameters.h:188
bool singlePrecLRD
Definition dftParameters.h:79
double confiningOuterPotRad
Definition dftParameters.h:214
bool reuseLanczosUpperBoundFromFirstCall
Definition dftParameters.h:177
dftfe::uInt numPass
Definition dftParameters.h:42
dftfe::uInt maxLinearSolverIterationsHelmholtz
Definition dftParameters.h:45
std::string modelXCInputFile
Definition dftParameters.h:50
double kerkerParameter
Definition dftParameters.h:93
double absLinearSolverTolerance
Definition dftParameters.h:56
std::string algoType
Definition dftParameters.h:85
double chebyshevFilterPolyDegreeFirstScfScalingFactor
Definition dftParameters.h:155
dftfe::uInt nbandGrps
Definition dftParameters.h:125
std::string auxBasisDataXC
Definition dftParameters.h:52
bool isBOMD
Definition dftParameters.h:98
bool useSubspaceProjectedSHEPGPU
Definition dftParameters.h:135
bool useSinglePrecCommunCheby
Definition dftParameters.h:148
bool allowFullCPUMemSubspaceRot
Definition dftParameters.h:147
double mixingParameter
Definition dftParameters.h:54
bool readWfcForPdosPspFile
Definition dftParameters.h:153
void setAutoParameters(const MPI_Comm &mpi_comm_parent)
bool constraintsParallelCheck
Definition dftParameters.h:142
dftfe::uInt offsetFlagZ
Definition dftParameters.h:41
bool reproducible_output
Definition dftParameters.h:110
bool useSinglePrecCheby
Definition dftParameters.h:149
bool writeLocalizationLengths
Definition dftParameters.h:64
bool useAtomicMagnetizationGuessConstraintMag
Definition dftParameters.h:60
bool adaptAndersonMixingParameter
Definition dftParameters.h:55
bool autoAdaptBaseMeshSize
Definition dftParameters.h:91
double pspCutoffImageCharges
Definition dftParameters.h:176
double meshSizeInnerBall
Definition dftParameters.h:92
double thermostatTimeConstantBOMD
Definition dftParameters.h:205
bool useMixedPrecXtHX
Definition dftParameters.h:138
dftfe::uInt n_refinement_steps
Definition dftParameters.h:39
double confiningWParam
Definition dftParameters.h:215
double smearTval
Definition dftParameters.h:58
std::string mixingMethod
Definition dftParameters.h:95
double timeStepBOMD
Definition dftParameters.h:157
double spinMixingEnhancementFactor
Definition dftParameters.h:54
double radiusAtomBall
Definition dftParameters.h:54
double netCharge
Definition dftParameters.h:68
bool allowMultipleFilteringPassesAfterFirstScf
Definition dftParameters.h:178
bool overlapComputeCommunCheby
Definition dftParameters.h:150
double maxCellUpdateStep
Definition dftParameters.h:200
double maxIonUpdateStep
Definition dftParameters.h:200
dftfe::uInt TotalImages
Definition dftParameters.h:159
dftfe::uInt subspaceRotDofsBlockSize
Definition dftParameters.h:124
double dc_d3cutoff3
Definition dftParameters.h:191
dftfe::uInt natoms
Definition dftParameters.h:130
bool useMixedPrecCommunOnlyXtHXXtOX
Definition dftParameters.h:140
bool meshAdaption
Definition dftParameters.h:99
double topfrac
Definition dftParameters.h:93
double gaussianOrderForce
Definition dftParameters.h:161
dftfe::uInt mixingHistory
Definition dftParameters.h:43
std::string atomicMassesFile
Definition dftParameters.h:173
dftfe::uInt nkx
Definition dftParameters.h:40
std::string ionOptSolver
Definition dftParameters.h:95
std::string restartFolder
Definition dftParameters.h:86
dftfe::uInt offsetFlagX
Definition dftParameters.h:40
dftfe::uInt numberStepsBOMD
Definition dftParameters.h:158
double MaxWallTime
Definition dftParameters.h:204
double TVal
Definition dftParameters.h:56
bool approxOverlapMatrix
Definition dftParameters.h:182
std::string startingWFCType
Definition dftParameters.h:119
bool useELPA
Definition dftParameters.h:141
double xlbomdKernelRankUpdateFDParameter
Definition dftParameters.h:167
bool computeEnergyEverySCF
Definition dftParameters.h:126
dftfe::uInt spinPolarized
Definition dftParameters.h:40
double confiningInnerPotRad
Definition dftParameters.h:213
double outerAtomBallRadius
Definition dftParameters.h:90
bool isIonForce
Definition dftParameters.h:98
dftfe::uInt scalapackParalProcs
Definition dftParameters.h:128
bool useSymm
Definition dftParameters.h:62
bool poissonGPU
Definition dftParameters.h:47
std::string dc_dampingParameterFilename
Definition dftParameters.h:189
dftfe::uInt numberEigenValues
Definition dftParameters.h:40
bool nonLinearCoreCorrection
Definition dftParameters.h:171
double selfConsistentSolverTolerance
Definition dftParameters.h:56
bool keepScratchFolder
Definition dftParameters.h:105
double mpiAllReduceMessageBlockSizeMB
Definition dftParameters.h:134
double maxJacobianRatioFactorForMD
Definition dftParameters.h:154
std::string solverMode
Definition dftParameters.h:104
bool constraintMagnetization
Definition dftParameters.h:63
bool reuseWfcGeoOpt
Definition dftParameters.h:132
bool pinnedNodeForPBC
Definition dftParameters.h:64
std::string auxBasisTypeXC
Definition dftParameters.h:51
std::string domainBoundingVectorsFile
Definition dftParameters.h:84
dftfe::Int verbosity
Definition dftParameters.h:103
double adaptiveRankRelTolLRD
Definition dftParameters.h:76
bool writeDensitySolutionFields
Definition dftParameters.h:115
bool writeStructreEnergyForcesFileForPostProcess
Definition dftParameters.h:209
bool isPseudopotential
Definition dftParameters.h:62
double restaScreeningLength
Definition dftParameters.h:93
bool bandParalOpt
Definition dftParameters.h:144
dftfe::uInt nkz
Definition dftParameters.h:40
bool printKE
Definition dftParameters.h:113
double restaFermiWavevector
Definition dftParameters.h:94
dftfe::uInt cellConstraintType
Definition dftParameters.h:101
bool periodicZ
Definition dftParameters.h:62
dftfe::uInt maxOptIter
Definition dftParameters.h:198
bool useEnergyResidualTolerance
Definition dftParameters.h:127
bool isCellStress
Definition dftParameters.h:98
std::string ionRelaxFlagsFile
Definition dftParameters.h:85
std::string meshSizesFile
Definition dftParameters.h:86
bool writeLdosFile
Definition dftParameters.h:64
bool useDensityMatrixPerturbationRankUpdates
Definition dftParameters.h:166
dftfe::uInt scalapackBlockSize
Definition dftParameters.h:129
std::string kPointDataFile
Definition dftParameters.h:84
bool useDevice
Definition dftParameters.h:145
bool dc_d3ATM
Definition dftParameters.h:187
dftfe::uInt maxLinearSolverIterations
Definition dftParameters.h:43
double betaTol
Definition dftParameters.h:77
dftfe::uInt chebyshevOrder
Definition dftParameters.h:42
double dc_d3cutoffCN
Definition dftParameters.h:192
double gaussianOrderMoveMeshToAtoms
Definition dftParameters.h:162
double chebyshevTolerance
Definition dftParameters.h:93
dftfe::uInt chebyWfcBlockSize
Definition dftParameters.h:123
dftfe::uInt maxLineSearchIterCGPRP
Definition dftParameters.h:172
dftfe::uInt reuseDensityGeoOpt
Definition dftParameters.h:133
std::string methodSubTypeLRD
Definition dftParameters.h:75
bool memOptMode
Definition dftParameters.h:181
dftfe::uInt nky
Definition dftParameters.h:40
bool deviceFineGrainedTimings
Definition dftParameters.h:146
bool restrictToOnePass
Definition dftParameters.h:120
std::string optimizationMode
Definition dftParameters.h:95
dftfe::uInt dc_d3dampingtype
Definition dftParameters.h:186
double absPoissonSolverToleranceLRD
Definition dftParameters.h:78
double toleranceKinetic
Definition dftParameters.h:100
bool timeReversal
Definition dftParameters.h:63
bool useELPADeviceKernel
Definition dftParameters.h:180
bool confiningPotential
Definition dftParameters.h:212
bool useMixedPrecSubspaceRotRR
Definition dftParameters.h:139
dftfe::uInt finiteElementPolynomialOrder
Definition dftParameters.h:38
bool useFlatTopGenerator
Definition dftParameters.h:163
dftfe::uInt lbfgsNumPastSteps
Definition dftParameters.h:197
bool loadQuadData
Definition dftParameters.h:107
std::string tempControllerTypeBOMD
Definition dftParameters.h:206
double tot_magnetization
Definition dftParameters.h:57
bool autoDeviceBlockSizes
Definition dftParameters.h:152
dftfe::uInt offsetFlagY
Definition dftParameters.h:40
bool useMixedPrecCGS_SR
Definition dftParameters.h:136
dftfe::uInt maxStaggeredCycles
Definition dftParameters.h:199
dftfe::uInt numSCFIterations
Definition dftParameters.h:42
dftfe::uInt wfcBlockSize
Definition dftParameters.h:122
bool estimateJacCondNoFinalSCFIter
Definition dftParameters.h:80
dftfe::uInt numberWaveFunctionsForEstimate
Definition dftParameters.h:44
std::string coordinatesGaussianDispFile
Definition dftParameters.h:88
bool saveQuadData
Definition dftParameters.h:106
bool pureState
Definition dftParameters.h:66
double meshSizeOuterDomain
Definition dftParameters.h:90
double meshSizeOuterBall
Definition dftParameters.h:92
std::string hubbardFileName
Definition dftParameters.h:97
double startingNormLRDLargeDamping
Definition dftParameters.h:74
bool writeDensityQuadData
Definition dftParameters.h:117
bool writeWfcSolutionFields
Definition dftParameters.h:112
dftfe::Int MDTrack
Definition dftParameters.h:207
dftfe::uInt numLevels
Definition dftParameters.h:44
bool overlapComputeCommunOrthoRR
Definition dftParameters.h:151
dftfe::uInt highestStateOfInterestForChebFiltering
Definition dftParameters.h:179
Definition pseudoPotentialToDftfeConverter.cc:34
std::uint32_t uInt
Definition TypeConfig.h:10
std::int32_t Int
Definition TypeConfig.h:11