ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
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. | |
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 | ||
) |
Definition at line 1056 of file elc.cpp.
References const_pot, delta_mid_bot, delta_mid_top, dielectric_contrast_on, far_calculated, far_cut, gap_size, maxPWerror, and ROUND_ERROR_PREC.
|
inline |
pairwise contributions from the lowest and top layers
Definition at line 120 of file elc.hpp.
References box_h, delta_mid_bot, delta_mid_top, BoxGeometry::get_mi_vector(), and space_layer.
Referenced by ElectrostaticLayerCorrection::add_pair_force_corrections(), dielectric_layers_self_energy(), dielectric_layers_self_forces(), and ElectrostaticLayerCorrection::pair_energy_correction().
|
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().
|
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().
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().
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().
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().
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().
bool elc_data::dielectric_contrast_on |
Flag whether there is any dielectric contrast in the system.
Definition at line 94 of file elc.hpp.
Referenced by ElectrostaticLayerCorrection::add_long_range_forces(), ElectrostaticLayerCorrection::add_pair_force_corrections(), elc_data(), ElectrostaticLayerCorrection::long_range_energy(), ElectrostaticLayerCorrection::on_activation(), ElectrostaticLayerCorrection::on_cell_structure_change(), ElectrostaticLayerCorrection::pair_energy_correction(), setup_PoQ(), setup_PQ(), and ElectrostaticLayerCorrection::veto_r_cut().
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().
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().
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().
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().
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.
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().