22#ifdef ESPRESSO_WALBERLA
32#include "system/System.hpp"
60 if (impl.
solver.has_value()) {
61 if (
auto const *ptr = std::get_if<lb_value_type>(&(*impl.
solver))) {
62 auto const &instance = **ptr;
96 }
catch (std::runtime_error
const &
e) {
121 throw std::runtime_error(
"Temperature change not supported by EK");
126 auto const &box_geo = *
system.box_geo;
128 auto const agrid = box_geo.length()[0] / lattice.get_grid_dimensions()[0];
LBWalberlaBase provides the public interface of the LB waLBerla bridge.
cudaStream_t stream[1]
CUDA streams for parallel computing on CPU and GPU.
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.