DFT-FE 1.3.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:
48
51 std::string XCType;
52 std::string modelXCInputFile;
53 std::string auxBasisTypeXC;
54 std::string auxBasisDataXC;
56
62
64
68
70
71 double netCharge;
72
73 /** parameters for functional tests **/
74 std::string functionalTestName;
75 /** parameters for LRD preconditioner **/
76
78 std::string methodSubTypeLRD;
80 double betaTol;
84
85 /**********************************************/
86
90
92
99
100 std::string hubbardFileName;
105
107 std::string solverMode;
112
114
117
119
121
122 std::string startingWFCType;
176 std::string atomicMassesFile;
187
196
197
198 std::string bfgsStepMethod;
204
205 // New Paramters for moleculardyynamics class
211
213
214 // Parameters for confining potential
220
222
223 /**
224 * Parse parameters.
225 */
226 void
227 parse_parameters(const std::string &parameter_file,
228 const MPI_Comm &mpi_comm_parent,
229 const bool printParams = false,
230 const std::string mode = "GS",
231 const std::string restartFilesPath = ".",
232 const dftfe::Int _verbosity = 1,
233 const bool _useDevice = false);
234
235 /**
236 * Check parameters
237 */
238 void
239 check_parameters(const MPI_Comm &mpi_comm_parent) const;
240
241 /**
242 * Set automated choices for parameters
243 */
244 void
245 setAutoParameters(const MPI_Comm &mpi_comm_parent);
246
247 }; // class dftParameters
248
249} // namespace dftfe
250#endif
std::string tensorOpType
Definition dftParameters.h:89
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:140
dftfe::uInt npool
Definition dftParameters.h:45
double intervalSize
Definition dftParameters.h:61
bool floatingNuclearCharges
Definition dftParameters.h:172
bool useDeviceDirectAllReduce
Definition dftParameters.h:177
std::string functionalTestName
Definition dftParameters.h:74
bool pseudoTestsFlag
Definition dftParameters.h:66
double diracDeltaKernelScalingConstant
Definition dftParameters.h:167
double startingTempBOMD
Definition dftParameters.h:206
double selfConsistentSolverEnergyTolerance
Definition dftParameters.h:60
std::string orthogType
Definition dftParameters.h:88
dftfe::uInt dc_dispersioncorrectiontype
Definition dftParameters.h:188
std::string coordinatesFile
Definition dftParameters.h:87
dftfe::uInt finiteElementPolynomialOrderElectrostatics
Definition dftParameters.h:40
bool periodicX
Definition dftParameters.h:65
double innerAtomBallRadius
Definition dftParameters.h:93
void check_parameters(const MPI_Comm &mpi_comm_parent) const
double absLinearSolverToleranceHelmholtz
Definition dftParameters.h:61
bool usePreconditioner
Definition dftParameters.h:199
dftfe::uInt numCoreWfcForMixedPrecRR
Definition dftParameters.h:124
bool useReformulatedChFSI
Definition dftParameters.h:186
double gaussianConstantForce
Definition dftParameters.h:163
bool multipoleBoundaryConditions
Definition dftParameters.h:173
bool writePdosFile
Definition dftParameters.h:67
double dc_d3cutoff2
Definition dftParameters.h:193
double forceRelaxTol
Definition dftParameters.h:103
bool writeDosFile
Definition dftParameters.h:66
double confiningCParam
Definition dftParameters.h:219
std::string pseudoPotentialFile
Definition dftParameters.h:88
std::string cellOptSolver
Definition dftParameters.h:98
double stressRelaxTol
Definition dftParameters.h:103
std::string XCType
Definition dftParameters.h:51
dftfe::uInt natomTypes
Definition dftParameters.h:134
bool smearedNuclearCharges
Definition dftParameters.h:171
bool createConstraintsFromSerialDofhandler
Definition dftParameters.h:146
dftfe::uInt densityQuadratureRule
Definition dftParameters.h:43
bool nonSelfConsistentForce
Definition dftParameters.h:102
bool vselfGPU
Definition dftParameters.h:50
dftfe::Int extrapolateDensity
Definition dftParameters.h:159
std::string bfgsStepMethod
Definition dftParameters.h:198
bool periodicY
Definition dftParameters.h:65
double xlbomdRestartChebyTol
Definition dftParameters.h:168
bool restartSpinFromNoSpin
Definition dftParameters.h:111
bool useDCCL
Definition dftParameters.h:178
bool dc_d4MBD
Definition dftParameters.h:191
bool singlePrecLRD
Definition dftParameters.h:82
double confiningOuterPotRad
Definition dftParameters.h:217
bool reuseLanczosUpperBoundFromFirstCall
Definition dftParameters.h:180
dftfe::uInt numPass
Definition dftParameters.h:44
dftfe::uInt maxLinearSolverIterationsHelmholtz
Definition dftParameters.h:47
std::string modelXCInputFile
Definition dftParameters.h:52
double kerkerParameter
Definition dftParameters.h:96
double absLinearSolverTolerance
Definition dftParameters.h:59
std::string algoType
Definition dftParameters.h:88
double chebyshevFilterPolyDegreeFirstScfScalingFactor
Definition dftParameters.h:158
dftfe::uInt nbandGrps
Definition dftParameters.h:128
std::string auxBasisDataXC
Definition dftParameters.h:54
bool isBOMD
Definition dftParameters.h:101
bool useSubspaceProjectedSHEPGPU
Definition dftParameters.h:138
bool useSinglePrecCommunCheby
Definition dftParameters.h:151
bool allowFullCPUMemSubspaceRot
Definition dftParameters.h:150
double mixingParameter
Definition dftParameters.h:57
bool readWfcForPdosPspFile
Definition dftParameters.h:156
void setAutoParameters(const MPI_Comm &mpi_comm_parent)
bool constraintsParallelCheck
Definition dftParameters.h:145
dftfe::uInt offsetFlagZ
Definition dftParameters.h:42
bool reproducible_output
Definition dftParameters.h:113
bool useSinglePrecCheby
Definition dftParameters.h:152
bool writeLocalizationLengths
Definition dftParameters.h:67
bool useAtomicMagnetizationGuessConstraintMag
Definition dftParameters.h:63
bool adaptAndersonMixingParameter
Definition dftParameters.h:58
bool autoAdaptBaseMeshSize
Definition dftParameters.h:94
double pspCutoffImageCharges
Definition dftParameters.h:179
double meshSizeInnerBall
Definition dftParameters.h:95
double thermostatTimeConstantBOMD
Definition dftParameters.h:208
bool useMixedPrecXtHX
Definition dftParameters.h:141
dftfe::uInt n_refinement_steps
Definition dftParameters.h:40
double confiningWParam
Definition dftParameters.h:218
double smearTval
Definition dftParameters.h:61
std::string mixingMethod
Definition dftParameters.h:98
double timeStepBOMD
Definition dftParameters.h:160
double spinMixingEnhancementFactor
Definition dftParameters.h:57
double radiusAtomBall
Definition dftParameters.h:57
double netCharge
Definition dftParameters.h:71
bool allowMultipleFilteringPassesAfterFirstScf
Definition dftParameters.h:181
bool overlapComputeCommunCheby
Definition dftParameters.h:153
double maxCellUpdateStep
Definition dftParameters.h:203
double maxIonUpdateStep
Definition dftParameters.h:203
dftfe::uInt TotalImages
Definition dftParameters.h:162
dftfe::uInt subspaceRotDofsBlockSize
Definition dftParameters.h:127
double dc_d3cutoff3
Definition dftParameters.h:194
dftfe::uInt natoms
Definition dftParameters.h:133
bool useMixedPrecCommunOnlyXtHXXtOX
Definition dftParameters.h:143
bool meshAdaption
Definition dftParameters.h:102
double topfrac
Definition dftParameters.h:96
double gaussianOrderForce
Definition dftParameters.h:164
dftfe::uInt mixingHistory
Definition dftParameters.h:45
std::string atomicMassesFile
Definition dftParameters.h:176
dftfe::uInt nkx
Definition dftParameters.h:41
std::string ionOptSolver
Definition dftParameters.h:98
std::string restartFolder
Definition dftParameters.h:89
dftfe::uInt offsetFlagX
Definition dftParameters.h:41
dftfe::uInt numberStepsBOMD
Definition dftParameters.h:161
double MaxWallTime
Definition dftParameters.h:207
double TVal
Definition dftParameters.h:59
bool approxOverlapMatrix
Definition dftParameters.h:185
std::string startingWFCType
Definition dftParameters.h:122
bool useELPA
Definition dftParameters.h:144
double xlbomdKernelRankUpdateFDParameter
Definition dftParameters.h:170
bool computeEnergyEverySCF
Definition dftParameters.h:129
dftfe::uInt spinPolarized
Definition dftParameters.h:41
double confiningInnerPotRad
Definition dftParameters.h:216
double outerAtomBallRadius
Definition dftParameters.h:93
bool isIonForce
Definition dftParameters.h:101
dftfe::uInt scalapackParalProcs
Definition dftParameters.h:131
bool useSymm
Definition dftParameters.h:65
bool poissonGPU
Definition dftParameters.h:49
std::string dc_dampingParameterFilename
Definition dftParameters.h:192
dftfe::uInt numberEigenValues
Definition dftParameters.h:41
bool nonLinearCoreCorrection
Definition dftParameters.h:174
double selfConsistentSolverTolerance
Definition dftParameters.h:59
bool keepScratchFolder
Definition dftParameters.h:108
double mpiAllReduceMessageBlockSizeMB
Definition dftParameters.h:137
double maxJacobianRatioFactorForMD
Definition dftParameters.h:157
std::string solverMode
Definition dftParameters.h:107
bool constraintMagnetization
Definition dftParameters.h:66
bool reuseWfcGeoOpt
Definition dftParameters.h:135
bool pinnedNodeForPBC
Definition dftParameters.h:67
std::string auxBasisTypeXC
Definition dftParameters.h:53
std::string domainBoundingVectorsFile
Definition dftParameters.h:87
dftfe::Int verbosity
Definition dftParameters.h:106
double adaptiveRankRelTolLRD
Definition dftParameters.h:79
bool writeDensitySolutionFields
Definition dftParameters.h:118
bool writeStructreEnergyForcesFileForPostProcess
Definition dftParameters.h:212
bool isPseudopotential
Definition dftParameters.h:65
double restaScreeningLength
Definition dftParameters.h:96
bool bandParalOpt
Definition dftParameters.h:147
dftfe::uInt nkz
Definition dftParameters.h:41
bool printKE
Definition dftParameters.h:116
double restaFermiWavevector
Definition dftParameters.h:97
dftfe::uInt cellConstraintType
Definition dftParameters.h:104
bool periodicZ
Definition dftParameters.h:65
dftfe::uInt maxOptIter
Definition dftParameters.h:201
bool useEnergyResidualTolerance
Definition dftParameters.h:130
bool isCellStress
Definition dftParameters.h:101
std::string ionRelaxFlagsFile
Definition dftParameters.h:88
std::string meshSizesFile
Definition dftParameters.h:89
bool writeLdosFile
Definition dftParameters.h:67
bool useDensityMatrixPerturbationRankUpdates
Definition dftParameters.h:169
dftfe::uInt scalapackBlockSize
Definition dftParameters.h:132
std::string kPointDataFile
Definition dftParameters.h:87
bool useDevice
Definition dftParameters.h:148
bool useLiXCForXCEvaluation
Definition dftParameters.h:55
bool dc_d3ATM
Definition dftParameters.h:190
dftfe::uInt maxLinearSolverIterations
Definition dftParameters.h:45
double betaTol
Definition dftParameters.h:80
dftfe::uInt chebyshevOrder
Definition dftParameters.h:44
double dc_d3cutoffCN
Definition dftParameters.h:195
double gaussianOrderMoveMeshToAtoms
Definition dftParameters.h:165
double chebyshevTolerance
Definition dftParameters.h:96
dftfe::uInt chebyWfcBlockSize
Definition dftParameters.h:126
dftfe::uInt maxLineSearchIterCGPRP
Definition dftParameters.h:175
dftfe::uInt finiteElementPolynomialOrderRhoNodal
Definition dftParameters.h:39
dftfe::uInt reuseDensityGeoOpt
Definition dftParameters.h:136
std::string methodSubTypeLRD
Definition dftParameters.h:78
bool memOptMode
Definition dftParameters.h:184
dftfe::uInt nky
Definition dftParameters.h:41
bool deviceFineGrainedTimings
Definition dftParameters.h:149
bool restrictToOnePass
Definition dftParameters.h:123
std::string optimizationMode
Definition dftParameters.h:98
dftfe::uInt dc_d3dampingtype
Definition dftParameters.h:189
double absPoissonSolverToleranceLRD
Definition dftParameters.h:81
double toleranceKinetic
Definition dftParameters.h:103
bool timeReversal
Definition dftParameters.h:66
bool useELPADeviceKernel
Definition dftParameters.h:183
bool confiningPotential
Definition dftParameters.h:215
bool useMixedPrecSubspaceRotRR
Definition dftParameters.h:142
dftfe::uInt finiteElementPolynomialOrder
Definition dftParameters.h:38
bool useFlatTopGenerator
Definition dftParameters.h:166
dftfe::uInt lbfgsNumPastSteps
Definition dftParameters.h:200
bool loadQuadData
Definition dftParameters.h:110
std::string tempControllerTypeBOMD
Definition dftParameters.h:209
double tot_magnetization
Definition dftParameters.h:60
bool autoDeviceBlockSizes
Definition dftParameters.h:155
dftfe::uInt offsetFlagY
Definition dftParameters.h:41
bool useMixedPrecCGS_SR
Definition dftParameters.h:139
dftfe::uInt maxStaggeredCycles
Definition dftParameters.h:202
dftfe::uInt numSCFIterations
Definition dftParameters.h:44
dftfe::uInt wfcBlockSize
Definition dftParameters.h:125
bool estimateJacCondNoFinalSCFIter
Definition dftParameters.h:83
dftfe::uInt numberWaveFunctionsForEstimate
Definition dftParameters.h:46
std::string coordinatesGaussianDispFile
Definition dftParameters.h:91
bool saveQuadData
Definition dftParameters.h:109
bool pureState
Definition dftParameters.h:69
double meshSizeOuterDomain
Definition dftParameters.h:93
double meshSizeOuterBall
Definition dftParameters.h:95
std::string hubbardFileName
Definition dftParameters.h:100
double startingNormLRDLargeDamping
Definition dftParameters.h:77
bool writeDensityQuadData
Definition dftParameters.h:120
bool writeWfcSolutionFields
Definition dftParameters.h:115
dftfe::Int MDTrack
Definition dftParameters.h:210
dftfe::uInt numLevels
Definition dftParameters.h:46
bool overlapComputeCommunOrthoRR
Definition dftParameters.h:154
dftfe::uInt highestStateOfInterestForChebFiltering
Definition dftParameters.h:182
Definition pseudoPotentialToDftfeConverter.cc:34
std::uint32_t uInt
Definition TypeConfig.h:10
std::int32_t Int
Definition TypeConfig.h:11