|
IPCC
1.0
|
This class for launching calculation module. More...
#include "KNTBMS_Solver.h"

Public Member Functions | |
| CKNTBMS_Solver () | |
| ~CKNTBMS_Solver () | |
Static Public Member Functions | |
| static unsigned int | Launching_TBMS_Solver (char *pszInputCommnadFileName, bool bMPI, bool bShowMsg, bool bRemovePrevResult=true) |
| Launching Geomentric construction and Lancsoz method. More... | |
Static Private Member Functions | |
| static void | getCurrentTime (char *pszBuffer) |
| Get Current time from system. More... | |
| static bool | InitMPIEnv (bool &bMPI, CKNCommandFileParser::LPINPUT_CMD_PARAM lpParam) |
| Initialization of MPI environment. More... | |
| static void | FinalEvn (CKNMatrixOperation::CKNCSR *lpResult, CKNCommandFileParser::LPINPUT_CMD_PARAM lpParam, double *pKValue[3], NEIGHBOR_MAP_INFO *lpMapInfo, CKNGeometricShape *pGeometricShape, bool bMPI) |
| Finalization of enviroment and variables. More... | |
| static void | GetKValues (CKNCommandFileParser::LPINPUT_CMD_PARAM lpParam, double *pKValue[3]) |
| Calculate K value with K points. More... | |
| static CKNMatrixOperation::CKNCSR * | AllocateCSR (unsigned int &nRtn, NEIGHBOR_MAP_INFO *lpMapInfo, CKNCommandFileParser::LPINPUT_CMD_PARAM lpParam, CKNGeometricShape *pGeometricShape, bool bMPI) |
| Allocating CSR memory sapce. More... | |
| static void | ApplyPhPotential (double *impurity_position, CKNMatrixOperation::CKNCSR *matrix, NEIGHBOR_MAP_INFO mapInfo, bool bUseSplitVector) |
| Applying impurity potential. More... | |
This class for launching calculation module.
Definition at line 20 of file KNTBMS_Solver.h.
| CKNTBMS_Solver::CKNTBMS_Solver | ( | ) |
| CKNTBMS_Solver::~CKNTBMS_Solver | ( | ) |
|
staticprivate |
Allocating CSR memory sapce.
| nRtn[out] | Operation result |
| lpMapInfo | Structure that include atom map |
| lpParam | Strcuture that include options parameter for program launching |
| pGeometricShape | Class that include shape information |
| bMPI | Running with MPI enviroment or not |
Definition at line 128 of file KNTBMS_Solver.cpp.
References CKNMatrixOperation::CKNCSR::BuildDataBuffer(), ERROR_MALLOC, NEIGHBOR_MAP_INFO::fItemCount, CKNGeometricShape::GetAtomStartID(), CKNGeometricShape::GetTotalAtomCount(), CKNMPIManager::InitCommunicationBufferMetric(), CKNMPIManager::LoadBlancing(), CKNCommandFileParser::INPUT_CMD_PARAM::nMatrixDemension, CKNMatrixOperation::CKNCSR::SetColumnCount(), CKNMatrixOperation::CKNCSR::SetFirstRowIndex(), and CKNMatrixOperation::CKNCSR::SetRowCount().
Referenced by Launching_TBMS_Solver().


|
staticprivate |
Applying impurity potential.
| impurity_position | Impurity position with double buffer |
| matrix | Target matrix |
| mapInfo | Atom map information |
| bUseSplitVector | Operation in MPI environment or not |
Definition at line 437 of file KNTBMS_Solver.cpp.
References CKNMatrixOperation::CKNCSR::DiagonalOperation(), NEIGHBOR_MAP_INFO::fItemCount, CKNMPIManager::IsRootRank(), NEIGHBOR_MAP_INFO::pfX_Coordination, NEIGHBOR_MAP_INFO::pfY_Coordination, NEIGHBOR_MAP_INFO::pfZ_Coordination, CKNMatrixOperation::CKNCSR::PLUS, CKNMatrixOperation::CKNVector::SetAt(), CKNComplex::SetRealNumber(), CKNMatrixOperation::CKNVector::SetSize(), and CKNIPCCUtility::ShowMsg().

|
staticprivate |
Finalization of enviroment and variables.
| lpResult | CSR class that include Hamiltonian |
| lpParam | Strcuture that include options parameter for program launching |
| pKValue | K values |
| lpMapInfo | Structure that include atom map |
| pGeometricShape | Class that include shape information |
| bMPI | Running with MPI enviroment or not |
Definition at line 102 of file KNTBMS_Solver.cpp.
References CKNMPIManager::FinalizeManager(), FREE_MEM, CKNMatrixOperation::FreeCSR(), and CKNGeometricShape::FreeMapInfo().
Referenced by Launching_TBMS_Solver().


|
staticprivate |
Get Current time from system.
| pszBuffer[out] | Charater buffer that want to save string that include time information |
Definition at line 37 of file KNTBMS_Solver.cpp.
|
staticprivate |
Calculate K value with K points.
| lpParam | Option parameters for program launching |
| pKValue[out] | Buffer for saving k values |
Definition at line 52 of file KNTBMS_Solver.cpp.
References CKNCommandFileParser::INPUT_CMD_PARAM::fKPoints, CKNCommandFileParser::INPUT_CMD_PARAM::fKValueFinal, and CKNCommandFileParser::INPUT_CMD_PARAM::fKValueInit.
Referenced by Launching_TBMS_Solver().

|
staticprivate |
Initialization of MPI environment.
| bMPI | Running with MPI enviroment or not |
| lpParam | Option parameters for program launching |
Definition at line 75 of file KNTBMS_Solver.cpp.
References CKNMPIManager::InitLevel(), CKNCommandFileParser::INPUT_CMD_PARAM::nFindingDegeneratedEVCount, CKNCommandFileParser::INPUT_CMD_PARAM::nMPILevel, and CKNMPIManager::SetMPIEnviroment().
Referenced by Launching_TBMS_Solver().


|
static |
Launching Geomentric construction and Lancsoz method.
| pszInputCommnadFileName | Input file that include program parameters |
| bMPI | Running with MPI enviroment or not |
| bShowMsg | Showing message on console or not |
| bRemovePrevResult | Remove previous calculating results or not |
< Parsing command file
< Initialization of MPI environment
< Remove output directory first
< Setting shape parameters
< Setting unitcell parameters
< Arranging unitcell
< Numbering unitcell in periodic bonding layer
< Exchanging front and back side layer information between node
< Numbering unitcell in periodic bonding layer for exchanging layer
< Find Neighbor of each atom
< Make mapinfo runtime strcuture and writting into file
< Creating CSR class obeject
< Building Hamiltonian matrix
< Calculating k points
< Calculating phase
< Launching lanczos method
< Release memery for lanczos result
< Reset hamlitonian before calculating phase
Definition at line 163 of file KNTBMS_Solver.cpp.
References AllocateCSR(), CKNMPIManager::AllReduceDouble(), CKNCommandFileParser::INPUT_CMD_PARAM::bCalculateEigenVectors, CKNCommandFileParser::INPUT_CMD_PARAM::bCalculateWaveFunction, CKNCommandFileParser::INPUT_CMD_PARAM::bConsiderBoundaryCondition, CKNCommandFileParser::INPUT_CMD_PARAM::bDoSelectiveReorthogonalization, CKNCommandFileParser::INPUT_CMD_PARAM::bSaveHamiltonian, CKNHamiltonianBuilder::BuildHamiltonian(), CKNGeometricShape::BuildNeighborInformation(), CALCULATION_SUCCESS, CAN_NOT_ALLOC_RANK, CAN_NOT_FIND_COMMAND_FILE, CAN_NOT_LOAD_METERIAL_PARAM, CKNLanczosMethod::CheckingCalculationCondition(), CKNGeometricShape::ConstructMapInfo(), CUBIC, CKNLanczosMethod::DoLanczosMethod(), CKNIPCCUtility::DumpCSR(), CKNGeometricShape::ExchangeAtomInfoBetweenNode(), CKNCommandFileParser::INPUT_CMD_PARAM::fConvergeceCriteria, CKNCommandFileParser::INPUT_CMD_PARAM::fevMax, CKNCommandFileParser::INPUT_CMD_PARAM::fevMin, CKNGeometricShape::FillUnitcell(), FinalEvn(), CKNHamiltonianBuilder::FinalizeMatrixBuffer(), CKNGeometricShape::FinalShape(), CKNCommandFileParser::INPUT_CMD_PARAM::fKPoints, FREE_MEM, CKNCommandFileParser::INPUT_CMD_PARAM::fShapeLength, CKNCommandFileParser::INPUT_CMD_PARAM::fUnitcellLength, CKNGeometricShape::GetAtomStartID(), CKNMPIManager::GetCurrentRank(), GetKValues(), CKNMatrixOperation::CKNCSR::GetNoneZeroCount(), CKNGeometricShape::GetSurfaceAtomList(), CKNMPIManager::GetTotalNodeCount(), InitMPIEnv(), CKNTimeMeasurement::InitTimer(), CKNMPIManager::IsDeflationRoot(), CKNMPIManager::IsMultiLevelMPI(), CKNMPIManager::IsRootRank(), CKNCommandFileParser::INPUT_CMD_PARAM::load_in_MIC, CKNGeometricShape::m_nAtomFirstLayer, CKNGeometricShape::m_nAtomLastLayer, CKNMatrixOperation::CKNCSR::m_vectColumn, CKNMatrixOperation::CKNCSR::m_vectRow, CKNMatrixOperation::CKNCSR::m_vectValueImaginaryBuffer, CKNMatrixOperation::CKNCSR::m_vectValueRealBuffer, CKNLanczosMethod::MergeDegeneratedEigenvalues(), CKNCommandFileParser::INPUT_CMD_PARAM::nCheckEigenvalueInterval, CKNMatrixOperation::CKNCSR::nComponentsFirstUnitCell, CKNMatrixOperation::CKNCSR::nComponentsLastUnitCell, CKNCommandFileParser::INPUT_CMD_PARAM::nDirectionSingle, NEED_TO_ADJUST_MPI_CONFIG, CKNCommandFileParser::INPUT_CMD_PARAM::nFindingDegeneratedEVCount, CKNCommandFileParser::INPUT_CMD_PARAM::nFindingEigenValueCount, CKNCommandFileParser::INPUT_CMD_PARAM::nLanczosIterationCount, ORBITALS, CKNCommandFileParser::ParsingInputCommand(), CKNGeometricShape::PeriodicUnitCellNumbering(), phi_tid, CKNLanczosMethod::RecalcuWaveFunction(), CKNGeometricShape::RefillPeriodicBinding(), CKNLanczosMethod::ReleaseResult(), CKNHamiltonianBuilder::ResetPeriodicBinding(), CKNLanczosMethod::SaveLanczosResult(), CKNGeometricShape::SetAtomAndNeighborInformation(), CKNGeometricShape::SetShapeInformation(), CKNIPCCUtility::SetShow(), SHOW_SIMPLE_MSG, CKNLanczosMethod::ShowLanczosResult(), CKNIPCCUtility::ShowMsg(), CKNLanczosMethod::SortSolution(), CKNCommandFileParser::INPUT_CMD_PARAM::szStructureType, CKNTimeMeasurement::TotalMeasurementEnd(), and CKNTimeMeasurement::TotalMeasurementStart().
