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>;
119 // return std::unique_ptr<GenericPreconditioner> {new auto(std::make_from_tuple<OriginalPreconditioner>(args_))};
132class RebuildOnUpdatePreconditioner : public PreconditionerWithUpdate<typename OriginalPreconditioner::domain_type,
138 : preconditioner_maker_(std::make_unique<PreconditionerMaker<OriginalPreconditioner, Args...>>(std::forward<Args>(args)...))
178 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:134 typename OriginalPreconditioner::range_type Y Definition: PreconditionerWithUpdate.hpp:144 void update() override Definition: PreconditionerWithUpdate.hpp:167 virtual SolverCategory::Category category() const override Definition: PreconditionerWithUpdate.hpp:161 RebuildOnUpdatePreconditioner(Args... args) Definition: PreconditionerWithUpdate.hpp:137 virtual void apply(X &v, const Y &d) override Definition: PreconditionerWithUpdate.hpp:151 virtual bool hasPerfectUpdate() const override Definition: PreconditionerWithUpdate.hpp:172 typename OriginalPreconditioner::domain_type X Definition: PreconditionerWithUpdate.hpp:143 virtual void pre(X &x, Y &b) override Definition: PreconditionerWithUpdate.hpp:146 virtual void post(X &x) override Definition: PreconditionerWithUpdate.hpp:156 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:191 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:126 ~PreconditionerMaker() Definition: PreconditionerWithUpdate.hpp:125 std::unique_ptr< GenericPreconditioner > make() override Definition: PreconditionerWithUpdate.hpp:117 |