#include <quantum_system.hpp>
Inheritance diagram for q3::QuantumSystem< QuantumStateType >:Public Member Functions | |
| virtual | ~QuantumSystem ()=default |
| virtual void | copy_quantum_states_from (const QuantumSystem< QuantumStateType > &source) |
| QuantumStateType & | get_quantum_state_by_index (int index) |
| const QuantumStateType & | get_quantum_state_by_index (int index) const |
| Access a quantum state by flat index. | |
| void | load_quantum_system (const QuantumSystem< QuantumStateType > &system) |
| int | number_of_quantum_states () const |
| Number of quantum states in the system. | |
Public Attributes | |
| Crystal * | crystal_structure {nullptr} |
| const QuantumSystem< QuantumStateType > * | preloaded_quantum_system_ {nullptr} |
Protected Attributes | |
| std::vector< QuantumStateType > | quantum_states_ |
A quantum system containing a collection of quantum states defined on a crystal structure.
Templated on the state type, which itself is templated on the wavefunction representation. This base class owns the crystal pointer, the state storage, and provides basic accessors.
Definition at line 35 of file quantum_system.hpp.
|
virtualdefault |
|
inlinevirtual |
Copy all electronic state data from another QuantumSystem.
Definition at line 53 of file quantum_system.hpp.
References q3::QuantumSystem< QuantumStateType >::crystal_structure, and q3::QuantumSystem< QuantumStateType >::quantum_states_.
Referenced by q3::PlanewaveKohnShamQuantumSystem::copy_quantum_states_from().
|
inline |
Definition at line 67 of file quantum_system.hpp.
References q3::QuantumSystem< QuantumStateType >::quantum_states_.
|
inline |
Access a quantum state by flat index.
Definition at line 64 of file quantum_system.hpp.
References q3::QuantumSystem< QuantumStateType >::quantum_states_.
|
inline |
Set the preloaded quantum system pointer.
Definition at line 46 of file quantum_system.hpp.
References q3::QuantumSystem< QuantumStateType >::preloaded_quantum_system_.
Referenced by q3::PlanewaveKohnShamSCFIterator::initialize_representation(), and q3::PlanewaveKohnShamSCFIterator::load_quantum_system().
|
inline |
Number of quantum states in the system.
Definition at line 59 of file quantum_system.hpp.
References q3::QuantumSystem< QuantumStateType >::quantum_states_.
| Crystal* q3::QuantumSystem< QuantumStateType >::crystal_structure {nullptr} |
Definition at line 39 of file quantum_system.hpp.
Referenced by q3::QuantumSystem< QuantumStateType >::copy_quantum_states_from(), q3::NormConservingPlanewaveKohnShamQuantumSystem::init(), and q3::UltrasoftPlanewaveKohnShamQuantumSystem::init().
| const QuantumSystem<QuantumStateType>* q3::QuantumSystem< QuantumStateType >::preloaded_quantum_system_ {nullptr} |
Definition at line 41 of file quantum_system.hpp.
Referenced by q3::PlanewaveKohnShamSCFIterator::initialize_representation(), q3::PlanewavePseudopotentialKohnShamSCFIterator::initialize_single_particle_states(), q3::QuantumSystem< QuantumStateType >::load_quantum_system(), and q3::PlanewaveKohnShamSCFIterator::preload_single_particle_states().
|
protected |
Definition at line 72 of file quantum_system.hpp.
Referenced by q3::PlanewaveKohnShamQuantumSystem::allocate_electronic_states(), q3::QuantumSystem< QuantumStateType >::copy_quantum_states_from(), q3::PlanewaveKohnShamQuantumSystem::eigenvalue(), q3::PlanewaveKohnShamQuantumSystem::eigenvalues_matrix(), q3::QuantumSystem< QuantumStateType >::get_quantum_state_by_index(), q3::QuantumSystem< QuantumStateType >::get_quantum_state_by_index(), q3::PlanewaveKohnShamQuantumSystem::number_of_plane_waves_for_kpoint_state(), q3::QuantumSystem< QuantumStateType >::number_of_quantum_states(), q3::PlanewaveKohnShamQuantumSystem::occupation_by_kpoint_state_index_and_band_index(), q3::PlanewaveKohnShamQuantumSystem::quantum_state(), q3::PlanewaveKohnShamQuantumSystem::quantum_state(), q3::PlanewaveKohnShamQuantumSystem::set_eigenvalue(), q3::PlanewaveKohnShamQuantumSystem::set_eigenvalues_from_matrix(), q3::PlanewaveKohnShamQuantumSystem::set_occupation(), q3::PlanewaveKohnShamQuantumSystem::wavefunction(), q3::PlanewaveKohnShamQuantumSystem::wavefunction_band_data(), and q3::PlanewaveKohnShamQuantumSystem::wavefunction_band_data().