29 class DragIntegrator {
32 using Tscal = shambase::VecComponent<Tvec>;
33 using Tgridscal = shambase::VecComponent<TgridVec>;
34 static constexpr u32 dim = shambase::VectorProperties<Tvec>::dimension;
40 using AMRBlock =
typename Config::AMRBlock;
41 using OrientedAMRGraph = OrientedAMRGraph<Tvec, TgridVec>;
44 Config &solver_config;
47 DragIntegrator(
ShamrockCtx &context, Config &solver_config, Storage &storage)
48 : context(context), solver_config(solver_config), storage(storage) {}
50 void involve_with_no_src(Tscal dt);
51 void enable_irk1_drag_integrator(Tscal dt);
52 void enable_expo_drag_integrator(Tscal dt);
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...