24#ifdef ESPRESSO_ELECTROSTATICS
44#error "The FFTW3 library shouldn't be visible in this translation unit"
50 std::variant<std::shared_ptr<DebyeHueckel>,
52 std::shared_ptr<CoulombP3M>,
53 std::shared_ptr<ElectrostaticLayerCorrection>,
56 std::shared_ptr<CoulombMMM1D>,
58#ifdef ESPRESSO_SCAFACOS
59 std::shared_ptr<CoulombScafacos>,
61 std::shared_ptr<ReactionField>>;
67 std::optional<ElectrostaticsActor>
solver;
81#ifdef ESPRESSO_SCAFACOS
Calculate the Debye-Hückel energy and force for a particle pair.
ELC algorithm for long-range Coulomb interactions.
ICC is a method that allows to take into account the influence of arbitrarily shaped dielectric inter...
MMM1D algorithm for long-range Coulomb interactions on the CPU.
std::variant< std::shared_ptr< ICCStar > > ElectrostaticsExtension
std::variant< std::shared_ptr< DebyeHueckel >, std::shared_ptr< CoulombP3M >, std::shared_ptr< ElectrostaticLayerCorrection >, std::shared_ptr< CoulombMMM1D >, std::shared_ptr< CoulombScafacos >, std::shared_ptr< ReactionField > > ElectrostaticsActor
P3M algorithm for long-range Coulomb interaction.
Calculate the Reaction Field energy and force for a particle pair , .
Parameters for the MMM1D electrostatic interaction.
std::optional< ElectrostaticsExtension > extension
Extension that modifies the solver behavior.
std::optional< ElectrostaticsActor > solver
Main electrostatics solver.
The electrostatic method supports pressure calculation.