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
26namespace dftfe
27{
28 /**
29 * @brief Namespace which declares the input parameters and the functions to parse them
30 * from the input parameter file
31 *
32 * @author Phani Motamarri, Sambit Das
33 */
35 {
36 public:
45
48 std::string XCType;
49 std::string modelXCInputFile;
50 std::string auxBasisTypeXC;
51 std::string auxBasisDataXC;
52
58
60
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;
101 unsigned int cellConstraintType;
102
104 std::string solverMode;
109
111
114
116
118
119 std::string startingWFCType;
122 unsigned int wfcBlockSize;
123 unsigned int chebyWfcBlockSize;
125 unsigned int nbandGrps;
129 unsigned int scalapackBlockSize;
130 unsigned int natoms;
131 unsigned int natomTypes;
133 unsigned int reuseDensityGeoOpt;
158 unsigned int numberStepsBOMD;
159 unsigned int TotalImages;
173 std::string atomicMassesFile;
184
186 unsigned int dc_d3dampingtype;
193
194
195 std::string bfgsStepMethod;
197 unsigned int lbfgsNumPastSteps;
198 unsigned int maxOptIter;
199 unsigned int maxStaggeredCycles;
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 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
bool useMixedPrecXtOX
Definition dftParameters.h:137
unsigned int numPass
Definition dftParameters.h:41
unsigned int n_refinement_steps
Definition dftParameters.h:38
unsigned int numberStepsBOMD
Definition dftParameters.h:158
unsigned int finiteElementPolynomialOrderElectrostatics
Definition dftParameters.h:38
double intervalSize
Definition dftParameters.h:57
bool floatingNuclearCharges
Definition dftParameters.h:169
bool useDeviceDirectAllReduce
Definition dftParameters.h:174
std::string functionalTestName
Definition dftParameters.h:71
bool pseudoTestsFlag
Definition dftParameters.h:62
unsigned int cellConstraintType
Definition dftParameters.h:101
double diracDeltaKernelScalingConstant
Definition dftParameters.h:164
double startingTempBOMD
Definition dftParameters.h:203
unsigned int maxOptIter
Definition dftParameters.h:198
double selfConsistentSolverEnergyTolerance
Definition dftParameters.h:56
std::string orthogType
Definition dftParameters.h:85
std::string coordinatesFile
Definition dftParameters.h:84
bool periodicX
Definition dftParameters.h:61
double innerAtomBallRadius
Definition dftParameters.h:90
void check_parameters(const MPI_Comm &mpi_comm_parent) const
double absLinearSolverToleranceHelmholtz
Definition dftParameters.h:57
bool usePreconditioner
Definition dftParameters.h:196
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:62
unsigned int scalapackBlockSize
Definition dftParameters.h:129
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:48
bool saveRhoData
Definition dftParameters.h:106
bool smearedNuclearCharges
Definition dftParameters.h:168
bool createConstraintsFromSerialDofhandler
Definition dftParameters.h:143
unsigned int chebyWfcBlockSize
Definition dftParameters.h:123
bool nonSelfConsistentForce
Definition dftParameters.h:99
bool vselfGPU
Definition dftParameters.h:47
unsigned int npool
Definition dftParameters.h:42
unsigned int nbandGrps
Definition dftParameters.h:125
std::string bfgsStepMethod
Definition dftParameters.h:195
bool periodicY
Definition dftParameters.h:61
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
unsigned int offsetFlagX
Definition dftParameters.h:39
bool singlePrecLRD
Definition dftParameters.h:79
double confiningOuterPotRad
Definition dftParameters.h:214
bool reuseLanczosUpperBoundFromFirstCall
Definition dftParameters.h:177
std::string modelXCInputFile
Definition dftParameters.h:49
double kerkerParameter
Definition dftParameters.h:93
double absLinearSolverTolerance
Definition dftParameters.h:55
std::string algoType
Definition dftParameters.h:85
unsigned int natomTypes
Definition dftParameters.h:131
double chebyshevFilterPolyDegreeFirstScfScalingFactor
Definition dftParameters.h:155
std::string auxBasisDataXC
Definition dftParameters.h:51
bool isBOMD
Definition dftParameters.h:98
bool useSubspaceProjectedSHEPGPU
Definition dftParameters.h:135
bool useSinglePrecCommunCheby
Definition dftParameters.h:148
bool allowFullCPUMemSubspaceRot
Definition dftParameters.h:147
unsigned int reuseDensityGeoOpt
Definition dftParameters.h:133
double mixingParameter
Definition dftParameters.h:53
bool readWfcForPdosPspFile
Definition dftParameters.h:153
void setAutoParameters(const MPI_Comm &mpi_comm_parent)
bool constraintsParallelCheck
Definition dftParameters.h:142
bool reproducible_output
Definition dftParameters.h:110
bool useSinglePrecCheby
Definition dftParameters.h:149
unsigned int numLevels
Definition dftParameters.h:43
bool writeLocalizationLengths
Definition dftParameters.h:63
bool useAtomicMagnetizationGuessConstraintMag
Definition dftParameters.h:59
bool adaptAndersonMixingParameter
Definition dftParameters.h:54
bool autoAdaptBaseMeshSize
Definition dftParameters.h:91
unsigned int nky
Definition dftParameters.h:39
double pspCutoffImageCharges
Definition dftParameters.h:176
double meshSizeInnerBall
Definition dftParameters.h:92
double thermostatTimeConstantBOMD
Definition dftParameters.h:205
unsigned int wfcBlockSize
Definition dftParameters.h:122
bool useMixedPrecXtHX
Definition dftParameters.h:138
unsigned int numCoreWfcForMixedPrecRR
Definition dftParameters.h:121
double confiningWParam
Definition dftParameters.h:215
unsigned int subspaceRotDofsBlockSize
Definition dftParameters.h:124
double smearTval
Definition dftParameters.h:57
unsigned int nkz
Definition dftParameters.h:39
unsigned int mixingHistory
Definition dftParameters.h:42
std::string mixingMethod
Definition dftParameters.h:95
double timeStepBOMD
Definition dftParameters.h:157
double spinMixingEnhancementFactor
Definition dftParameters.h:53
double radiusAtomBall
Definition dftParameters.h:53
double netCharge
Definition dftParameters.h:68
bool allowMultipleFilteringPassesAfterFirstScf
Definition dftParameters.h:178
bool overlapComputeCommunCheby
Definition dftParameters.h:150
unsigned int numberEigenValues
Definition dftParameters.h:39
double maxCellUpdateStep
Definition dftParameters.h:200
double maxIonUpdateStep
Definition dftParameters.h:200
double dc_d3cutoff3
Definition dftParameters.h:191
unsigned int scalapackParalProcs
Definition dftParameters.h:128
bool useMixedPrecCommunOnlyXtHXXtOX
Definition dftParameters.h:140
bool meshAdaption
Definition dftParameters.h:99
double topfrac
Definition dftParameters.h:93
double gaussianOrderForce
Definition dftParameters.h:161
unsigned int spinPolarized
Definition dftParameters.h:39
std::string atomicMassesFile
Definition dftParameters.h:173
std::string ionOptSolver
Definition dftParameters.h:95
std::string restartFolder
Definition dftParameters.h:86
unsigned int maxLineSearchIterCGPRP
Definition dftParameters.h:172
double MaxWallTime
Definition dftParameters.h:204
double TVal
Definition dftParameters.h:55
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
bool writeBandsFile
Definition dftParameters.h:63
double confiningInnerPotRad
Definition dftParameters.h:213
double outerAtomBallRadius
Definition dftParameters.h:90
bool isIonForce
Definition dftParameters.h:98
bool useSymm
Definition dftParameters.h:61
bool poissonGPU
Definition dftParameters.h:46
unsigned int finiteElementPolynomialOrder
Definition dftParameters.h:37
std::string dc_dampingParameterFilename
Definition dftParameters.h:189
bool loadRhoData
Definition dftParameters.h:107
bool nonLinearCoreCorrection
Definition dftParameters.h:171
double selfConsistentSolverTolerance
Definition dftParameters.h:55
bool keepScratchFolder
Definition dftParameters.h:105
double mpiAllReduceMessageBlockSizeMB
Definition dftParameters.h:134
unsigned int highestStateOfInterestForChebFiltering
Definition dftParameters.h:179
double maxJacobianRatioFactorForMD
Definition dftParameters.h:154
std::string solverMode
Definition dftParameters.h:104
bool constraintMagnetization
Definition dftParameters.h:62
bool reuseWfcGeoOpt
Definition dftParameters.h:132
bool pinnedNodeForPBC
Definition dftParameters.h:63
std::string auxBasisTypeXC
Definition dftParameters.h:50
std::string domainBoundingVectorsFile
Definition dftParameters.h:84
double adaptiveRankRelTolLRD
Definition dftParameters.h:76
int extrapolateDensity
Definition dftParameters.h:156
bool writeDensitySolutionFields
Definition dftParameters.h:115
bool writeStructreEnergyForcesFileForPostProcess
Definition dftParameters.h:209
bool isPseudopotential
Definition dftParameters.h:61
unsigned int dc_dispersioncorrectiontype
Definition dftParameters.h:185
double restaScreeningLength
Definition dftParameters.h:93
bool bandParalOpt
Definition dftParameters.h:144
bool printKE
Definition dftParameters.h:113
unsigned int maxStaggeredCycles
Definition dftParameters.h:199
double restaFermiWavevector
Definition dftParameters.h:94
bool periodicZ
Definition dftParameters.h:61
bool useEnergyResidualTolerance
Definition dftParameters.h:127
unsigned int lbfgsNumPastSteps
Definition dftParameters.h:197
bool isCellStress
Definition dftParameters.h:98
unsigned int numSCFIterations
Definition dftParameters.h:41
std::string ionRelaxFlagsFile
Definition dftParameters.h:85
unsigned int natoms
Definition dftParameters.h:130
std::string meshSizesFile
Definition dftParameters.h:86
bool writeLdosFile
Definition dftParameters.h:63
bool useDensityMatrixPerturbationRankUpdates
Definition dftParameters.h:166
std::string kPointDataFile
Definition dftParameters.h:84
bool useDevice
Definition dftParameters.h:145
unsigned int nkx
Definition dftParameters.h:39
bool dc_d3ATM
Definition dftParameters.h:187
unsigned int offsetFlagY
Definition dftParameters.h:39
int MDTrack
Definition dftParameters.h:207
int verbosity
Definition dftParameters.h:103
double betaTol
Definition dftParameters.h:77
double dc_d3cutoffCN
Definition dftParameters.h:192
double gaussianOrderMoveMeshToAtoms
Definition dftParameters.h:162
double chebyshevTolerance
Definition dftParameters.h:93
std::string methodSubTypeLRD
Definition dftParameters.h:75
bool memOptMode
Definition dftParameters.h:181
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 int _verbosity=1, const bool _useDevice=false)
bool deviceFineGrainedTimings
Definition dftParameters.h:146
bool restrictToOnePass
Definition dftParameters.h:120
std::string optimizationMode
Definition dftParameters.h:95
double absPoissonSolverToleranceLRD
Definition dftParameters.h:78
double toleranceKinetic
Definition dftParameters.h:100
bool timeReversal
Definition dftParameters.h:62
bool useELPADeviceKernel
Definition dftParameters.h:180
unsigned int offsetFlagZ
Definition dftParameters.h:40
bool confiningPotential
Definition dftParameters.h:212
unsigned int maxLinearSolverIterations
Definition dftParameters.h:42
bool useMixedPrecSubspaceRotRR
Definition dftParameters.h:139
bool useFlatTopGenerator
Definition dftParameters.h:163
std::string tempControllerTypeBOMD
Definition dftParameters.h:206
double tot_magnetization
Definition dftParameters.h:56
unsigned int numberWaveFunctionsForEstimate
Definition dftParameters.h:43
bool autoDeviceBlockSizes
Definition dftParameters.h:152
bool useMixedPrecCGS_SR
Definition dftParameters.h:136
unsigned int TotalImages
Definition dftParameters.h:159
bool estimateJacCondNoFinalSCFIter
Definition dftParameters.h:80
unsigned int dc_d3dampingtype
Definition dftParameters.h:186
unsigned int chebyshevOrder
Definition dftParameters.h:41
unsigned int maxLinearSolverIterationsHelmholtz
Definition dftParameters.h:44
std::string coordinatesGaussianDispFile
Definition dftParameters.h:88
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
bool overlapComputeCommunOrthoRR
Definition dftParameters.h:151
Definition pseudoPotentialToDftfeConverter.cc:34