|
Quantum 3xplorer (Q3)
An AI-native quantum simulation engine
|
#include "layer_0_core/profiling/counters.hpp"#include <chrono>#include <filesystem>#include <string>#include "io/addon_registration.hpp"#include "io/cli.hpp"#include "io/input/parser/factory.hpp"#include "io/logger.hpp"#include "io/output/companion_outputs.hpp"#include "layer_4_computation/flavors/factory.hpp"#include "utils/time.hpp"Go to the source code of this file.
Functions | |
| int | main (int argc, char *argv[]) |
| static void | report_resolved_input (const InputData &input) |
| int main | ( | int | argc, |
| char * | argv[] | ||
| ) |
Answered before the input is resolved. --version must work in a directory holding no input, where cli::read_input() fails.
Dispatch to the appropriate flavor (scf or non_self_consistent_field). Multi-step workflows (band_structure, dos, relaxation) are orchestrated by the Python layer, which chains these single-flavor runs.
Definition at line 67 of file main.cpp.
References q3::log::error(), q3::log::info(), q3::log::init(), q3::ProfilingCounters::instance(), q3::cli::parse_options(), q3::cli::print_footer(), q3::cli::print_header(), q3::cli::print_version(), q3::cli::read_input(), q3::addons::register_all(), report_resolved_input(), q3::run_flavor(), q3::log::set_level(), q3::write_companion_outputs(), and q3::write_results_json().
|
static |
Report what an input resolved to, for --check.
Deliberately says what the calculation is rather than echoing keys back: the failure this exists to catch is a deck being read as a different calculation than it describes, and the keys a user would have to compare by hand to see that are exactly these.
Definition at line 26 of file main.cpp.
References q3::InputData::atoms, q3::InputData::calculation, q3::InputData::charge_density_energy_cutoff, q3::InputData::disable_symmetry, q3::InputData::dispersion_correction, q3::InputData::exchange_correlation_functional, q3::InputData::hubbard, q3::InputData::hubbard_projector_type, q3::log::info(), q3::InputData::isolated_system_correction, q3::InputData::kpoint_grid_dimension_1, q3::InputData::kpoint_grid_dimension_2, q3::InputData::kpoint_grid_dimension_3, q3::InputData::kpoint_grid_shift_1, q3::InputData::kpoint_grid_shift_2, q3::InputData::kpoint_grid_shift_3, q3::InputData::kpoints_list, q3::InputData::number_of_spin_components, q3::InputData::species, and q3::InputData::wavefunction_energy_cutoff.
Referenced by main().