#include <ewald.hpp>
Public Member Functions | |
| EwaldStressTensorCalculator (const Crystal &crystal_structure, const PlanewaveBasis &planewave_basis, StressTensorContributions &result) | |
| void | compute () |
|
inline |
|
inline |
The image loop is sized for a separation in the home cell, and positions outside [0, 1) are legal input; see Crystal::home_cell_separation().
Definition at line 36 of file ewald.hpp.
References q3::Crystal::cell_volume(), q3::PlanewaveBasis::charge_density_energy_cutoff(), q3::compute_phase_factor_conjugate(), q3::Crystal::convert_from_crystal_to_cartesian(), q3::constants::electron_charge_squared_rydberg, q3::StressTensorContributions::ewald, q3::math::tolerances::ewald_convergence_threshold, q3::PlanewaveBasis::first_nonzero_g_index(), q3::PlanewaveBasis::g_vectors(), q3::Crystal::home_cell_separation(), q3::PlanewaveBasis::is_gamma_only(), q3::Crystal::lattice_parameter(), q3::Crystal::lattice_vectors(), q3::Vector3D::norm(), q3::Crystal::number_of_atoms(), q3::PlanewaveBasis::number_of_g_vectors(), q3::math::tolerances::numerical_zero_threshold, q3::constants::pi, q3::Crystal::species_type_index(), q3::constants::two_pi, q3::Crystal::two_pi_over_lattice_parameter_squared(), q3::Crystal::valence_charge(), and q3::math::tolerances::zero_vector_magnitude_threshold.
Referenced by q3::compute_stress().