24#ifdef ESPRESSO_WALBERLA
48 std::shared_ptr<::LBWalberlaBase> m_lb_fluid;
49 std::optional<ResourceObserver> m_mpi_cart_comm_observer;
55 double m_conv_velocity;
66 m_lb_fluid =
lb_sip->get_lb_fluid();
67 m_mpi_cart_comm_observer =
lb_sip->get_mpi_cart_comm_observer();
68 auto const lb_params =
lb_sip->get_lb_params();
69 auto const tau = lb_params->get_tau();
70 auto const agrid = lb_params->get_agrid();
71 m_conv_dens = Utils::int_pow<3>(
agrid);
72 m_conv_press = Utils::int_pow<1>(
agrid) * Utils::int_pow<2>(tau);
73 m_conv_force = Utils::int_pow<2>(tau) / Utils::int_pow<1>(
agrid);
74 m_conv_velocity = Utils::int_pow<1>(tau) / Utils::int_pow<1>(
agrid);
75 m_grid_size = m_lb_fluid->get_lattice().get_grid_dimensions();
LBWalberlaBase provides the public interface of the LB waLBerla bridge.
Vector implementation and trait types for boost qvm interoperability.
Bind parameters in the script interface.
void add_parameters(std::vector< AutoParameter > &¶ms)
Utils::Vector3i get_mapped_index(Utils::Vector3i const &index, Utils::Vector3i const &shape) const
std::string_view name() const
Variant do_call_method(std::string const &name, VariantMap const ¶ms) override
void do_construct(VariantMap const ¶ms) override
T get_value(Variant const &v)
Extract value of specific type T from a Variant.
std::unordered_map< std::string, Variant > VariantMap
static constexpr const ReadOnly read_only
Recursive variant implementation.