33 using Tscal = shambase::VecComponent<Tvec>;
35 using Kernel = SPHKernel<Tscal>;
45 : context(context), solver_config(solver_config), storage(storage) {}
51 = std::function<sham::DeviceBuffer<Tfield>(std::function<field_getter_t>)>;
54 std::string field_name,
55 std::optional<std::function<py::array_t<Tfield>(
size_t, pybind11::dict &)>>
56 custom_getter = std::nullopt);
59 std::string field_name,
61 std::optional<std::function<py::array_t<Tfield>(
size_t, pybind11::dict &)>>
62 custom_getter = std::nullopt);
T & get_check_ref(const std::unique_ptr< T > &ptr, SourceLocation loc=SourceLocation())
Takes a std::unique_ptr and returns a reference to the object it holds. It throws a std::runtime_erro...