Quantum 3xplorer (Q3)
An AI-native quantum simulation engine
Loading...
Searching...
No Matches
q3::qe_input Namespace Reference

Functions

const std::map< std::string, std::set< std::string > > & honoured_keys_by_namelist ()
 
const std::map< std::string, std::string > & keys_inert_at_default ()
 
const std::set< std::string > & physics_neutral_keys ()
 
const std::map< std::string, std::string > & unimplemented_keys ()
 
const std::map< std::string, std::string > & unused_ionic_step_keys ()
 

Function Documentation

◆ honoured_keys_by_namelist()

const std::map< std::string, std::set< std::string > > & q3::qe_input::honoured_keys_by_namelist ( )
inline

Keys this parser reads, by namelist.

This is the one table that has to be kept in step with the dispatch below by hand. Drift is self-announcing in the safe direction: forgetting to list a newly handled key makes the parser refuse an input it can actually run, which fails loudly on the next test run rather than producing a wrong number.

Definition at line 248 of file qe.hpp.

Referenced by q3::QEInputParser::parse().

◆ keys_inert_at_default()

const std::map< std::string, std::string > & q3::qe_input::keys_inert_at_default ( )
inline

Keys whose QE default switches the feature off, and the value that means off.

Real inputs state defaults explicitly all the time, and noinv = .false. is a request for exactly what Q3 already does — refusing it would be a false refusal. .false. is compared as a Fortran logical (.F., F and false all count); any other token is compared literally.

Definition at line 208 of file qe.hpp.

◆ physics_neutral_keys()

const std::set< std::string > & q3::qe_input::physics_neutral_keys ( )
inline

Keys that steer output, restart or parallel layout and cannot move a converged result. Accepted with a note.

nstep sits here for the SCF path only — the relax path picks it up as relax_maximum_steps, so it is honoured where it means something and inert where it does not.

Definition at line 53 of file qe.hpp.

◆ unimplemented_keys()

const std::map< std::string, std::string > & q3::qe_input::unimplemented_keys ( )
inline

Keys Q3 recognizes but does not implement, each with the reason. The reason is the point: it tells the user whether to wait for a feature or change the input.

Definition at line 83 of file qe.hpp.

◆ unused_ionic_step_keys()

const std::map< std::string, std::string > & q3::qe_input::unused_ionic_step_keys ( )
inline

pw.x's ionic-step settings that Q3 does not use, each with what Q3 does instead.

A relaxation runs as one SCF per geometry, driven by q3.workflows with ASE's BFGS. These steer pw.x's own optimizer and extrapolation – the path to the minimum, never the minimum itself – so a deck carrying them is read, and the log says each one is not used and why.

Definition at line 186 of file qe.hpp.