![]() |
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
#include <solver.hpp>
Collaboration diagram for Coulomb::Solver:Classes | |
| struct | Implementation |
Public Types | |
| using | ShortRangeForceKernel = std::function< Utils::Vector3d(double, Utils::Vector3d const &, double)> |
| using | ShortRangeForceCorrectionsKernel = std::function< void(Utils::Vector3d const &, Utils::Vector3d const &, Utils::Vector3d &, Utils::Vector3d &, double)> |
| using | ShortRangePressureKernel = std::function< Utils::Matrix< double, 3, 3 >(double, Utils::Vector3d const &, double)> |
| using | ShortRangeEnergyKernel = std::function< double(Utils::Vector3d const &, Utils::Vector3d const &, double, Utils::Vector3d const &, double)> |
Public Member Functions | |
| Utils::Vector9d | calc_pressure_long_range (ParticleRange const &particles) const |
| void | sanity_checks () const |
| double | cutoff () const |
| void | on_observable_calc () |
| void | on_coulomb_change () |
| void | on_boxl_change () |
| void | on_node_grid_change () |
| void | on_periodicity_change () |
| void | on_cell_structure_change () |
| void | on_particle_change () |
| void | calc_long_range_force (ParticleRange const &particles) const |
| double | calc_energy_long_range (ParticleRange const &particles) const |
| Solver () | |
| std::optional< ShortRangeForceKernel > | pair_force_kernel () const |
| std::optional< ShortRangePressureKernel > | pair_pressure_kernel () const |
| std::optional< ShortRangeEnergyKernel > | pair_energy_kernel () const |
| std::optional< ShortRangeForceCorrectionsKernel > | pair_force_elc_kernel () const |
Public Attributes | |
| std::unique_ptr< Implementation > | impl |
| Pointer-to-implementation. | |
| bool | reinit_on_observable_calc |
| Whether to reinitialize the solver on observable calculation. | |
Definition at line 39 of file electrostatics/solver.hpp.
| using Coulomb::Solver::ShortRangeEnergyKernel = std::function<double(Utils::Vector3d const &, Utils::Vector3d const &, double, Utils::Vector3d const &, double)> |
Definition at line 76 of file electrostatics/solver.hpp.
| using Coulomb::Solver::ShortRangeForceCorrectionsKernel = std::function<void(Utils::Vector3d const &, Utils::Vector3d const &, Utils::Vector3d &, Utils::Vector3d &, double)> |
Definition at line 71 of file electrostatics/solver.hpp.
| using Coulomb::Solver::ShortRangeForceKernel = std::function<Utils::Vector3d(double, Utils::Vector3d const &, double)> |
Definition at line 69 of file electrostatics/solver.hpp.
| using Coulomb::Solver::ShortRangePressureKernel = std::function<Utils::Matrix<double, 3, 3>( double, Utils::Vector3d const &, double)> |
Definition at line 74 of file electrostatics/solver.hpp.
| Coulomb::Solver::Solver | ( | ) |
Definition at line 60 of file coulomb.cpp.
References impl, and reinit_on_observable_calc.
| double Coulomb::Solver::calc_energy_long_range | ( | ParticleRange const & | particles | ) | const |
Definition at line 267 of file coulomb.cpp.
References impl.
| void Coulomb::Solver::calc_long_range_force | ( | ParticleRange const & | particles | ) | const |
Definition at line 261 of file coulomb.cpp.
References impl.
Referenced by calc_long_range_forces().
| Utils::Vector9d Coulomb::Solver::calc_pressure_long_range | ( | ParticleRange const & | particles | ) | const |
Definition at line 137 of file coulomb.cpp.
References impl.
| double Coulomb::Solver::cutoff | ( | ) | const |
Definition at line 173 of file coulomb.cpp.
References impl, and inactive_cutoff.
| void Coulomb::Solver::on_boxl_change | ( | ) |
Definition at line 80 of file coulomb.cpp.
References impl, and visit_try_catch().
| void Coulomb::Solver::on_cell_structure_change | ( | ) |
Definition at line 99 of file coulomb.cpp.
References impl, and visit_try_catch().
| void Coulomb::Solver::on_coulomb_change | ( | ) |
Definition at line 73 of file coulomb.cpp.
References impl, reinit_on_observable_calc, and visit_try_catch().
| void Coulomb::Solver::on_node_grid_change | ( | ) |
Definition at line 86 of file coulomb.cpp.
References impl.
| void Coulomb::Solver::on_observable_calc | ( | ) |
Definition at line 194 of file coulomb.cpp.
References impl, and reinit_on_observable_calc.
|
inline |
Definition at line 59 of file electrostatics/solver.hpp.
References reinit_on_observable_calc.
| void Coulomb::Solver::on_periodicity_change | ( | ) |
Definition at line 92 of file coulomb.cpp.
References impl, and visit_try_catch().
|
inline |
Definition at line 185 of file coulomb_inline.hpp.
References impl.
Referenced by PairCriteria::EnergyCriterion::decide().
|
inline |
Definition at line 163 of file coulomb_inline.hpp.
References impl.
|
inline |
Definition at line 152 of file coulomb_inline.hpp.
References impl.
|
inline |
Definition at line 174 of file coulomb_inline.hpp.
References impl.
| void Coulomb::Solver::sanity_checks | ( | ) | const |
Definition at line 67 of file coulomb.cpp.
References impl.
| std::unique_ptr<Implementation> Coulomb::Solver::impl |
Pointer-to-implementation.
Definition at line 43 of file electrostatics/solver.hpp.
Referenced by calc_energy_long_range(), calc_long_range_force(), calc_pressure_long_range(), cutoff(), CoulombP3MHeffte< FloatType, Architecture, FFTConfig >::init_gpu_kernels(), CoulombTuningAlgorithm< FloatType, Architecture, FFTConfig >::layer_correction_veto_r_cut(), on_boxl_change(), on_cell_structure_change(), on_coulomb_change(), on_node_grid_change(), on_observable_calc(), on_periodicity_change(), pair_energy_kernel(), pair_force_elc_kernel(), pair_force_kernel(), pair_pressure_kernel(), sanity_checks(), and Solver().
| bool Coulomb::Solver::reinit_on_observable_calc |
Whether to reinitialize the solver on observable calculation.
Definition at line 45 of file electrostatics/solver.hpp.
Referenced by on_coulomb_change(), on_observable_calc(), on_particle_change(), and Solver().