28 std::ranges::view
auto aU2,
bool isSectionUnitWidth=
true)
30 namespace rng = std::ranges;
32 assert(rng::size(aU1) == rng::size(aU2));
43 if (!isSectionUnitWidth)
return std::nullopt;
52 std::valarray<rng::range_value_t<
decltype(aU1)>> w_U1(aU1.data(),aU1.size());
53 std::valarray<rng::range_value_t<
decltype(aU1)>> w_U2(aU2.data(),aU2.size());
58 constexpr auto dx = 0.01;
62 auto c = std::sqrt(Sfx::cGravity<float64>*w_U1);
63 auto dtc = dx / (std::abs(V) + c);
std::optional< float64 > TimeStepCondition(std::ranges::view auto aU1, std::ranges::view auto aU2, bool isSectionUnitWidth=true)
Time step criteria stability (assume far left node is tie by b.c.).
Definition dbpp_TimeStepCondition.hpp:27