PreconditionerWithUpdate.hpp
Go to the documentation of this file.
41class DummyUpdatePreconditioner : public PreconditionerWithUpdate<typename OriginalPreconditioner::domain_type,
91 return std::make_shared<DummyUpdatePreconditioner<OriginalPreconditioner>>(std::forward<Args>(args)...);
99 Preconditioner<typename OriginalPreconditioner::domain_type, typename OriginalPreconditioner::range_type>>
110 using GenericPreconditioner = Preconditioner<typename OriginalPreconditioner::domain_type, typename OriginalPreconditioner::range_type>;
120 // return std::unique_ptr<GenericPreconditioner> {new auto(std::make_from_tuple<OriginalPreconditioner>(args_))};
133class RebuildOnUpdatePreconditioner : public PreconditionerWithUpdate<typename OriginalPreconditioner::domain_type,
139 : preconditioner_maker_(std::make_unique<PreconditionerMaker<OriginalPreconditioner, Args...>>(std::forward<Args>(args)...))
180 using GenericPreconditioner = Preconditioner<typename OriginalPreconditioner::domain_type, typename OriginalPreconditioner::range_type>;
Definition: PreconditionerWithUpdate.hpp:43 virtual void post(X &x) override Definition: PreconditionerWithUpdate.hpp:64 DummyUpdatePreconditioner(Args &&... args) Definition: PreconditionerWithUpdate.hpp:46 typename OriginalPreconditioner::range_type Y Definition: PreconditionerWithUpdate.hpp:52 virtual void pre(X &x, Y &b) override Definition: PreconditionerWithUpdate.hpp:54 virtual void apply(X &v, const Y &d) override Definition: PreconditionerWithUpdate.hpp:59 virtual void update() override Definition: PreconditionerWithUpdate.hpp:75 virtual bool hasPerfectUpdate() const override Definition: PreconditionerWithUpdate.hpp:79 virtual SolverCategory::Category category() const override Definition: PreconditionerWithUpdate.hpp:69 typename OriginalPreconditioner::domain_type X Definition: PreconditionerWithUpdate.hpp:51 Interface class adding the update() method to the preconditioner interface. Definition: PreconditionerWithUpdate.hpp:32 virtual void update()=0 virtual bool hasPerfectUpdate() const =0 Wrapper class of preconditioners that should be reconstructed on update. Definition: PreconditionerWithUpdate.hpp:135 SolverCategory::Category category() const override Definition: PreconditionerWithUpdate.hpp:162 typename OriginalPreconditioner::range_type Y Definition: PreconditionerWithUpdate.hpp:145 void apply(X &v, const Y &d) override Definition: PreconditionerWithUpdate.hpp:152 void update() override Definition: PreconditionerWithUpdate.hpp:168 void pre(X &x, Y &b) override Definition: PreconditionerWithUpdate.hpp:147 RebuildOnUpdatePreconditioner(Args... args) Definition: PreconditionerWithUpdate.hpp:138 void post(X &x) override Definition: PreconditionerWithUpdate.hpp:157 typename OriginalPreconditioner::domain_type X Definition: PreconditionerWithUpdate.hpp:144 bool hasPerfectUpdate() const override Definition: PreconditionerWithUpdate.hpp:173 Definition: fvbaseprimaryvariables.hh:141 auto getRebuildOnUpdateWrapper(Args... args) Wrapper function creating and return a shared pointer to a preconditioner which is reconstructed on u... Definition: PreconditionerWithUpdate.hpp:193 std::shared_ptr< DummyUpdatePreconditioner< OriginalPreconditioner > > getDummyUpdateWrapper(Args &&... args) Definition: PreconditionerWithUpdate.hpp:89 Interface class ensuring make function is overriden. Definition: PreconditionerWithUpdate.hpp:97 virtual ~GeneralPreconditionerMaker()=default 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:109 PreconditionerMaker(Args &&... args) Definition: PreconditionerWithUpdate.hpp:112 Preconditioner< typename OriginalPreconditioner::domain_type, typename OriginalPreconditioner::range_type > GenericPreconditioner Definition: PreconditionerWithUpdate.hpp:110 std::tuple< Args... > args_ Definition: PreconditionerWithUpdate.hpp:127 std::unique_ptr< GenericPreconditioner > make() override Definition: PreconditionerWithUpdate.hpp:118 |