Loading...
Searching...
No Matches
q3::KohnShamSCFIteratorConfig Struct Reference

#include <init.hpp>

+ Inheritance diagram for q3::KohnShamSCFIteratorConfig:

Public Attributes

std::vector< Real > atomic_starting_magnetization
 
std::vector< std::pair< std::string, Vector3D > > band_path
 
int band_path_points_per_segment = 20
 
std::string basis_type = "planewave"
 
std::string calculation = "self_consistent_field"
 
Real charge_density_energy_cutoff = 0.0
 
int davidson_basis_expansion_factor = 2
 
std::string diagonalization_method = "davidson"
 
bool disable_symmetry = false
 
std::string dispersion_correction = "none"
 
std::string exchange_correlation_functional = "pz"
 
const execution::ExecutionPolicy * execution_policy = nullptr
 
std::vector< HubbardSpecification > hubbard
 
int hubbard_fixed_occupation_iterations = 0
 Iterations for which the seeded occupation matrix is held; 0 = first iteration only.
 
std::string hubbard_projector_type = "atomic"
 
std::vector< HubbardStartingEigenvalue > hubbard_starting_eigenvalues
 First-iteration occupation-eigenvalue overrides; empty = no seeding.
 
const KPointsGrid * kpoint_grid = nullptr
 
int methfessel_paxton_order = 1
 
Real mixing_beta = 0.7
 
int mixing_history_size = 8
 
std::string mixing_mode = "broyden"
 
std::string mixing_preconditioning = "default"
 
Real mixing_q0 = 1.0
 
std::string nonlocal_stress_derivative_method = "analytical"
 
int number_of_bands = 0
 
const PseudopotentialSet * pseudopotential_set = nullptr
 
std::string representation_type = "pseudopotential"
 
std::string smearing = "none"
 
Real smearing_width = 0.0
 
std::vector< Real > starting_magnetization
 
Real total_charge = 0.0
 
bool use_deterministic_fft_planning = false
 
bool use_exact_wavefunction_grid = false
 
Real wavefunction_energy_cutoff = 30.0
 
- Public Attributes inherited from q3::SCFIteratorConfig
Real convergence_threshold = 1e-6
 
Crystal * crystal_structure = nullptr
 
int maximum_iterations = 100
 
int number_of_spin_components = 1
 

Detailed Description

Definition at line 40 of file init.hpp.

Member Data Documentation

◆ atomic_starting_magnetization

std::vector<Real> q3::KohnShamSCFIteratorConfig::atomic_starting_magnetization

Initial magnetization per atom (parallel to the crystal's atoms, values in [-1, 1]); empty = unset. When set it takes precedence over the per-species starting_magnetization.

Definition at line 104 of file init.hpp.

Referenced by q3::create_kohn_sham_iterator(), q3::PlanewavePseudopotentialKohnShamSCFIterator::initialize_representation(), and q3::bindings::SCFSolver::solve().

◆ band_path

std::vector<std::pair<std::string, Vector3D> > q3::KohnShamSCFIteratorConfig::band_path

◆ band_path_points_per_segment

int q3::KohnShamSCFIteratorConfig::band_path_points_per_segment = 20

◆ basis_type

std::string q3::KohnShamSCFIteratorConfig::basis_type = "planewave"

Definition at line 110 of file init.hpp.

Referenced by q3::create_kohn_sham_iterator_from_config().

◆ calculation

std::string q3::KohnShamSCFIteratorConfig::calculation = "self_consistent_field"

◆ charge_density_energy_cutoff

Real q3::KohnShamSCFIteratorConfig::charge_density_energy_cutoff = 0.0

◆ davidson_basis_expansion_factor

int q3::KohnShamSCFIteratorConfig::davidson_basis_expansion_factor = 2

◆ diagonalization_method

std::string q3::KohnShamSCFIteratorConfig::diagonalization_method = "davidson"

◆ disable_symmetry

bool q3::KohnShamSCFIteratorConfig::disable_symmetry = false

true = use no symmetry at all. The k-point mesh is left unreduced by build_global_kpoint_grid_from_input, and the iterator then leaves the density unsymmetrized too, so a full-zone run is the raw-mesh answer (QE's nosym + noinv) rather than the symmetrized-mesh one. See InputData::disable_symmetry.

Definition at line 89 of file init.hpp.

Referenced by q3::create_kohn_sham_iterator(), and q3::PlanewaveKohnShamSCFIterator::initialize_representation().

◆ dispersion_correction

std::string q3::KohnShamSCFIteratorConfig::dispersion_correction = "none"

Definition at line 51 of file init.hpp.

Referenced by q3::create_kohn_sham_iterator().

◆ exchange_correlation_functional

std::string q3::KohnShamSCFIteratorConfig::exchange_correlation_functional = "pz"

Definition at line 42 of file init.hpp.

Referenced by q3::create_kohn_sham_iterator(), and q3::bindings::SCFSolver::solve().

◆ execution_policy

const execution::ExecutionPolicy* q3::KohnShamSCFIteratorConfig::execution_policy = nullptr

=== Parallelism (optional) === null means serial; set to an active PlanewaveExecutionPolicy for pool-based k-point parallelism.

Definition at line 118 of file init.hpp.

Referenced by q3::PlanewaveKohnShamSCFIterator::PlanewaveKohnShamSCFIterator(), and q3::create_kohn_sham_iterator().

◆ hubbard

std::vector<HubbardSpecification> q3::KohnShamSCFIteratorConfig::hubbard

Definition at line 53 of file init.hpp.

Referenced by q3::create_kohn_sham_iterator().

◆ hubbard_fixed_occupation_iterations

int q3::KohnShamSCFIteratorConfig::hubbard_fixed_occupation_iterations = 0

Iterations for which the seeded occupation matrix is held; 0 = first iteration only.

Definition at line 57 of file init.hpp.

Referenced by q3::create_kohn_sham_iterator().

◆ hubbard_projector_type

std::string q3::KohnShamSCFIteratorConfig::hubbard_projector_type = "atomic"

"atomic" (raw pseudo-atomic orbitals) or "ortho-atomic" (Lowdin-orthogonalized over the full system-wide orbital set) – see InputData::hubbard_projector_type.

Definition at line 62 of file init.hpp.

Referenced by q3::create_kohn_sham_iterator(), and q3::PlanewavePseudopotentialKohnShamSCFIterator::result().

◆ hubbard_starting_eigenvalues

std::vector<HubbardStartingEigenvalue> q3::KohnShamSCFIteratorConfig::hubbard_starting_eigenvalues

First-iteration occupation-eigenvalue overrides; empty = no seeding.

Definition at line 55 of file init.hpp.

Referenced by q3::create_kohn_sham_iterator(), and q3::PlanewavePseudopotentialKohnShamSCFIterator::setup_hubbard().

◆ kpoint_grid

const KPointsGrid* q3::KohnShamSCFIteratorConfig::kpoint_grid = nullptr

◆ methfessel_paxton_order

int q3::KohnShamSCFIteratorConfig::methfessel_paxton_order = 1

Definition at line 50 of file init.hpp.

Referenced by q3::create_kohn_sham_iterator(), and q3::bindings::SCFSolver::solve().

◆ mixing_beta

Real q3::KohnShamSCFIteratorConfig::mixing_beta = 0.7

Definition at line 44 of file init.hpp.

Referenced by q3::create_kohn_sham_iterator(), and q3::bindings::SCFSolver::solve().

◆ mixing_history_size

int q3::KohnShamSCFIteratorConfig::mixing_history_size = 8

Definition at line 45 of file init.hpp.

Referenced by q3::create_kohn_sham_iterator(), and q3::bindings::SCFSolver::solve().

◆ mixing_mode

std::string q3::KohnShamSCFIteratorConfig::mixing_mode = "broyden"

Definition at line 43 of file init.hpp.

Referenced by q3::create_kohn_sham_iterator(), and q3::bindings::SCFSolver::solve().

◆ mixing_preconditioning

std::string q3::KohnShamSCFIteratorConfig::mixing_preconditioning = "default"

Definition at line 46 of file init.hpp.

Referenced by q3::create_kohn_sham_iterator(), and q3::bindings::SCFSolver::solve().

◆ mixing_q0

Real q3::KohnShamSCFIteratorConfig::mixing_q0 = 1.0

Definition at line 47 of file init.hpp.

Referenced by q3::create_kohn_sham_iterator(), and q3::bindings::SCFSolver::solve().

◆ nonlocal_stress_derivative_method

std::string q3::KohnShamSCFIteratorConfig::nonlocal_stress_derivative_method = "analytical"

Definition at line 107 of file init.hpp.

Referenced by q3::create_kohn_sham_iterator(), and q3::bindings::SCFSolver::solve().

◆ number_of_bands

int q3::KohnShamSCFIteratorConfig::number_of_bands = 0

◆ pseudopotential_set

const PseudopotentialSet* q3::KohnShamSCFIteratorConfig::pseudopotential_set = nullptr

◆ representation_type

std::string q3::KohnShamSCFIteratorConfig::representation_type = "pseudopotential"

Definition at line 111 of file init.hpp.

Referenced by q3::create_kohn_sham_iterator_from_config().

◆ smearing

std::string q3::KohnShamSCFIteratorConfig::smearing = "none"

Definition at line 48 of file init.hpp.

Referenced by q3::create_kohn_sham_iterator(), and q3::bindings::SCFSolver::solve().

◆ smearing_width

Real q3::KohnShamSCFIteratorConfig::smearing_width = 0.0

Definition at line 49 of file init.hpp.

Referenced by q3::create_kohn_sham_iterator(), and q3::bindings::SCFSolver::solve().

◆ starting_magnetization

std::vector<Real> q3::KohnShamSCFIteratorConfig::starting_magnetization

Initial magnetization per species (parallel to the crystal's species list, values in [-1, 1]; may be shorter — missing entries mean 0; empty = unset).

Definition at line 98 of file init.hpp.

Referenced by q3::create_kohn_sham_iterator(), q3::PlanewavePseudopotentialKohnShamSCFIterator::initialize_representation(), and q3::bindings::SCFSolver::solve().

◆ total_charge

Real q3::KohnShamSCFIteratorConfig::total_charge = 0.0

◆ use_deterministic_fft_planning

bool q3::KohnShamSCFIteratorConfig::use_deterministic_fft_planning = false

false (default) = FFTW_MEASURE (fastest, but per-process-timed and so not bit-reproducible run to run); true = FFTW_ESTIMATE (deterministic). See InputData::use_deterministic_fft_planning and TODOs.md §2.3.

Definition at line 76 of file init.hpp.

Referenced by q3::PlanewaveKohnShamSCFIterator::build_kpoint_plane_wave_data(), q3::create_kohn_sham_iterator(), and q3::PlanewaveKohnShamSCFIterator::initialize_representation().

◆ use_exact_wavefunction_grid

bool q3::KohnShamSCFIteratorConfig::use_exact_wavefunction_grid = false

false (default) = the faster, approximate 2 x ecutwfc wavefunction FFT grid; true = the exact grid (4 x ecutwfc, as pw.x sizes it). See InputData::use_exact_wavefunction_grid.

Definition at line 82 of file init.hpp.

Referenced by q3::PlanewaveKohnShamSCFIterator::build_kpoint_plane_wave_data(), q3::create_kohn_sham_iterator(), and q3::PlanewaveKohnShamSCFIterator::initialize_representation().

◆ wavefunction_energy_cutoff

Real q3::KohnShamSCFIteratorConfig::wavefunction_energy_cutoff = 30.0

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