PreconditionerWithUpdate.hpp
Go to the documentation of this file.
38class DummyUpdatePreconditioner : public PreconditionerWithUpdate<typename OriginalPreconditioner::domain_type,
84 return std::make_shared<DummyUpdatePreconditioner<OriginalPreconditioner>>(std::forward<Args>(args)...);
92 Preconditioner<typename OriginalPreconditioner::domain_type, typename OriginalPreconditioner::range_type>>
102 using GenericPreconditioner = Preconditioner<typename OriginalPreconditioner::domain_type, typename OriginalPreconditioner::range_type>;
111 // return std::unique_ptr<GenericPreconditioner> {new auto(std::make_from_tuple<OriginalPreconditioner>(args_))};
123class RebuildOnUpdatePreconditioner : public PreconditionerWithUpdate<typename OriginalPreconditioner::domain_type,
129 : preconditioner_maker_(std::make_unique<PreconditionerMaker<OriginalPreconditioner, Args...>>(std::forward<Args>(args)...))
165 using GenericPreconditioner = Preconditioner<typename OriginalPreconditioner::domain_type, typename OriginalPreconditioner::range_type>;
Definition: PreconditionerWithUpdate.hpp:40 virtual void post(X &x) override Definition: PreconditionerWithUpdate.hpp:61 DummyUpdatePreconditioner(Args &&... args) Definition: PreconditionerWithUpdate.hpp:43 typename OriginalPreconditioner::range_type Y Definition: PreconditionerWithUpdate.hpp:49 virtual void pre(X &x, Y &b) override Definition: PreconditionerWithUpdate.hpp:51 virtual void apply(X &v, const Y &d) override Definition: PreconditionerWithUpdate.hpp:56 virtual void update() override Definition: PreconditionerWithUpdate.hpp:72 virtual SolverCategory::Category category() const override Definition: PreconditionerWithUpdate.hpp:66 typename OriginalPreconditioner::domain_type X Definition: PreconditionerWithUpdate.hpp:48 Interface class adding the update() method to the preconditioner interface. Definition: PreconditionerWithUpdate.hpp:32 virtual void update()=0 Wrapper class of preconditioners that should be reconstructed on update. Definition: PreconditionerWithUpdate.hpp:125 typename OriginalPreconditioner::range_type Y Definition: PreconditionerWithUpdate.hpp:135 void update() override Definition: PreconditionerWithUpdate.hpp:158 virtual SolverCategory::Category category() const override Definition: PreconditionerWithUpdate.hpp:152 RebuildOnUpdatePreconditioner(Args... args) Definition: PreconditionerWithUpdate.hpp:128 virtual void apply(X &v, const Y &d) override Definition: PreconditionerWithUpdate.hpp:142 typename OriginalPreconditioner::domain_type X Definition: PreconditionerWithUpdate.hpp:134 virtual void pre(X &x, Y &b) override Definition: PreconditionerWithUpdate.hpp:137 virtual void post(X &x) override Definition: PreconditionerWithUpdate.hpp:147 Definition: SupportsFaceTag.hpp:27 auto getRebuildOnUpdateWrapper(Args... args) Wrapper function creating and return a shared pointer to a preconditioner which is reconstructed on u... Definition: PreconditionerWithUpdate.hpp:178 std::shared_ptr< DummyUpdatePreconditioner< OriginalPreconditioner > > getDummyUpdateWrapper(Args &&... args) Definition: PreconditionerWithUpdate.hpp:82 Interface class ensuring make function is overriden. Definition: PreconditionerWithUpdate.hpp:90 virtual std::unique_ptr< Preconditioner< typename OriginalPreconditioner::domain_type, typename OriginalPreconditioner::range_type > > make()=0 Struct implementing a make function which creates a preconditioner Can create arbitrary preconditione... Definition: PreconditionerWithUpdate.hpp:101 PreconditionerMaker(Args &&... args) Definition: PreconditionerWithUpdate.hpp:104 Preconditioner< typename OriginalPreconditioner::domain_type, typename OriginalPreconditioner::range_type > GenericPreconditioner Definition: PreconditionerWithUpdate.hpp:102 std::tuple< Args... > args_ Definition: PreconditionerWithUpdate.hpp:117 std::unique_ptr< GenericPreconditioner > make() override Definition: PreconditionerWithUpdate.hpp:109 |