|
PreconditionerWithUpdate.hpp
Go to the documentation of this file.
43class DummyUpdatePreconditioner : public PreconditionerWithUpdate<typename OriginalPreconditioner::domain_type,
93 return std::make_shared<DummyUpdatePreconditioner<OriginalPreconditioner>>(std::forward<Args>(args)...);
153 Preconditioner<typename OriginalPreconditioner::domain_type, typename OriginalPreconditioner::range_type>>
164 using GenericPreconditioner = Preconditioner<typename OriginalPreconditioner::domain_type, typename OriginalPreconditioner::range_type>;
174 // return std::unique_ptr<GenericPreconditioner> {new auto(std::make_from_tuple<OriginalPreconditioner>(args_))};
187class RebuildOnUpdatePreconditioner : public PreconditionerWithUpdate<typename OriginalPreconditioner::domain_type,
193 : preconditioner_maker_(std::make_unique<PreconditionerMaker<OriginalPreconditioner, Args...>>(args...))
234 using GenericPreconditioner = Preconditioner<typename OriginalPreconditioner::domain_type, typename OriginalPreconditioner::range_type>;
Definition: PreconditionerWithUpdate.hpp:98 void update() override Definition: PreconditionerWithUpdate.hpp:106 void pre(X &x, Y &y) override Definition: PreconditionerWithUpdate.hpp:126 void post(X &x) override Definition: PreconditionerWithUpdate.hpp:130 DirectSolverUpdatePreconditioner(SolverCategory::Category category) Definition: PreconditionerWithUpdate.hpp:100 void resetNeedsRebuild() Definition: PreconditionerWithUpdate.hpp:121 bool hasPerfectUpdate() const override Definition: PreconditionerWithUpdate.hpp:111 bool needsRebuild() const Definition: PreconditionerWithUpdate.hpp:116 void apply(X &x, const Y &y) override Definition: PreconditionerWithUpdate.hpp:134 SolverCategory::Category category() const override Definition: PreconditionerWithUpdate.hpp:138 Definition: PreconditionerWithUpdate.hpp:45 virtual void post(X &x) override Definition: PreconditionerWithUpdate.hpp:66 DummyUpdatePreconditioner(Args &&... args) Definition: PreconditionerWithUpdate.hpp:48 typename OriginalPreconditioner::range_type Y Definition: PreconditionerWithUpdate.hpp:54 virtual void pre(X &x, Y &b) override Definition: PreconditionerWithUpdate.hpp:56 virtual void apply(X &v, const Y &d) override Definition: PreconditionerWithUpdate.hpp:61 virtual void update() override Definition: PreconditionerWithUpdate.hpp:77 virtual bool hasPerfectUpdate() const override Definition: PreconditionerWithUpdate.hpp:81 virtual SolverCategory::Category category() const override Definition: PreconditionerWithUpdate.hpp:71 typename OriginalPreconditioner::domain_type X Definition: PreconditionerWithUpdate.hpp:53 Interface class adding the update() method to the preconditioner interface. Definition: PreconditionerWithUpdate.hpp:34 virtual void update()=0 virtual bool hasPerfectUpdate() const =0 Wrapper class of preconditioners that should be reconstructed on update. Definition: PreconditionerWithUpdate.hpp:189 SolverCategory::Category category() const override Definition: PreconditionerWithUpdate.hpp:216 typename OriginalPreconditioner::range_type Y Definition: PreconditionerWithUpdate.hpp:199 void apply(X &v, const Y &d) override Definition: PreconditionerWithUpdate.hpp:206 void update() override Definition: PreconditionerWithUpdate.hpp:222 void pre(X &x, Y &b) override Definition: PreconditionerWithUpdate.hpp:201 RebuildOnUpdatePreconditioner(Args... args) Definition: PreconditionerWithUpdate.hpp:192 void post(X &x) override Definition: PreconditionerWithUpdate.hpp:211 typename OriginalPreconditioner::domain_type X Definition: PreconditionerWithUpdate.hpp:198 bool hasPerfectUpdate() const override Definition: PreconditionerWithUpdate.hpp:227 Definition: fvbaseprimaryvariables.hh:161 auto getRebuildOnUpdateWrapper(Args... args) Wrapper function creating and return a shared pointer to a preconditioner which is reconstructed on u... Definition: PreconditionerWithUpdate.hpp:247 std::shared_ptr< DummyUpdatePreconditioner< OriginalPreconditioner > > getDummyUpdateWrapper(Args &&... args) Definition: PreconditionerWithUpdate.hpp:91 Interface class ensuring make function is overriden. Definition: PreconditionerWithUpdate.hpp:151 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:163 Preconditioner< typename OriginalPreconditioner::domain_type, typename OriginalPreconditioner::range_type > GenericPreconditioner Definition: PreconditionerWithUpdate.hpp:164 std::tuple< Args... > args_ Definition: PreconditionerWithUpdate.hpp:181 PreconditionerMaker(Args... args) Definition: PreconditionerWithUpdate.hpp:166 std::unique_ptr< GenericPreconditioner > make() override Definition: PreconditionerWithUpdate.hpp:172 |