|
Quantum 3xplorer (Q3)
An AI-native quantum simulation engine
|
#include <init.hpp>
Public Attributes | |
| std::vector< Real > | charge_metric_weights |
| int | first_nonzero_g_index = 0 |
| std::function< void(std::vector< Real > &)> | global_reduce |
| bool | is_gamma_only = false |
| Real | magnetization_metric_weight = 0.0 |
| int | number_of_smooth_g_vectors = 0 |
| std::shared_ptr< Preconditioner > | preconditioner |
| std::function< void(const std::vector< Complex > &, std::vector< Real > &)> | to_real_space |
| std::function< void(const std::vector< Real > &, std::vector< Complex > &)> | to_reciprocal_space |
Everything a mixer might need from the surrounding representation.
Real-space mixers ignore the reciprocal-space members; reciprocal-space mixers use the transforms and metric weights. Passing a single struct lets the iterator initialize any mixer without knowing its space.
| std::vector<Real> q3::MixerEnvironment::charge_metric_weights |
Definition at line 31 of file init.hpp.
Referenced by q3::ReciprocalSpaceMixer::initialize(), and q3::PlanewaveKohnShamSCFIterator::initiate_mixer().
| int q3::MixerEnvironment::first_nonzero_g_index = 0 |
Definition at line 39 of file init.hpp.
Referenced by q3::ReciprocalSpaceMixer::initialize(), and q3::PlanewaveKohnShamSCFIterator::initiate_mixer().
| std::function<void(std::vector<Real>&)> q3::MixerEnvironment::global_reduce |
Definition at line 42 of file init.hpp.
Referenced by q3::RealSpaceMixer::initialize(), and q3::PlanewaveKohnShamSCFIterator::initiate_mixer().
| bool q3::MixerEnvironment::is_gamma_only = false |
Definition at line 40 of file init.hpp.
Referenced by q3::ReciprocalSpaceMixer::initialize(), and q3::PlanewaveKohnShamSCFIterator::initiate_mixer().
| Real q3::MixerEnvironment::magnetization_metric_weight = 0.0 |
Definition at line 38 of file init.hpp.
Referenced by q3::ReciprocalSpaceMixer::initialize(), and q3::PlanewaveKohnShamSCFIterator::initiate_mixer().
| int q3::MixerEnvironment::number_of_smooth_g_vectors = 0 |
Definition at line 41 of file init.hpp.
Referenced by q3::ReciprocalSpaceMixer::initialize(), and q3::PlanewaveKohnShamSCFIterator::initiate_mixer().
| std::shared_ptr<Preconditioner> q3::MixerEnvironment::preconditioner |
Residual preconditioner, applied to the total-charge channel only. Never null: "no preconditioning" is a NoPreconditioner, not an absent pointer, so mixers call it unconditionally.
Definition at line 37 of file init.hpp.
Referenced by q3::ReciprocalSpaceMixer::initialize(), and q3::PlanewaveKohnShamSCFIterator::initiate_mixer().
| std::function<void(const std::vector<Complex>&, std::vector<Real>&)> q3::MixerEnvironment::to_real_space |
Definition at line 30 of file init.hpp.
Referenced by q3::ReciprocalSpaceMixer::initialize(), and q3::PlanewaveKohnShamSCFIterator::initiate_mixer().
| std::function<void(const std::vector<Real>&, std::vector<Complex>&)> q3::MixerEnvironment::to_reciprocal_space |
Definition at line 29 of file init.hpp.
Referenced by q3::ReciprocalSpaceMixer::initialize(), and q3::PlanewaveKohnShamSCFIterator::initiate_mixer().