34 using Tscal = shambase::VecComponent<Tvec>;
35 static constexpr u32 dim = shambase::VectorProperties<Tvec>::dimension;
36 using Kernel = SPHKernel<Tscal>;
42 Config &solver_config;
45 AnalysisDisc(
ShamrockCtx &context, Config &solver_config, Storage &storage)
46 : context(context), solver_config(solver_config), storage(storage) {}
49 u32 mybin(Tscal radius,
const Tscal *__restrict bin_edges,
u32 Nbin) {
51 for (
u32 bini = 0; bini < Nbin; bini++) {
52 if (radius >= bin_edges[bini] && radius < bin_edges[bini + 1]) {
98 Tscal pmass, Tscal Rmin, Tscal Rmax,
u32 Nbin,
const ShamrockCtx &ctx);
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...