22#include <ql/methods/finitedifferences/schemes/expliciteulerscheme.hpp>
28 : dt_(
Null<
Real>()), map_(
std::move(map)), bcSet_(bcSet) {}
35 QL_REQUIRE(t-
dt_ > -1e-8,
"a step towards negative time given");
36 map_->setTime(std::max(0.0, t -
dt_), t);
40 a += (theta*
dt_) *
map_->apply(a);
void applyAfterApplying(array_type &a) const
void applyBeforeApplying(operator_type &op) const
void setTime(Time t) const
const BoundaryConditionSchemeHelper bcSet_
const ext::shared_ptr< FdmLinearOpComposite > map_
ExplicitEulerScheme(ext::shared_ptr< FdmLinearOpComposite > map, const bc_set &bcSet=bc_set())
traits::array_type array_type
void step(array_type &a, Time t)
template class providing a null value for a given type.
Real Time
continuous quantity with 1-year units