ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
CoulombScafacos Struct Referenceabstract

#include <scafacos.hpp>

+ Inheritance diagram for CoulombScafacos:
+ Collaboration diagram for CoulombScafacos:

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< Systemm_system
 

Detailed Description

Definition at line 37 of file core/electrostatics/scafacos.hpp.

Constructor & Destructor Documentation

◆ ~CoulombScafacos()

CoulombScafacos::~CoulombScafacos ( )
overridedefault

Member Function Documentation

◆ get_near_field_delegation()

virtual bool CoulombScafacos::get_near_field_delegation ( ) const
pure virtual

Implemented in CoulombScafacosImpl.

◆ get_pair_energy()

virtual double CoulombScafacos::get_pair_energy ( double  dist) const
pure virtual

Implemented in CoulombScafacosImpl.

Referenced by pair_energy().

◆ get_pair_force()

virtual double CoulombScafacos::get_pair_force ( double  dist) const
pure virtual

Implemented in CoulombScafacosImpl.

Referenced by pair_force().

◆ get_r_cut()

virtual double CoulombScafacos::get_r_cut ( ) const
pure virtual

Implemented in CoulombScafacosImpl.

Referenced by pair_energy(), and pair_force().

◆ init()

void CoulombScafacos::init ( ) const
inline

Definition at line 51 of file core/electrostatics/scafacos.hpp.

◆ is_tuned()

bool CoulombScafacos::is_tuned ( ) const
inline

Definition at line 55 of file core/electrostatics/scafacos.hpp.

Referenced by tune().

◆ on_activation()

void CoulombScafacos::on_activation ( )
inline

◆ on_boxl_change()

void CoulombScafacos::on_boxl_change ( )
inline

Recalculate all box-length-dependent parameters.

Definition at line 47 of file core/electrostatics/scafacos.hpp.

References ScafacosContextBase::update_system_params().

◆ on_cell_structure_change()

void CoulombScafacos::on_cell_structure_change ( ) const
inline

Definition at line 50 of file core/electrostatics/scafacos.hpp.

◆ on_node_grid_change()

void CoulombScafacos::on_node_grid_change ( ) const
inline

Definition at line 48 of file core/electrostatics/scafacos.hpp.

◆ on_periodicity_change()

void CoulombScafacos::on_periodicity_change ( )
inline

◆ pair_energy()

double CoulombScafacos::pair_energy ( double  q1q2,
double  dist 
) const
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.

◆ pair_force()

Utils::Vector3d CoulombScafacos::pair_force ( double  q1q2,
Utils::Vector3d const &  d,
double  dist 
) const
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.

◆ sanity_checks()

void CoulombScafacos::sanity_checks ( ) const
inlineoverridevirtual

◆ set_near_field_delegation()

virtual void CoulombScafacos::set_near_field_delegation ( bool  delegate)
pure virtual

Implemented in CoulombScafacosImpl.

◆ tune()

void CoulombScafacos::tune ( )
inline

Definition at line 56 of file core/electrostatics/scafacos.hpp.

References is_tuned(), and tune_impl().

Referenced by on_activation().

◆ tune_impl()

virtual void CoulombScafacos::tune_impl ( )
protectedpure virtual

Implemented in CoulombScafacosImpl.

Referenced by tune().


The documentation for this struct was generated from the following file: