14#include <jem/base/Class.h>
15#include <jem/base/ClassTemplate.h>
16#include <jem/base/StringObject.h>
17#include <jem/util/Properties.h>
18#include <jive/app/ModuleFactory.h>
19#include <jive/implict/Names.h>
20#include <jive/implict/NonlinModule.h>
21#include <jive/implict/SolverInfo.h>
22#include <jive/implict/SolverModule.h>
23#include <jive/model/Actions.h>
24#include <jive/model/Model.h>
25#include <jive/model/Names.h>
26#include <jive/model/StateVector.h>
27#include <jive/solver/SolverException.h>
28#include <jive/util/DofSpace.h>
29#include <jive/util/FuncUtils.h>
30#include <jive/util/Globdat.h>
31#include <jive/util/utilities.h>
33using jem::newInstance;
35using jive::Properties;
38using jive::app::Module;
39using jive::implict::NonlinModule;
40using jive::implict::SolverInfo;
41using jive::implict::SolverModule;
42using jive::model::ActionParams;
43using jive::model::Actions;
44using jive::model::Model;
45using jive::model::StateVector;
46using jive::util::DofSpace;
47using jive::util::FuncUtils;
48using jive::util::Globdat;
72 Ref<NonlinModule> solver =
nullptr);
79 virtual Status
init(
const Properties &conf,
80 const Properties &props,
81 const Properties &globdat)
override;
86 virtual void configure(
const Properties &props,
87 const Properties &globdat)
override;
92 virtual void getConfig(
const Properties &props,
93 const Properties &globdat)
const override;
97 virtual void advance(
const Properties &globdat)
override;
102 virtual void solve(
const Properties &info,
103 const Properties &globdat)
override;
107 virtual void cancel(
const Properties &globdat)
override;
112 virtual bool commit(
const Properties &globdat)
override;
128 static Ref<Module>
makeNew(
const String &name,
129 const Properties &conf,
130 const Properties &props,
131 const Properties &globdat);
143 Ref<NonlinModule> solver_;
150 double oldLoadScale_;
168 solver_->setPrecision(eps);
175 return solver_->getPrecision();
Module for adaptive time stepping in nonlinear analysis.
Definition AdaptiveStepModule.h:59
virtual void cancel(const Properties &globdat) override
Cancel current solution attempt.
Definition AdaptiveStepModule.cpp:169
virtual Status init(const Properties &conf, const Properties &props, const Properties &globdat) override
Initialize the module.
Definition AdaptiveStepModule.cpp:107
static const char * TYPE_NAME
Module type name.
Definition AdaptiveStepModule.h:65
static void declare()
Register AdaptiveStepModule type with ModuleFactory.
Definition AdaptiveStepModule.cpp:260
static Ref< Module > makeNew(const String &name, const Properties &conf, const Properties &props, const Properties &globdat)
Factory method for creating new AdaptiveStepModule instances.
Definition AdaptiveStepModule.cpp:243
virtual double getPrecision() const override
Get current convergence precision.
Definition AdaptiveStepModule.h:173
virtual void configure(const Properties &props, const Properties &globdat) override
Configure the module from properties.
Definition AdaptiveStepModule.cpp:49
virtual bool commit(const Properties &globdat) override
Commit current solution.
Definition AdaptiveStepModule.cpp:188
virtual void getConfig(const Properties &props, const Properties &globdat) const override
Get current module configuration.
Definition AdaptiveStepModule.cpp:69
virtual void setPrecision(double eps) override
Set convergence precision.
Definition AdaptiveStepModule.h:166
virtual void solve(const Properties &info, const Properties &globdat) override
Solve the current step with adaptive control.
Definition AdaptiveStepModule.cpp:147
virtual ~AdaptiveStepModule()
Protected destructor.
Definition AdaptiveStepModule.cpp:39
virtual void advance(const Properties &globdat) override
Advance to next time step.
Definition AdaptiveStepModule.cpp:88