PoissonSolver
PoissonSolver
Section Hamiltonian::Poisson
Type integer
Defines which method to use to solve the Poisson equation. Some incompatibilities apply depending on
dimensionality, periodicity, etc.
For a comparison of the accuracy and performance of the methods in Octopus, see P Garcia-RisueƱo,
J Alberdi-Rodriguez et al., J. Comp. Chem. 35, 427-444 (2014)
or arXiV.
Defaults:
1D and 2D: fft.
3D: cg_corrected if curvilinear, isf if not periodic, fft if periodic.
Dressed orbitals: direct_sum.
Options:
- NoPoisson:
Do not use a Poisson solver at all.
- FMM:
(Experimental) Fast multipole method. Requires FMM library.
- direct_sum:
Direct evaluation of the Hartree potential (only for finite systems).
- fft:
The Poisson equation is solved using FFTs. A cutoff technique
for the Poisson kernel is selected so the proper boundary
conditions are imposed according to the periodicity of the
system. This can be overridden by the PoissonFFTKernel
variable. To choose the FFT library use FFTLibrary
- cg:
Conjugate gradients (only for finite systems).
- cg_corrected:
Conjugate gradients, corrected for boundary conditions (only for finite systems).
- multigrid:
Multigrid method (only for finite systems).
- isf:
Interpolating Scaling Functions Poisson solver (only for finite systems).
- psolver:
Solver based on Interpolating Scaling Functions as implemented in the PSolver library.
Parallelization in k-points requires PoissonSolverPSolverParallelData = no.
Requires the PSolver external library.
Source information
poisson/poisson.F90 : 292
call parse_variable(namespace, 'PoissonSolver', default_solver, this%method)
Featured in tutorials
Featured in testfiles
- components/04-hartree_3d_cg.01-cg_corrected.inp
- components/05-hartree_3d_fft.01-fft.inp
- components/05-hartree_3d_fft.02-fft_corrected.inp
- components/05-hartree_3d_fft.03-3d_1d_periodic.inp
- components/05-hartree_3d_fft.04-3d_3d_periodic.inp
- components/05-hartree_3d_fft.05-3d_2d_periodic.inp
- components/06-hartree_3d_isf.01-isf.inp
- components/10-hartree_pfft.01-fft.inp
- components/10-hartree_pfft.02-fft_corrected.inp
- components/10-hartree_pfft.03-3d_1d_periodic.inp
- components/10-hartree_pfft.04-3d_3d_periodic.inp
- components/10-hartree_pfft.05-3d_2d_periodic.inp
- components/10-hartree_pfft.06-fft-parstates.inp
- components/11-hartree_cl.01-fft.inp
- components/12-hartree_direct_3d.01.inp
- components/13-hartree_3d_mg.01-multigrid.inp
- components/16-hartree_3d_psolver.01-psolver.inp
- components/16-hartree_3d_psolver.02-psolver.inp
- components/23-exponential_apply.01-jellium.inp
- components/25-subspace.01-jellium.inp
- components/35-helmholtz_decom.01-large_box_no_surf_corr.inp
- components/35-helmholtz_decom.02-small_box_no_surf_corr.inp
- components/35-helmholtz_decom.03-parallelepiped_small_box_with_surf_corr.inp
- components/35-helmholtz_decom.04-cylinder_small_box_with_surf_corr.inp
- components/35-helmholtz_decom.05-sphere_small_box_with_surf_corr.inp
- components/36-maxwell_vector_potential.inp
- finite_systems_1d/03-He-Hartree-Fock.01-gs.inp
- finite_systems_2d/01-quadratic_box.02-hartree.inp
- finite_systems_2d/01-quadratic_box.03-hartree+xc.inp
- finite_systems_2d/01-quadratic_box.04-spin_polarized.inp
- finite_systems_3d/01-carbon_atom.01-psf_l0.inp
- finite_systems_3d/01-carbon_atom.02-psf_l1.inp
- finite_systems_3d/01-carbon_atom.03-static_field.inp
- finite_systems_3d/01-carbon_atom.04-smear.inp
- finite_systems_3d/02-curvilinear_coordinates.01-gygi.inp
- finite_systems_3d/03-magnetic.01-gs-unpolarized.inp
- finite_systems_3d/03-magnetic.02-td-unpolarized.inp
- finite_systems_3d/03-magnetic.05-gs-spinors.inp
- finite_systems_3d/03-magnetic.06-td-spinors.inp
- finite_systems_3d/05-output.02-gs.inp
- finite_systems_3d/05-output.03-convert.inp
- finite_systems_3d/05-output.04-convert-op.inp
- finite_systems_3d/07-spin_orbit_coupling.01-hgh.inp
- finite_systems_3d/08-spin_orbit_coupling_full.01-hgh.inp
- finite_systems_3d/09-spinors.01-ground_state.inp
- finite_systems_3d/09-spinors.02-rmmdiis.inp
- finite_systems_3d/09-spinors.03-rmmdiis_extra_states.inp
- finite_systems_3d/10-fullerene.01-gs.inp
- finite_systems_3d/12-forces.01-N2_gs.inp
- finite_systems_3d/12-forces.02-N2_gs.inp
- finite_systems_3d/12-forces.03-N2_gs.inp
- finite_systems_3d/13-full_potential_hydrogen.01-gs.inp
- finite_systems_3d/13-full_potential_hydrogen.02-gs-cg.inp
- finite_systems_3d/14-fullerene_unpacked.01-gs.inp
- finite_systems_3d/14-fullerene_unpacked.02-td-unpacked.inp
- finite_systems_3d/14-fullerene_unpacked.03-td-packed.inp
- finite_systems_3d/15-fullerene_stdlcao.01-gs.inp
- finite_systems_3d/16-scfinlcao_std.01-gs.inp
- finite_systems_3d/18-preconditioner_poisson.01-poisson.inp
- finite_systems_3d/20-eigensolver.01-cg.inp
- finite_systems_3d/05-output.01-gs-set1.inp
- finite_systems_3d/20-eigensolver.03-plan.inp
- finite_systems_3d/20-eigensolver.04-evolution.inp
- finite_systems_3d/20-eigensolver.05-rmmdiis.inp
- finite_systems_3d/20-eigensolver.06-rmmdiis-noscalapack.inp
- finite_systems_3d/22-preconditioner.01-none.inp
- finite_systems_3d/22-preconditioner.02-filter.inp
- finite_systems_3d/22-preconditioner.03-jacobi.inp
- finite_systems_3d/22-preconditioner.04-multigrid.inp
- finite_systems_3d/22-preconditioner.05-multigrid_rmmdiis.inp
- finite_systems_3d/23-go-na2.01-steep.inp
- finite_systems_3d/23-go-na2.02-simplex.inp
- finite_systems_3d/23-go-na2.03-fire.inp
- finite_systems_3d/23-go-na2.04-fire_restart.inp
- finite_systems_3d/23-go-na2.05-constrains.inp
- finite_systems_3d/24-o2-spin.01-gs.inp
- finite_systems_3d/28-carbon_big_box.01-ground_state.inp
- finite_systems_3d/29-pcm_chlorine_anion.01-ground_state-n60.inp
- finite_systems_3d/29-pcm_chlorine_anion.02-td_prop-n60.inp
- finite_systems_3d/29-pcm_chlorine_anion.03-ground_state-n60-poisson.inp
- finite_systems_3d/29-pcm_chlorine_anion.04-ground_state-n240.inp
- finite_systems_3d/30-local_multipoles.01-gs.inp
- finite_systems_3d/30-local_multipoles.02-multipoles.inp
- finite_systems_3d/30-local_multipoles.03-multipoles_restart.inp
- finite_systems_3d/32-tdpcm_methane.01-ground_state.inp
- finite_systems_3d/32-tdpcm_methane.02-td_prop_neq.inp
- finite_systems_3d/32-tdpcm_methane.03-td_prop_eom.inp
- finite_systems_3d/34-walltime.01-gs_walltime.inp
- finite_systems_3d/34-walltime.02-restart_gs.inp
- finite_systems_3d/34-walltime.03-td_walltime.inp
- finite_systems_3d/34-walltime.04-restart_td.inp
- finite_systems_3d/38-carbon_atom_cgal_box.01-gs.inp
- finite_systems_3d/20-eigensolver.07-chebyshev.inp
- finite_systems_3d/33-cg.01-orthogonalize_all.inp
- finite_systems_3d/33-cg.02-additional_terms.inp
- finite_systems_3d/33-cg.03-cg_direction.inp
- finite_systems_3d/35-slater_x.01-gs.inp
- finite_systems_3d/35-slater_x.02-gs_spinors.inp
- finite_systems_3d/36-kli_x.01-gs.inp
- finite_systems_3d/36-kli_x.02-gs_spinors.inp
- finite_systems_3d/37-sternheimer_polarized.01-gs.inp
- finite_systems_3d/37-sternheimer_polarized.02-em_resp.inp
- finite_systems_3d/39-adsic.01-unpolarized.inp
- finite_systems_3d/39-adsic.02-polarized.inp
- finite_systems_3d/40-evo.01-par_domains.inp
- finite_systems_3d/40-evo.02-par_states.inp
- functionals/03-xc.fbex.inp
- functionals/08-vdw_ts.01-gs.inp
- functionals/09-vdw_ts_sc.01-gs.inp
- functionals/11-vdw_d3.01-gs.inp
- functionals/13-libvdwxc_h2o.01-vdwdfcx.inp
- functionals/18-mgga.01-br89.inp
- functionals/18-mgga.02-br89_oep.inp
- functionals/21-qedft-breit-3d.01-pxlda-hydrogen.inp
- functionals/21-qedft-breit-3d.02-pxlda-helium.inp
- functionals/22-xc_lrx.inp
- lda_u/11-full_delta.01-gs.inp
- lda_u/04-ACBN0_isolated.01-H_unpacked.inp
- lda_u/04-ACBN0_isolated.02-H_packed.inp
- lda_u/05-forces.01-Na2.inp
- lda_u/05-forces.02-Na2_go.inp
- lda_u/05-forces.03-Na2_go_ACBN0.inp
- lda_u/10-intersite.01-Na2.inp
- linear_response/01-casida.01-gs.inp
- linear_response/01-casida.02-vib_modes.inp
- linear_response/01-casida.03-unocc.inp
- linear_response/01-casida.04-unocc_restart.inp
- linear_response/01-casida.05-casida.inp
- linear_response/01-casida.06-casida_scalapack.inp
- linear_response/01-casida.07-casida_elpa.inp
- linear_response/01-casida.08-casida_restart.inp
- linear_response/01-casida.09-spectrum.inp
- linear_response/02-h2o_pol_lr.01_h2o_gs.inp
- linear_response/02-h2o_pol_lr.02_h2o_dyn_pol.inp
- linear_response/02-h2o_pol_lr.03_h2o_dyn_pol_cmplx.inp
- linear_response/02-h2o_pol_lr.04_h2o_susc.inp
- linear_response/02-h2o_pol_lr.05_h2o_magn_opt.inp
- linear_response/03-vdw_sternheimer.01-ground_state.inp
- linear_response/03-vdw_sternheimer.02-vdw.inp
- linear_response/04-vib_modes.01-ground_state.inp
- linear_response/04-vib_modes.02-vib_modes.inp
- linear_response/04-vib_modes.03-vib_modes_restart.inp
- linear_response/06-vib_modes_fd.01-ground_state.inp
- linear_response/06-vib_modes_fd.01-vib_modes_fd.inp
- linear_response/07-casida-photons.01-gs.inp
- linear_response/07-casida-photons.02-photons.inp
- linear_response/07-casida-photons.03-scalapack.inp
- linear_response/07-casida-photons.04-elpa.inp
- linear_response/07-casida-photons.05-elpa-parother.inp
- linear_response/07-casida-photons.06-spectrum.inp
- maxwell/12-tddft-currents-to-maxwell.01-benzene-gs.inp
- maxwell/12-tddft-currents-to-maxwell.02-benzene-mxll-td-length-gauge.inp
- maxwell/12-tddft-currents-to-maxwell.03-benzene-mxll-td-veloc-gauge.inp
- maxwell/12-tddft-currents-to-maxwell.04-benzene-mxll-td-full-min-coup.inp
- maxwell/12-tddft-currents-to-maxwell.05-benzene-extsource-td-veloc-gauge.inp
- maxwell/12-tddft-currents-to-maxwell.06-benzene-dipole-and-quadrupole.inp
- maxwell/13-extsource-bessel.01-carbon-gs.inp
- maxwell/13-extsource-bessel.02-carbon-td.inp
- maxwell/13-extsource-bessel.03-enveloped-shifted-bessel.inp
- multisystem/12-electronic_subsystem_propagators.01-gs.inp
- multisystem/12-electronic_subsystem_propagators.02-expmid.inp
- multisystem/12-electronic_subsystem_propagators.03-aetrs.inp
- multisystem/15-electronic_system_restart.01-gs.inp
- multisystem/15-electronic_system_restart.02-td_full.inp
- multisystem/15-electronic_system_restart.03-td_restart_part1.inp
- multisystem/15-electronic_system_restart.04-td_restart_part2.inp
- multisystem/16-bomd.01-gs.inp
- multisystem/16-bomd.02-td.inp
- pseudopotentials/01-sg15-h.01-gs.inp
- pseudopotentials/02-cu2_hgh.01_gs.inp
- pseudopotentials/02-cu2_hgh.02_gs_current.inp
- pseudopotentials/03-nlcc.01-Fatom.inp
- pseudopotentials/04-carbon_dojo_psml.01-gs.inp
- pseudopotentials/07-carbon_dojo_lda.01-gs.inp
- pseudopotentials/08-carbon_fhi.01-gs.inp
- pseudopotentials/09-carbon_cpi.01-gs.inp
- pseudopotentials/10-helium_upf.01-gs_nofilter.inp
- pseudopotentials/10-helium_upf.02-gs_filter_ts.inp
- pseudopotentials/10-helium_upf.03-gs_filter_bsb.inp
- pseudopotentials/12-mix_and_match.01-mgo.inp
- pseudopotentials/13-U235.01-gs.inp
- pseudopotentials/14-carbon_dojo_psp8.01-gs.inp
- pseudopotentials/06-carbon_dojo_pbe.01-gs.inp
- pseudopotentials/16-platinum_psp8.01-gs.inp
- real_time/01-propagators.01-gs.inp
- real_time/01-propagators.02-expmid.inp
- real_time/01-propagators.03-etrs_taylor.inp
- real_time/01-propagators.04-etrs_lanczos.inp
- real_time/01-propagators.05-etrs_chebyshev.inp
- real_time/01-propagators.06-aetrs.inp
- real_time/01-propagators.07-caetrs.inp
- real_time/01-propagators.08-cn.inp
- real_time/01-propagators.09-magnus.inp
- real_time/01-propagators.10-exprk4.inp
- real_time/01-propagators.11-cfmagnus4.inp
- real_time/02-propagators.01-gs.inp
- real_time/02-propagators.02-cnsparskit.inp
- real_time/02-propagators.03-rungekutta2.inp
- real_time/02-propagators.04-rungekutta4.inp
- real_time/03-td_self_consistent.01-gs.inp
- real_time/03-td_self_consistent.02-etrs.inp
- real_time/05-time_propagation.01-gs.inp
- real_time/05-time_propagation.02-td_domains.inp
- real_time/05-time_propagation.03-td_domains_states.inp
- real_time/05-time_propagation.04-td_domains_states-reorder_ranks.inp
- real_time/05-time_propagation.05-td_md.inp
- real_time/05-time_propagation.06-td_fast_md.inp
- real_time/06-caetrs.01-gs.inp
- real_time/06-caetrs.02-kick.inp
- real_time/06-caetrs.03-kick-tp1.inp
- real_time/06-caetrs.04-kick-tp2.inp
- real_time/09-angular_momentum.01-gs.inp
- real_time/09-angular_momentum.02-td_gipaw.inp
- real_time/09-angular_momentum.03-td_icl.inp
- real_time/10-bomd.01-gs.inp
- real_time/10-bomd.02-td.inp
- real_time/10-bomd.03-td_restart.inp
- real_time/12-absorption.01-gs.inp
- real_time/12-absorption.02-td.inp
- real_time/12-absorption.03-td-restart.inp
- real_time/13-absorption-spin.01-gs.inp
- real_time/13-absorption-spin.02-td.inp
- real_time/13-absorption-spin.03-td-restart.inp
- real_time/13-absorption-spin.04-spectrum.inp
- real_time/13-absorption-spin.05-spectrum_compressed_sensing.inp
- real_time/13-absorption-spin.06-td_spinkick.inp
- real_time/13-absorption-spin.07-spectrum_triplet.inp
- real_time/15-crank_nicolson.01-gs.inp
- real_time/15-crank_nicolson.02-kick.inp
- real_time/15-crank_nicolson.03-freeze_domains.inp
- real_time/15-crank_nicolson.04-freeze_states.inp
- real_time/15-crank_nicolson.05-freeze_sae.inp
- real_time/16-sparskit.01-gs.inp
- real_time/16-sparskit.02-kick.inp
- real_time/17-absorption-spin_symmetry.01-gs.inp
- real_time/17-absorption-spin_symmetry.02-td.inp
- real_time/19-td_move_ions.01-gs.inp
- real_time/21-scissor.01-gs.inp
- real_time/21-scissor.02-td.inp
- real_time/19-td_move_ions.02-td.inp
- real_time/19-td_move_ions.03-td_restart.inp
- real_time/23-td_qedft_breit_pxlda_adiabatic.01-gs.inp
- real_time/23-td_qedft_breit_pxlda_adiabatic.02-td.inp
- real_time/23-td_qedft_breit_pxlda_adiabatic.03-td_restart.inp
- real_time/24-adsic_freeze_orbitals.01-gs.inp
- real_time/24-adsic_freeze_orbitals.02-td.inp
- tutorials/03-octopus_basics-total_energy_convergence.01-N_atom.inp
- tutorials/03-octopus_basics-total_energy_convergence.02-methane.inp
- tutorials/07-octopus_basics-time_dependent_propagation.02-td.inp
- tutorials/07-octopus_basics-time_dependent_propagation.03-td_laser.inp