Loading...
Searching...
No Matches
q3::VerificationFlavor Class Reference

#include <verification.hpp>

+ Inheritance diagram for q3::VerificationFlavor:

Protected Member Functions

generated::Results run_calculation (const InputData &input) override
 

Additional Inherited Members

- Public Member Functions inherited from q3::Flavor
virtual ~Flavor ()=default
 
generated::Results run (const InputData &input)
 

Detailed Description

Definition at line 61 of file verification.hpp.

Member Function Documentation

◆ run_calculation()

generated::Results q3::VerificationFlavor::run_calculation ( const InputData &  input)
inlineoverrideprotectedvirtual

Execute the calculation described by the input and return results.

Implementations must be self-contained: they set up, run, and finalize the calculation entirely. The caller receives fully-populated results, minus what run() adds.

─── Step 1: Check the input before touching the disk ──────────────── The budget is whatever the input asks for, not a number chosen here. A few iterations are enough to show drift and a verifier paying for the compute is the one entitled to decide how many; a cap applied in the engine would quietly overrule an input that meant what it said. What is refused is a budget that could not answer the question.

─── Step 3: Build the iterator with the exit disabled ─────────────── A threshold of zero can never be met – is_iteration_converged() is density_residual_ < convergence_threshold_ – so the loop runs the full budget whatever the density turns out to be.

The run deliberately never satisfies its (zeroed) convergence test, so the iterator's own verdict says nothing here. What the flavor produced is a complete trajectory, and that is what "converged" reports – the caller decides whether the trajectory is flat enough.

Implements q3::Flavor.

Definition at line 63 of file verification.hpp.

References q3::KohnShamQuantumSystemSnapshot::charge_density_real, q3::InputData::convergence_threshold, q3::create_iterator(), q3::log::info(), q3::Q3PlanewaveKohnShamQuantumSystemCheckpoint::load(), q3::InputData::maximum_iterations, q3::new_results(), q3::InputData::output_directory, q3::InputData::prefix, q3::set_energy_records(), q3::set_fermi_energy(), and q3::set_record().


The documentation for this class was generated from the following file: