40 double time_period = 1.0;
42 double time_left = time_period;
44 double max_step_size = time_period;
45 double min_step_size = 1
E-8;
46 double ini_step_size = time_period;
48 double tolerance = 1
E-12;
50 unsigned max_substep = 1000;
51 unsigned refinement = 10;
53 bool fixed_step_size =
false;
55 unsigned solver_tag = 0;
56 unsigned converger_tag = 0;
57 unsigned integrator_tag = 0;
76 explicit Step(
unsigned = 0,
double = 1.);
79 Step& operator=(const
Step&) = delete;
80 Step& operator=(
Step&&) noexcept = delete;
88 [[nodiscard]] const weak_ptr<DomainBase>&
get_domain() const;
95 [[nodiscard]] const shared_ptr<Solver>&
get_solver() const;
99 [[nodiscard]] const shared_ptr<Converger>&
get_converger() const;
103 [[nodiscard]] const shared_ptr<Integrator>&
get_integrator() const;
130 [[nodiscard]]
bool is_symm() const;
131 [[nodiscard]]
bool is_band() const;
const bool sparse_mat
Definition: Step.h:62
void set_refinement(unsigned)
Definition: Step.cpp:139
void set_domain(const weak_ptr< DomainBase > &)
Definition: Step.cpp:76
void set_band(bool) const
Definition: Step.cpp:167
void set_time_period(double)
Definition: Step.cpp:102
The DomainBase class is a template.
Definition: DomainBase.h:90
void set_converger(const shared_ptr< Converger > &)
Definition: Step.cpp:92
void set_tolerance(double)
Definition: Step.cpp:137
A Factory class.
Definition: DomainBase.h:44
double get_ini_step_size() const
Definition: Step.cpp:141
double get_time_left() const
Definition: Step.cpp:119
shared_ptr< Factory< double > > factory
Definition: Step.h:68
double get_max_step_size() const
Definition: Step.cpp:145
const bool symm_mat
Definition: Step.h:60
weak_ptr< DomainBase > database
Definition: Step.h:67
void set_precision(Precision)
Definition: Step.cpp:135
void set_solver(const shared_ptr< Solver > &)
Definition: Step.cpp:86
void set_factory(const shared_ptr< Factory< double >> &)
Definition: Step.cpp:80
const shared_ptr< Integrator > & get_integrator() const
Definition: Step.cpp:100
void set_integrator(const shared_ptr< Integrator > &)
Definition: Step.cpp:98
void set_max_substep(unsigned)
Definition: Step.cpp:131
double get_time_period() const
Definition: Step.cpp:117
bool is_fixed_step_size() const
Definition: Step.cpp:155
shared_ptr< Solver > solver
Definition: Step.h:69
const bool band_mat
Definition: Step.h:61
SolverType system_solver
Definition: Step.h:64
const shared_ptr< Factory< double > > & get_factory() const
Definition: Step.cpp:82
void set_min_step_size(double)
Definition: Step.cpp:127
const weak_ptr< DomainBase > & get_domain() const
Definition: Step.cpp:78
A Solver class defines solvers used in analysis.
Definition: Solver.h:38
void set_fixed_step_size(bool)
Definition: Step.cpp:157
double get_tolerance() const
Definition: Step.cpp:153
SolverType
Definition: Factory.hpp:57
bool is_symm() const
Definition: Step.cpp:159
void set_max_step_size(double)
Definition: Step.cpp:129
void set_integrator_tag(unsigned)
Definition: Step.cpp:96
The Integrator class is basically a wrapper of the DomainBase class with regard to some status changi...
Definition: Integrator.h:46
Step(unsigned=0, double=1.)
Definition: Step.cpp:33
virtual int initialize()
Definition: Step.cpp:39
The Converger class handles converger test to indicate if the iteration converges according to variou...
Definition: Converger.h:44
A base Tag class.
Definition: Tag.h:38
SolverType get_system_solver() const
Definition: Step.cpp:149
Precision get_precision() const
Definition: Step.cpp:151
void set_sparse(bool) const
Definition: Step.cpp:169
void set_symm(bool) const
Definition: Step.cpp:165
void set_converger_tag(unsigned)
Definition: Step.cpp:90
bool is_band() const
Definition: Step.cpp:161
double get_min_step_size() const
Definition: Step.cpp:143
A Step class.
Definition: Step.h:39
void set_time_left(double)
Definition: Step.cpp:115
bool is_sparse() const
Definition: Step.cpp:163
void set_ini_step_size(double)
Definition: Step.cpp:121
void set_system_solver(SolverType)
Definition: Step.cpp:133
void set_solver_tag(unsigned)
Definition: Step.cpp:84
shared_ptr< Converger > tester
Definition: Step.h:70
void configure_storage_scheme() const
Definition: Step.cpp:25
unsigned get_max_substep() const
Definition: Step.cpp:147
shared_ptr< Integrator > modifier
Definition: Step.h:71
Precision precision
Definition: Step.h:65
const shared_ptr< Converger > & get_converger() const
Definition: Step.cpp:94
const shared_ptr< Solver > & get_solver() const
Definition: Step.cpp:88