ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
icc.cpp File Reference

Functions to compute the electric field acting on the induced charges, excluding forces other than the electrostatic ones. More...

#include "config/config.hpp"
#include "icc.hpp"
#include "Particle.hpp"
#include "ParticleRange.hpp"
#include "PropagationMode.hpp"
#include "actor/visitors.hpp"
#include "cell_system/CellStructure.hpp"
#include "communication.hpp"
#include "electrostatics/coulomb.hpp"
#include "electrostatics/coulomb_inline.hpp"
#include "electrostatics/p3m.hpp"
#include "errorhandling.hpp"
#include "integrators/Propagation.hpp"
#include "system/System.hpp"
#include <boost/mpi/collectives/all_reduce.hpp>
#include <boost/mpi/operations.hpp>
#include <algorithm>
#include <cmath>
#include <cstddef>
#include <limits>
#include <numbers>
#include <stdexcept>
#include <variant>
#include <vector>
+ Include dependency graph for icc.cpp:

Go to the source code of this file.

Classes

struct  SanityChecksICC
 

Functions

static void force_calc_icc (CellStructure &cell_structure, ParticleRange const &particles, ParticleRange const &ghost_particles, Coulomb::ShortRangeForceKernel::result_type const &coulomb_kernel, Coulomb::ShortRangeForceCorrectionsKernel::result_type const &elc_kernel)
 Calculate the electrostatic forces between source charges (= real charges) and wall charges.
 

Detailed Description

Functions to compute the electric field acting on the induced charges, excluding forces other than the electrostatic ones.

Detailed information about the ICC* method is included in the corresponding header file icc.hpp.

Definition in file icc.cpp.

Function Documentation

◆ force_calc_icc()

static void force_calc_icc ( CellStructure cell_structure,
ParticleRange const &  particles,
ParticleRange const &  ghost_particles,
Coulomb::ShortRangeForceKernel::result_type const &  coulomb_kernel,
Coulomb::ShortRangeForceCorrectionsKernel::result_type const &  elc_kernel 
)
static

Calculate the electrostatic forces between source charges (= real charges) and wall charges.

For each electrostatic method, the proper functions for short- and long-range parts are called. Long-range parts are calculated directly, short-range parts need helper functions according to the particle data organisation. This is a modified version of System::System::calculate_forces.

Definition at line 67 of file icc.cpp.

References get_ptr(), and CellStructure::non_bonded_loop().

Referenced by ICCStar::iteration().