32#include "system/System.hpp"
56 using lb_value_type = std::shared_ptr<LB::LBWalberla>;
57 if (impl.
solver.has_value()) {
58 if (
auto const *ptr = std::get_if<lb_value_type>(&(*impl.
solver))) {
59 auto const &instance = **ptr;
81 ek_species->get_valency(),
82 ek_species->is_double_precision());
90 ek_species->integrate(
ek_container->get_potential_field_id(),
91 connector.velocity_field_id,
92 connector.force_field_id);
93 }
catch (std::runtime_error
const &e) {
101 ek_species->ghost_communication();
107 ek_reaction->perform_reaction();
118 throw std::runtime_error(
"Temperature change not supported by EK");
123 auto const &box_geo = *system.
box_geo;
125 auto const agrid = box_geo.length()[0] / lattice.get_grid_dimensions()[0];
126 auto [ek_left, ek_right] = lattice.get_local_domain();
129 auto const &md_left = system.
local_geo->my_left();
130 auto const &md_right = system.
local_geo->my_right();
LBWalberlaBase provides the public interface of the LB waLBerla bridge.
auto get_time_step() const
Get time_step.
std::shared_ptr< LocalBox > local_geo
std::shared_ptr< BoxGeometry > box_geo
This file contains the defaults for ESPResSo.
This file contains the errorhandling code for severe errors, like a broken bond or illegal parameter ...
#define runtimeErrorMsg()
void walberla_agrid_sanity_checks(std::string method, Utils::Vector3d const &geo_left, Utils::Vector3d const &geo_right, Utils::Vector3d const &lattice_left, Utils::Vector3d const &lattice_right, double agrid)
void walberla_tau_sanity_checks(std::string method, double tau, double time_step)
Molecular dynamics integrator.
void veto_kT(double kT) const
void veto_time_step(double time_step) const
std::shared_ptr< ek_reactions_type > ek_reactions
void sanity_checks(System::System const &system) const
std::shared_ptr< ek_container_type > ek_container
bool is_ready_for_propagation() const noexcept
std::size_t velocity_field_id
void operator()(LB::Solver::Implementation const &impl)
std::size_t force_field_id
std::optional< HydrodynamicsActor > solver
Main hydrodynamics solver.
void connect(Connector &&connector) const
Connector to the implementation internal state.