IPCC  1.0
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
KNCommandFileParser.h
Go to the documentation of this file.
1 
7 #pragma once
8 
9 #include "CKNGlobal.h"
17 {
18 public:
21 
26  typedef struct{
27  double fUnitcellLength[3];
28  double fDirection[3];
30  bool bNeedRotate;
31  bool bConsiderBoundaryCondition[3];
33  double fShapeLength[NMAXDOMAIN][3];
34  double fOrigin[NMAXDOMAIN][3];
35  double fevMin;
36  double fevMax;
46  char szDataFileName[1024];
50  char szDomainMat[NMAXDOMAIN][1024];
51  char szShape[NMAXDOMAIN][1024];
52  int nShape[NMAXDOMAIN];
53  char szStructureType[1024];
54  double fKPoints;
55  double fKValueInit[3];
56  double fKValueFinal[3];
57  bool bSaveMapFile;
59  double fDegree[2];
60  unsigned int nBandSize;
61  unsigned int nMPILevel;
62  double load_in_MIC;
64 
65  static LPINPUT_CMD_PARAM ParsingInputCommand(char *pszInputCommnadFileName);
66 
67 private:
68  static void GetValueAfterEqualString(char *pszOption, char *pszValue);
69  static void SetOptionParam(LPINPUT_CMD_PARAM lpParam, char *pszOption, int nHash, int nOptIndex);
70  static void TrimString(char *pszBuffer);
71  static void TrimStringEx(char *pszBuffer);
72  static void TrimSpaceEdge(char *pszBuffer);
73  static void ExtractParam(char *pszBuffer, double *pParam, int nParamSize);
74  static void InitData(LPINPUT_CMD_PARAM lpParam);
75  static unsigned int ExtractOptionIndex(char *pszBuffer, int nHash, int nOptIndex);
76 };
77 
unsigned int nMPILevel
MPI Grouping level.
static void TrimStringEx(char *pszBuffer)
Trim string using white spapce not including ' '.
static void GetValueAfterEqualString(char *pszOption, char *pszValue)
Extracting string after equal charater postion.
static unsigned int ExtractOptionIndex(char *pszBuffer, int nHash, int nOptIndex)
Get Number of Index. ex) Geometry_Origin(1)=[ 0 0 0 ], -> Get '1' from option string.
static void InitData(LPINPUT_CMD_PARAM lpParam)
Initialize some default parameter.
bool bSaveHamiltonian
Save Hamiltonian matrix or not.
static void ExtractParam(char *pszBuffer, double *pParam, int nParamSize)
Extracing paramter in string.
bool bSortBeforeCSRBuilding
When solve lanczos without geometric building, determine sorting data before building CSR...
This class for parsing input command file.
bool bDoSelectiveReorthogonalization
Option for doing selective reorthogonalization or not.
static void SetOptionParam(LPINPUT_CMD_PARAM lpParam, char *pszOption, int nHash, int nOptIndex)
Setting option variable.
bool bCalculateEigenVectors
Option for doing calculating eigen vectors or not.
unsigned int nBandSize
Band basis size.
static LPINPUT_CMD_PARAM ParsingInputCommand(char *pszInputCommnadFileName)
Parsing Commaind file.
double fevMin
Eigen value minimun value boundary.
int nFindingEigenValueCount
Eigen value count for want to find.
bool bNeedRotate
Calculation parameter that need to apply rotation matrix.
bool bCalculateWaveFunction
Option for doing calculating wave function or not.
int nLanczosIterationCount
A counts of lanczos interation.
Common definition for Solver.
unsigned int nFindingDegeneratedEVCount
Degenerated eigenvalue count for want to find.
Structure for save input command file parsing result.
double fevMax
Eigen value maximun value boundary.
#define NMAXDOMAIN
For multi material.
Definition: CKNGlobal.h:85
bool bSaveMapFile
Save atom map or not.
int nSubDomainNumber
Numbers of Subdomain, except main domain.
bool bUsingCubeModel
Option for using cube model or not.
int nMatrixNonzeroElementCount
Non zero count in Hamiltonian matrix only for calculating eigen value from file.
double fConvergeceCriteria
Eigen value convergence criteria.
static void TrimSpaceEdge(char *pszBuffer)
Trim space both side of string.
struct CKNCommandFileParser::INPUT_CMD_PARAM * LPINPUT_CMD_PARAM
int nMatrixDemension
Hamiltonian matrix demension.
int nCheckEigenvalueInterval
A interval for checking T matrix eigenvlaue.
static void TrimString(char *pszBuffer)
Trim string using white spapce including ' '.