ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
#include <scafacos.hpp>
Public Member Functions | |
~CoulombScafacos () override=default | |
void | on_activation () |
void | on_boxl_change () |
Recalculate all box-length-dependent parameters. | |
void | on_node_grid_change () const |
void | on_periodicity_change () |
void | on_cell_structure_change () const |
void | init () const |
void | sanity_checks () const override |
bool | is_tuned () const |
void | tune () |
virtual double | get_r_cut () const =0 |
virtual double | get_pair_force (double dist) const =0 |
virtual double | get_pair_energy (double dist) const =0 |
virtual void | set_near_field_delegation (bool delegate)=0 |
virtual bool | get_near_field_delegation () const =0 |
Utils::Vector3d | pair_force (double q1q2, Utils::Vector3d const &d, double dist) const |
Calculate near-field pair force. | |
double | pair_energy (double q1q2, double dist) const |
Calculate near-field pair energy. | |
Public Member Functions inherited from ScafacosContextBase | |
ScafacosContextBase ()=default | |
virtual | ~ScafacosContextBase ()=default |
virtual void | update_particle_data ()=0 |
Collect particle data in continuous arrays. | |
virtual void | update_particle_forces () const =0 |
Write forces back to particles. | |
virtual double | long_range_energy ()=0 |
Calculate long-range part of the energy. | |
virtual void | add_long_range_forces ()=0 |
Add long-range part of the forces to particles. | |
virtual void | update_system_params ()=0 |
Reinitialize number of particles, box shape and periodicity. | |
virtual std::string | get_method () const =0 |
virtual std::string | get_parameters () const =0 |
Public Member Functions inherited from Coulomb::Actor< CoulombScafacos > | |
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) |
Protected Member Functions | |
virtual void | tune_impl ()=0 |
Protected Member Functions inherited from System::Leaf< Class > | |
auto & | get_system () |
auto & | get_system () const |
Additional Inherited Members | |
Static Public Member Functions inherited from ScafacosContextBase | |
static std::vector< std::string > | available_methods () |
static void | sanity_check_method (std::string const &method_name) |
Public Attributes inherited from Coulomb::Actor< CoulombScafacos > | |
double | prefactor |
Electrostatics prefactor. | |
double | charge_neutrality_tolerance |
Relative tolerance for the charge excess during neutrality checks. | |
Static Public Attributes inherited from Coulomb::Actor< CoulombScafacos > | |
static auto constexpr | charge_neutrality_tolerance_default |
Protected Attributes inherited from System::Leaf< Class > | |
std::weak_ptr< System > | m_system |
Definition at line 37 of file core/electrostatics/scafacos.hpp.
|
overridedefault |
|
pure virtual |
Implemented in CoulombScafacosImpl.
|
pure virtual |
Implemented in CoulombScafacosImpl.
Referenced by pair_energy().
|
pure virtual |
Implemented in CoulombScafacosImpl.
Referenced by pair_force().
|
pure virtual |
Implemented in CoulombScafacosImpl.
Referenced by pair_energy(), and pair_force().
|
inline |
Definition at line 51 of file core/electrostatics/scafacos.hpp.
|
inline |
Definition at line 55 of file core/electrostatics/scafacos.hpp.
Referenced by tune().
|
inline |
Definition at line 41 of file core/electrostatics/scafacos.hpp.
References sanity_checks(), tune(), and ScafacosContextBase::update_system_params().
|
inline |
Recalculate all box-length-dependent parameters.
Definition at line 47 of file core/electrostatics/scafacos.hpp.
References ScafacosContextBase::update_system_params().
|
inline |
Definition at line 50 of file core/electrostatics/scafacos.hpp.
|
inline |
Definition at line 48 of file core/electrostatics/scafacos.hpp.
|
inline |
Definition at line 49 of file core/electrostatics/scafacos.hpp.
References ScafacosContextBase::update_system_params().
|
inline |
Calculate near-field pair energy.
Definition at line 77 of file core/electrostatics/scafacos.hpp.
References get_pair_energy(), get_r_cut(), and Coulomb::Actor< CoulombScafacos >::prefactor.
|
inline |
Calculate near-field pair force.
Definition at line 68 of file core/electrostatics/scafacos.hpp.
References get_pair_force(), get_r_cut(), and Coulomb::Actor< CoulombScafacos >::prefactor.
|
inlineoverridevirtual |
Implements ScafacosContextBase.
Definition at line 53 of file core/electrostatics/scafacos.hpp.
References Coulomb::Actor< CoulombScafacos >::sanity_checks_charge_neutrality().
Referenced by on_activation().
|
pure virtual |
Implemented in CoulombScafacosImpl.
|
inline |
Definition at line 56 of file core/electrostatics/scafacos.hpp.
References is_tuned(), and tune_impl().
Referenced by on_activation().
|
protectedpure virtual |
Implemented in CoulombScafacosImpl.
Referenced by tune().