Loading [MathJax]/jax/input/TeX/config.js
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
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: