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

Parameters for the ELC method. More...

#include <elc.hpp>

Public Member Functions

 elc_data (double maxPWerror, double gap_size, double far_cut, bool neutralize, double delta_top, double delta_bot, bool const_pot, double pot_diff)
 
template<typename Kernel >
void dielectric_layers_contribution (CoulombP3M const &, BoxGeometry const &box_geo, Utils::Vector3d const &pos1, Utils::Vector3d const &pos2, double q1q2, Kernel &&kernel) const
 pairwise contributions from the lowest and top layers
 
double dielectric_layers_self_energy (CoulombP3M const &p3m, BoxGeometry const &box_geo, ParticleRange const &particles) const
 self energies of top and bottom layers with their virtual images
 
void dielectric_layers_self_forces (CoulombP3M const &p3m, BoxGeometry const &box_geo, ParticleRange const &particles) const
 forces of particles in border layers with themselves
 

Public Attributes

double maxPWerror
 Maximal allowed pairwise error for the potential and force.
 
double gap_size
 Size of the empty gap.
 
double box_h
 Up to where particles can be found.
 
double far_cut
 Cutoff of the exponential sum.
 
double far_cut2
 Squared value of far_cut.
 
bool far_calculated
 Flag whether far_cut was set by the user, or calculated by ESPResSo.
 
bool dielectric_contrast_on
 Flag whether there is any dielectric contrast in the system.
 
bool const_pot
 Flag whether a constant potential difference is applied.
 
bool neutralize
 Flag whether the box is neutralized by a homogeneous background.
 
double delta_mid_top
 dielectric contrast in the upper part of the simulation cell.
 
double delta_mid_bot
 dielectric contrast in the lower part of the simulation cell.
 
double pot_diff
 Constant potential difference.
 
double space_layer
 Layer around the dielectric contrast in which we trick around.
 
double space_box
 The space that is finally left.
 

Detailed Description

Parameters for the ELC method.

Definition at line 63 of file elc.hpp.

Constructor & Destructor Documentation

◆ elc_data()

elc_data::elc_data ( double  maxPWerror,
double  gap_size,
double  far_cut,
bool  neutralize,
double  delta_top,
double  delta_bot,
bool  const_pot,
double  pot_diff 
)

Member Function Documentation

◆ dielectric_layers_contribution()

template<typename Kernel >
void elc_data::dielectric_layers_contribution ( CoulombP3M const &  ,
BoxGeometry const &  box_geo,
Utils::Vector3d const &  pos1,
Utils::Vector3d const &  pos2,
double  q1q2,
Kernel &&  kernel 
) const
inline

◆ dielectric_layers_self_energy()

double elc_data::dielectric_layers_self_energy ( CoulombP3M const &  p3m,
BoxGeometry const &  box_geo,
ParticleRange const &  particles 
) const
inline

self energies of top and bottom layers with their virtual images

Definition at line 139 of file elc.hpp.

References dielectric_layers_contribution(), and Utils::sqr().

Referenced by ElectrostaticLayerCorrection::long_range_energy().

◆ dielectric_layers_self_forces()

void elc_data::dielectric_layers_self_forces ( CoulombP3M const &  p3m,
BoxGeometry const &  box_geo,
ParticleRange const &  particles 
) const
inline

forces of particles in border layers with themselves

Definition at line 154 of file elc.hpp.

References dielectric_layers_contribution(), and Utils::sqr().

Referenced by ElectrostaticLayerCorrection::add_long_range_forces().

Member Data Documentation

◆ box_h

double elc_data::box_h

Up to where particles can be found.

Definition at line 78 of file elc.hpp.

Referenced by charge_assign(), dielectric_layers_contribution(), modify_p3m_sums(), setup_PoQ(), and setup_PQ().

◆ const_pot

bool elc_data::const_pot

Flag whether a constant potential difference is applied.

Definition at line 96 of file elc.hpp.

Referenced by elc_data().

◆ delta_mid_bot

double elc_data::delta_mid_bot

dielectric contrast in the lower part of the simulation cell.

Definition at line 109 of file elc.hpp.

Referenced by charge_assign(), dielectric_layers_contribution(), elc_data(), modify_p3m_sums(), setup_PoQ(), and setup_PQ().

◆ delta_mid_top

double elc_data::delta_mid_top

dielectric contrast in the upper part of the simulation cell.

Definition at line 107 of file elc.hpp.

Referenced by charge_assign(), dielectric_layers_contribution(), elc_data(), modify_p3m_sums(), setup_PoQ(), and setup_PQ().

◆ dielectric_contrast_on

◆ far_calculated

bool elc_data::far_calculated

Flag whether far_cut was set by the user, or calculated by ESPResSo.

In the latter case, the cutoff will be adapted if important parameters, such as the box dimensions, change.

Definition at line 91 of file elc.hpp.

Referenced by elc_data().

◆ far_cut

double elc_data::far_cut

Cutoff of the exponential sum.

Since in all other MMM methods this is the far formula, it is given the same name here.

Definition at line 84 of file elc.hpp.

Referenced by elc_data().

◆ far_cut2

double elc_data::far_cut2

Squared value of far_cut.

Definition at line 86 of file elc.hpp.

◆ gap_size

double elc_data::gap_size

Size of the empty gap.

Note that ELC relies on the user to make sure that this condition is fulfilled.

Definition at line 76 of file elc.hpp.

Referenced by elc_data(), and ElectrostaticLayerCorrection::veto_r_cut().

◆ maxPWerror

double elc_data::maxPWerror

Maximal allowed pairwise error for the potential and force.

Note that this counts for the plain 1/r contribution alone, without the prefactor and the charge prefactor.

Definition at line 72 of file elc.hpp.

Referenced by elc_data().

◆ neutralize

bool elc_data::neutralize

Flag whether the box is neutralized by a homogeneous background.

If true, use a homogeneous neutralizing background for non-neutral systems. Unlike the 3D case, this background adds an additional force pointing towards the system center, and the gap size enters into the value of the forces, so be careful with this.

Definition at line 104 of file elc.hpp.

◆ pot_diff

double elc_data::pot_diff

Constant potential difference.

Definition at line 111 of file elc.hpp.

◆ space_box

double elc_data::space_box

The space that is finally left.

Definition at line 116 of file elc.hpp.

◆ space_layer

double elc_data::space_layer

Layer around the dielectric contrast in which we trick around.

Definition at line 114 of file elc.hpp.

Referenced by charge_assign(), dielectric_layers_contribution(), modify_p3m_sums(), setup_PoQ(), and setup_PQ().


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