24 const Crystal& crystal_structure,
25 Real energy_cutoff_charge_density,
26 Real energy_cutoff_wavefunction,
27 bool use_measured_fft_planning =
true,
28 bool use_exact_wavefunction_grid =
false) {
29 Real two_pi_over_lattice_parameter_squared =
37 int grid_dimension_rho_1, grid_dimension_rho_2, grid_dimension_rho_3;
39 two_pi_over_lattice_parameter_squared,
52 fft_rho_->init(grid_dimension_rho_1,
55 use_measured_fft_planning);
74 Real wavefunction_grid_cutoff_factor = use_exact_wavefunction_grid ? 4.0 : 2.0;
75 Real smooth_cutoff = std::min(wavefunction_grid_cutoff_factor * energy_cutoff_wavefunction,
76 energy_cutoff_charge_density);
77 int grid_dimension_wave_1, grid_dimension_wave_2, grid_dimension_wave_3;
79 two_pi_over_lattice_parameter_squared,
82 grid_dimension_wave_1,
83 grid_dimension_wave_2,
84 grid_dimension_wave_3,
88 fft_wave_->init(grid_dimension_wave_1,
89 grid_dimension_wave_2,
90 grid_dimension_wave_3,
91 use_measured_fft_planning);
98 fft_wave_serial_ = std::make_unique<SerialFFTGrid>();
99 fft_wave_serial_->init(grid_dimension_wave_1,
100 grid_dimension_wave_2,
101 grid_dimension_wave_3,
102 use_measured_fft_planning);