![]() |
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
Parameters for the MMM1D electrostatic interaction. More...
#include <mmm1d.hpp>
Inheritance diagram for CoulombMMM1D:
Collaboration diagram for CoulombMMM1D:Public Member Functions | |
| CoulombMMM1D (double prefactor, double maxPWerror, double switch_rad, int tune_timings, bool tune_verbose) | |
| Utils::Vector3d | pair_force (double q1q2, Utils::Vector3d const &d, double dist) const |
| Compute the pair force. | |
| double | pair_energy (double q1q2, Utils::Vector3d const &d, double dist) const |
| Compute the pair energy. | |
| void | tune () |
| bool | is_tuned () const |
| void | on_activation () |
| void | on_boxl_change () |
| Recalculate all box-length-dependent parameters. | |
| void | on_node_grid_change () const |
| void | on_periodicity_change () const |
| void | on_cell_structure_change () |
| void | init () |
| Recalculate all derived parameters. | |
| void | sanity_checks () const |
Public Member Functions inherited from Coulomb::Actor< CoulombMMM1D > | |
| void | set_prefactor (double new_prefactor) |
| void | sanity_checks_charge_neutrality () const |
Public Member Functions inherited from System::Leaf< Class > | |
| void | bind_system (std::shared_ptr< System > const &system) |
| void | detach_system (std::shared_ptr< System > const &system) |
Public Attributes | |
| double | maxPWerror |
| Maximal allowed pairwise error for the potential and force. | |
| double | far_switch_radius |
| Far switch radius. | |
| int | tune_timings |
| bool | tune_verbose |
Public Attributes inherited from Coulomb::Actor< CoulombMMM1D > | |
| double | prefactor |
| Electrostatics prefactor. | |
| double | charge_neutrality_tolerance |
| Relative tolerance for the charge excess during neutrality checks. | |
Additional Inherited Members | |
Static Public Attributes inherited from Coulomb::Actor< CoulombMMM1D > | |
| static auto constexpr | charge_neutrality_tolerance_default |
Protected Member Functions inherited from System::Leaf< Class > | |
| auto & | get_system () |
| auto & | get_system () const |
Protected Attributes inherited from System::Leaf< Class > | |
| std::weak_ptr< System > | m_system |
| CoulombMMM1D::CoulombMMM1D | ( | double | prefactor, |
| double | maxPWerror, | ||
| double | switch_rad, | ||
| int | tune_timings, | ||
| bool | tune_verbose | ||
| ) |
Definition at line 136 of file mmm1d.cpp.
References far_switch_radius, maxPWerror, Coulomb::Actor< CoulombMMM1D >::prefactor, Coulomb::Actor< CoulombMMM1D >::set_prefactor(), Utils::sqr(), stream, and tune_timings.
|
inline |
|
inline |
|
inline |
Definition at line 86 of file mmm1d.hpp.
References sanity_checks(), and tune().
|
inline |
| double CoulombMMM1D::pair_energy | ( | double | q1q2, |
| Utils::Vector3d const & | d, | ||
| double | dist | ||
| ) | const |
Compute the pair energy.
| [in] | q1q2 | Product of the charges on p1 and p2. |
| [in] | d | Vector pointing from p1 to p2. |
| [in] | dist | Distance between p1 and p2. |
Definition at line 272 of file mmm1d.cpp.
References System::Leaf< Class >::get_system(), maxPWerror, mod_psi_even(), Coulomb::Actor< CoulombMMM1D >::prefactor, and stream.
| Utils::Vector3d CoulombMMM1D::pair_force | ( | double | q1q2, |
| Utils::Vector3d const & | d, | ||
| double | dist | ||
| ) | const |
Compute the pair force.
| [in] | q1q2 | Product of the charges on p1 and p2. |
| [in] | d | Vector pointing from p1 to p2. |
| [in] | dist | Distance between p1 and p2. |
Definition at line 185 of file mmm1d.cpp.
References System::Leaf< Class >::get_system(), maxPWerror, mod_psi_even(), mod_psi_odd(), Coulomb::Actor< CoulombMMM1D >::prefactor, and stream.
|
inline |
Definition at line 98 of file mmm1d.hpp.
References Coulomb::Actor< CoulombMMM1D >::sanity_checks_charge_neutrality().
Referenced by on_activation().
| void CoulombMMM1D::tune | ( | ) |
Definition at line 336 of file mmm1d.cpp.
References benchmark_integration_step(), System::Leaf< Class >::get_system(), is_tuned(), Utils::sqr(), stream, tune_timings, and tune_verbose.
Referenced by on_activation().
| double CoulombMMM1D::far_switch_radius |
Far switch radius.
Represents the xy-distance at which the calculation switches from the far to the near formula.
Definition at line 61 of file mmm1d.hpp.
Referenced by CoulombMMM1D().
| double CoulombMMM1D::maxPWerror |
Maximal allowed pairwise error for the potential and force.
This error ignores prefactors, i.e. this is for a pure lattice 1/r-sum.
Definition at line 56 of file mmm1d.hpp.
Referenced by CoulombMMM1D(), pair_energy(), and pair_force().
| int CoulombMMM1D::tune_timings |
Definition at line 62 of file mmm1d.hpp.
Referenced by CoulombMMM1D(), and tune().