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

Public interface to the ScaFaCoS context. More...

#include <ScafacosContextBase.hpp>

+ Inheritance diagram for ScafacosContextBase:

Public Member Functions

 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
 
virtual void sanity_checks () const =0
 

Static Public Member Functions

static std::vector< std::string > available_methods ()
 
static void sanity_check_method (std::string const &method_name)
 

Detailed Description

Public interface to the ScaFaCoS context.

Implementations of this class will store particle positions and charges/dipoles in flat arrays, as required by ScaFaCoS, as well as the output arrays.

Definition at line 47 of file ScafacosContextBase.hpp.

Constructor & Destructor Documentation

◆ ScafacosContextBase()

ScafacosContextBase::ScafacosContextBase ( )
default

◆ ~ScafacosContextBase()

virtual ScafacosContextBase::~ScafacosContextBase ( )
virtualdefault

Member Function Documentation

◆ add_long_range_forces()

virtual void ScafacosContextBase::add_long_range_forces ( )
pure virtual

Add long-range part of the forces to particles.

Implemented in CoulombScafacosImpl, and DipolarScafacosImpl.

◆ available_methods()

std::vector< std::string > ScafacosContextBase::available_methods ( )
static

◆ get_method()

virtual std::string ScafacosContextBase::get_method ( ) const
pure virtual

◆ get_parameters()

virtual std::string ScafacosContextBase::get_parameters ( ) const
pure virtual

◆ long_range_energy()

virtual double ScafacosContextBase::long_range_energy ( )
pure virtual

Calculate long-range part of the energy.

Implemented in CoulombScafacosImpl, and DipolarScafacosImpl.

◆ sanity_check_method()

void ScafacosContextBase::sanity_check_method ( std::string const &  method_name)
static

◆ sanity_checks()

virtual void ScafacosContextBase::sanity_checks ( ) const
pure virtual

Implemented in CoulombScafacos, and DipolarScafacos.

◆ update_particle_data()

virtual void ScafacosContextBase::update_particle_data ( )
pure virtual

Collect particle data in continuous arrays.

Implemented in CoulombScafacosImpl, and DipolarScafacosImpl.

◆ update_particle_forces()

virtual void ScafacosContextBase::update_particle_forces ( ) const
pure virtual

Write forces back to particles.

Implemented in CoulombScafacosImpl, and DipolarScafacosImpl.

◆ update_system_params()

virtual void ScafacosContextBase::update_system_params ( )
pure virtual

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