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

Public Member Functions | |
| CTBMS_Solver () | |
| ~CTBMS_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 void | FinalEvn (CMatrixOperation::CCSR *lpResult, CCommandFileParser::LPINPUT_CMD_PARAM lpParam, double *pKValue[3], NEIGHBOR_MAP_INFO *lpMapInfo, CGeometricShape *pGeometricShape, bool bMPI) |
| Finalization of enviroment and variables. More... | |
| static CMatrixOperation::CCSR * | AllocateCSR (unsigned int &nRtn, NEIGHBOR_MAP_INFO *lpMapInfo, CCommandFileParser::LPINPUT_CMD_PARAM lpParam, CGeometricShape *pGeometricShape, bool bMPI, int &nLBIndex) |
| Allocating CSR memory sapce. More... | |
| static void | ApplyPhPotential (double *impurity_position, CMatrixOperation::CCSR *matrix, NEIGHBOR_MAP_INFO mapInfo, bool bUseSplitVector, int nBandSize) |
| Applying impurity potential. More... | |
This class for launching calculation module.
Definition at line 18 of file TBMS_Solver.h.
| CTBMS_Solver::CTBMS_Solver | ( | ) |
| CTBMS_Solver::~CTBMS_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 68 of file TBMS_Solver.cpp.
References CMatrixOperation::CCSR::BuildDataBuffer(), ERROR_MALLOC, NEIGHBOR_MAP_INFO::fItemCount, CGeometricShape::GetAtomStartID(), CGeometricShape::GetTotalAtomCount(), CMPIManager::InitCommunicationBufferMetric(), CMPIManager::LoadBlancing(), CCommandFileParser::INPUT_CMD_PARAM::nBandSize, CCommandFileParser::INPUT_CMD_PARAM::nMatrixDemension, CMatrixOperation::CCSR::SetColumnCount(), CMatrixOperation::CCSR::SetFirstRowIndex(), and CMatrixOperation::CCSR::SetRowCount().
Referenced by Launching_TBMS_Solver().


|
staticprivate |
Applying impurity potential.
| impurity_position | Impurity position with double buffer |
| matrix | Target matrix |
| mapInfo | Atom map information |
| nBandSize | Band size |
| bUseSplitVector | Operation in MPI environment or not |
Definition at line 394 of file TBMS_Solver.cpp.
References CMatrixOperation::CCSR::DiagonalOperation(), NEIGHBOR_MAP_INFO::fItemCount, CMPIManager::IsRootRank(), NEIGHBOR_MAP_INFO::pfX_Coordination, NEIGHBOR_MAP_INFO::pfY_Coordination, NEIGHBOR_MAP_INFO::pfZ_Coordination, CMatrixOperation::CCSR::PLUS, CMatrixOperation::CVector::SetAt(), CComplex::SetRealNumber(), CMatrixOperation::CVector::SetSize(), and CUtility::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 42 of file TBMS_Solver.cpp.
References CMPIManager::FinalizeManager(), FREE_MEM, CMatrixOperation::FreeCSR(), and CGeometricShape::FreeMapInfo().
Referenced by Launching_TBMS_Solver().


|
staticprivate |
Get Current time from system.
|
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
Definition at line 103 of file TBMS_Solver.cpp.
References AllocateCSR(), CMPIManager::AllReduceDouble(), CCommandFileParser::INPUT_CMD_PARAM::bCalculateEigenVectors, CCommandFileParser::INPUT_CMD_PARAM::bCalculateWaveFunction, CCommandFileParser::INPUT_CMD_PARAM::bConsiderBoundaryCondition, CCommandFileParser::INPUT_CMD_PARAM::bDoSelectiveReorthogonalization, CCommandFileParser::INPUT_CMD_PARAM::bSaveHamiltonian, CHamiltonianBuilder::BuildHamiltonian(), CGeometricShape::BuildNeighborInformation(), CALCULATION_SUCCESS, CAN_NOT_ALLOC_RANK, CAN_NOT_FIND_COMMAND_FILE, CAN_NOT_LOAD_METERIAL_PARAM, CLanczosMethod::CheckingCalculationCondition(), CGeometricShape::ConstructMapInfo(), CUBIC, CLanczosMethod::DoLanczosMethod(), CUtility::DumpCSR(), CGeometricShape::ExchangeAtomInfoBetweenNode(), CCommandFileParser::INPUT_CMD_PARAM::fConvergeceCriteria, CCommandFileParser::INPUT_CMD_PARAM::fevMax, CCommandFileParser::INPUT_CMD_PARAM::fevMin, CGeometricShape::FillUnitcell(), FinalEvn(), CHamiltonianBuilder::FinalizeMatrixBuffer(), CGeometricShape::FinalShape(), CCommandFileParser::INPUT_CMD_PARAM::fKPoints, FREE_MEM, CCommandFileParser::INPUT_CMD_PARAM::fShapeLength, CCommandFileParser::INPUT_CMD_PARAM::fUnitcellLength, CGeometricShape::GetAtomStartID(), CMPIManager::GetCurrentRank(), CUtility::GetKValues(), CMatrixOperation::CCSR::GetNoneZeroCount(), CGeometricShape::GetSurfaceAtomList(), CMPIManager::GetTotalNodeCount(), CMPIManager::InitMPIEnv(), CMPIManager::IsDeflationRoot(), CMPIManager::IsMultiLevelMPI(), CMPIManager::IsRootRank(), CCommandFileParser::INPUT_CMD_PARAM::load_in_MIC, CGeometricShape::m_nAtomFirstLayer, CGeometricShape::m_nAtomLastLayer, CMatrixOperation::CCSR::m_vectColumn, CMatrixOperation::CCSR::m_vectRow, CMatrixOperation::CCSR::m_vectValueImaginaryBuffer, CMatrixOperation::CCSR::m_vectValueRealBuffer, CLanczosMethod::MergeDegeneratedEigenvalues(), CCommandFileParser::INPUT_CMD_PARAM::nBandSize, CCommandFileParser::INPUT_CMD_PARAM::nCheckEigenvalueInterval, CMatrixOperation::CCSR::nComponentsFirstUnitCell, CMatrixOperation::CCSR::nComponentsLastUnitCell, CCommandFileParser::INPUT_CMD_PARAM::nDirectionSingle, NEED_TO_ADJUST_MPI_CONFIG, CCommandFileParser::INPUT_CMD_PARAM::nFindingDegeneratedEVCount, CCommandFileParser::INPUT_CMD_PARAM::nFindingEigenValueCount, CCommandFileParser::INPUT_CMD_PARAM::nLanczosIterationCount, CCommandFileParser::ParsingInputCommand(), CGeometricShape::PeriodicUnitCellNumbering(), phi_tid, CLanczosMethod::RecalcuWaveFunction(), CGeometricShape::RefillPeriodicBinding(), CLanczosMethod::ReleaseResult(), CLanczosMethod::SaveLanczosResult(), CGeometricShape::SetAtomAndNeighborInformation(), CLanczosMethod::SetLBIndex(), CGeometricShape::SetShapeInformation(), CUtility::SetShow(), SHOW_SIMPLE_MSG, CLanczosMethod::ShowLanczosResult(), CLanczosMethod::ShowLanczosWorkingTime(), CUtility::ShowMsg(), CLanczosMethod::SortSolution(), CCommandFileParser::INPUT_CMD_PARAM::szStructureType, CTimeMeasurement::TotalMeasurementEnd(), and CTimeMeasurement::TotalMeasurementStart().
Referenced by main().

