22#include <ql/methods/finitedifferences/schemes/douglasscheme.hpp>
27 ext::shared_ptr<FdmLinearOpComposite> map,
29 : dt_(
Null<
Real>()), theta_(theta), map_(
std::move(map)), bcSet_(bcSet) {}
32 QL_REQUIRE(t-
dt_ > -1e-8,
"a step towards negative time given");
33 map_->setTime(std::max(0.0, t-
dt_), t);
40 for (
Size i=0; i <
map_->size(); ++i) {
1-D array used in linear algebra.
void applyAfterSolving(array_type &a) const
void applyAfterApplying(array_type &a) const
void applyBeforeApplying(operator_type &op) const
void setTime(Time t) const
DouglasScheme(Real theta, ext::shared_ptr< FdmLinearOpComposite > map, const bc_set &bcSet=bc_set())
const BoundaryConditionSchemeHelper bcSet_
const ext::shared_ptr< FdmLinearOpComposite > map_
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
std::size_t Size
size of a container