1 #ifndef PARSERS_INPUTSCRIPTPARSER_HPP 2 #define PARSERS_INPUTSCRIPTPARSER_HPP 7 #include <nlohmann/json.hpp> 10 #include "../QuantumSystem.hpp" 11 #include "../QuantumSystem/Parameters.hpp" 12 #include "../QuantumSystem/Dimensions.hpp" 13 #include "../Solver.hpp" 38 for (
auto it : jsonMap.items())
40 json &val = it.value();
41 const std::string &key = it.key();
54 for (
auto it : solverOptions.items())
56 json &val = it.value();
57 const std::string &key = it.key();
74 case str2int(
"showEigenvalues"):
77 case str2int(
"showEigenvectors"):
94 static void Parse(std::string filename,
98 Parameters ¶meters = quantumSystem.
parameters;
99 Dimensions &dimensions = quantumSystem.
dimensions;
102 std::ifstream inputScriptFile{filename};
104 inputScriptFile >> inputScript;
107 auto &modelName = inputScript[
"model name"];
109 auto &matrixType = inputScript[
"matrix type"];
113 ParseMap(inputScript[
"parameters"], parameters.map);
114 ParseMap(inputScript[
"dimensions"], dimensions.map);
static bool showEigenvalues
show eigenvalues (flag)
Definition: Solver.hpp:37
Parameters parameters
Definition: QuantumSystem.hpp:15
nlohmann::json json
Definition: ConnectionsParser.hpp:5
static ParametersConnections Parse(json &jsonConnections, T ¶meters)
Parsing json object to ParametersConnetions.
Definition: ConnectionsParser.hpp:88
static size_t nov
number of eigenvectors
Definition: Solver.hpp:28
static size_t noe
number of eigenvalues
Definition: Solver.hpp:23
constexpr unsigned int str2int(const char *str, int h=0)
converting c_str() into constexpr int, which can be used in switch statement
Definition: Misc.hpp:19
static bool showEigenvectors
show eigenvectors (flag)
Definition: Solver.hpp:42
static std::string selectedMatrixType
Definition: ModelSelector.hpp:23
ParametersConnections parametersConnections
Definition: QuantumSystem.hpp:17
static void LogAccomplished(std::string text="... done")
LogComment with green color.
Definition: Basics.hpp:91
Dimensions dimensions
Definition: QuantumSystem.hpp:16
static double tol
tolerance for arma::eigs_sym procedure
Definition: Solver.hpp:19
static std::string selectedModel
Definition: ModelSelector.hpp:22
class containing all information about quantum system, which is needed for hamiltonian construction ...
Definition: QuantumSystem.hpp:12
static void LogBegining(std::string text)
LogComment with red color.
Definition: Basics.hpp:81
static std::string target
target part of the spectrum
Definition: Solver.hpp:32
static void Warning(std::string text, std::string note="")
Warning sent to std::cout.
Definition: Basics.hpp:102