22#ifdef STOKESIAN_DYNAMICS
37namespace Integrators {
72 context()->parallel_try_catch([&]() {
74 if (get_value_or<bool>(
params,
"self_mobility",
true)) {
77 if (get_value_or<bool>(
params,
"pair_mobility",
true)) {
81 get_value_or<std::string>(
params,
"approximation_method",
"fts");
82 if (approx ==
"fts") {
84 }
else if (approx !=
"ft") {
85 throw std::invalid_argument(
"Unknown approximation '" + approx +
"'");
87 m_instance = std::make_shared<::StokesianDynamicsParameters>(
88 get_value<double>(
params,
"viscosity"),
94 context()->parallel_try_catch([&]() {
void add_parameters(std::vector< AutoParameter > &¶ms)
::StokesianDynamicsParameters const & get_instance() const
void do_construct(VariantMap const ¶ms) override
std::shared_ptr< Propagation > propagation
This file contains the defaults for ESPResSo.
T get_value(Variant const &v)
Extract value of specific type T from a Variant.
std::unordered_map< std::string, Variant > VariantMap
auto make_unordered_map_of_variants(std::unordered_map< K, V > const &v)
See for the Stokesian dynamics method used here.
void register_integrator(SteepestDescentParameters const &obj)
static SteepestDescentParameters params
Currently active steepest descent instance.
static constexpr const ReadOnly read_only