40template <
class SIClass,
class CoreClass> Actor<SIClass, CoreClass>::Actor() {
43 [
this]() {
return m_actor->prefactor; }},
46 auto const flag = get_value<bool>(value);
47 auto &tolerance = m_actor->charge_neutrality_tolerance;
49 if (tolerance == -1.) {
50 tolerance = m_actor->charge_neutrality_tolerance_default;
57 auto const tolerance = m_actor->charge_neutrality_tolerance;
58 return Variant{tolerance != -1.};
60 {
"charge_neutrality_tolerance",
62 auto &tolerance = m_actor->charge_neutrality_tolerance;
66 auto const new_tolerance = get_value<double>(value);
67 if (new_tolerance < 0.) {
68 if (context()->is_head_node()) {
69 throw std::domain_error(
70 "Parameter 'charge_neutrality_tolerance' must be >= 0");
74 tolerance = new_tolerance;
78 auto const tolerance = m_actor->charge_neutrality_tolerance;
79 if (tolerance == -1.) {
87template <
class SIClass,
class CoreClass>
91 if (name ==
"activate") {
92 context()->parallel_try_catch([
this]() {
93 auto &system = get_system();
94 add_actor(context()->get_comm(), m_system.lock(),
95 system.coulomb.impl->solver, m_actor,
96 [&system]() { system.on_coulomb_change(); });
Variant do_call_method(std::string const &name, VariantMap const ¶ms) override
This file contains the defaults for ESPResSo.
std::unordered_map< std::string, Variant > VariantMap
Variant make_variant(const T &x)
Make a Variant from argument.
boost::make_recursive_variant< None, bool, int, std::size_t, double, std::string, ObjectRef, Utils::Vector3b, Utils::Vector3i, Utils::Vector2d, Utils::Vector3d, Utils::Vector4d, std::vector< int >, std::vector< double >, std::vector< boost::recursive_variant_ >, std::unordered_map< int, boost::recursive_variant_ >, std::unordered_map< std::string, boost::recursive_variant_ > >::type Variant
Possible types for parameters.
bool is_none(Variant const &v)
constexpr const None none
None-"literal".
void add_actor(boost::mpi::communicator const &comm, std::shared_ptr< System::System > const &system, std::optional< Variant > &active_actor, std::shared_ptr< T > const &actor, F &&on_actor_change)
static SteepestDescentParameters params
Currently active steepest descent instance.
static constexpr const ReadOnly read_only