dynLattice
Loading...
Searching...
No Matches
LenientNonlinModule.h
Go to the documentation of this file.
1
17#pragma once
18
19#include <jem/util/Properties.h>
20
21#include <jive/implict/Names.h>
22#include <jive/implict/NonlinModule.h>
23#include <jive/model/Model.h>
24
25using jem::idx_t;
26using jem::Ref;
27using jem::String;
28
29using jem::util::Properties;
30using jive::app::Module;
31using jive::implict::NonlinModule;
32using jive::model::Model;
33
46class LenientNonlinModule : public NonlinModule
47{
48public:
51 static const char *TYPE_NAME;
53
54 JEM_DECLARE_CLASS(LenientNonlinModule, NonlinModule);
57 explicit LenientNonlinModule(const String &name = "lenient");
58
65 static Ref<Module> makeNew(const String &name,
66 const Properties &conf,
67 const Properties &props,
68 const Properties &globdat);
69
71 static void declare();
72
80 virtual Status init(const Properties &conf,
81 const Properties &props,
82 const Properties &globdat) override;
83
90 virtual Status run(const Properties &globdat) override;
91
96 virtual void configure(const Properties &props,
97 const Properties &globdat) override;
98
103 virtual void getConfig(const Properties &conf,
104 const Properties &globdat) const override;
105
106protected:
108 virtual ~LenientNonlinModule();
109
110private:
113 idx_t maxIter_;
115};
Lenient nonlinear solver with relaxed convergence criteria.
Definition LenientNonlinModule.h:47
virtual Status run(const Properties &globdat) override
Run the lenient nonlinear solver.
Definition LenientNonlinModule.cpp:77
static Ref< Module > makeNew(const String &name, const Properties &conf, const Properties &props, const Properties &globdat)
Factory method for creating new LenientNonlinModule instances.
Definition LenientNonlinModule.cpp:159
virtual ~LenientNonlinModule()
Protected destructor.
Definition LenientNonlinModule.cpp:49
virtual Status init(const Properties &conf, const Properties &props, const Properties &globdat) override
Initialize the module.
Definition LenientNonlinModule.cpp:60
virtual void configure(const Properties &props, const Properties &globdat) override
Configure module parameters.
Definition LenientNonlinModule.cpp:133
static void declare()
Register LenientNonlinModule type with ModuleFactory.
Definition LenientNonlinModule.cpp:176
static const char * TYPE_NAME
Module type name.
Definition LenientNonlinModule.h:51
virtual void getConfig(const Properties &conf, const Properties &globdat) const override
Get current configuration.
Definition LenientNonlinModule.cpp:146