29 #ifndef LEENEWMARKBASE_H 30 #define LEENEWMARKBASE_H 55 shared_ptr<Factory<double>>
factory =
nullptr;
69 int solve(mat&,
const mat&)
final;
70 int solve(mat&,
const sp_mat&)
final;
71 int solve(mat&, mat&&) final;
72 int solve(mat&, sp_mat&&) final;
virtual void update_stiffness() const =0
vec get_displacement_residual() final
Definition: LeeNewmarkBase.cpp:75
const StiffnessType stiffness_type
Definition: LeeNewmarkBase.h:47
StiffnessType
Definition: LeeNewmarkBase.h:38
vec trial_internal
Definition: LeeNewmarkBase.h:51
shared_ptr< Factory< double > > factory
Definition: LeeNewmarkBase.h:55
unique_ptr< MetaMat< double > > stiffness
Definition: LeeNewmarkBase.h:53
virtual void update_residual() const =0
void commit_status() final
Definition: LeeNewmarkBase.cpp:81
vec get_force_residual() final
Definition: LeeNewmarkBase.cpp:69
bool first_iteration
Definition: LeeNewmarkBase.h:49
int solve(mat &, const mat &) final
Definition: LeeNewmarkBase.cpp:61
void clear_status() final
Definition: LeeNewmarkBase.cpp:89
void reset_status() final
Definition: LeeNewmarkBase.cpp:97
A Newmark class defines a solver using Newmark algorithm.
Definition: Newmark.h:45
const uword n_block
Definition: LeeNewmarkBase.h:45
vec current_internal
Definition: LeeNewmarkBase.h:51
int update_internal(const mat &) final
Definition: LeeNewmarkBase.cpp:51
A LeeNewmarkBase class defines a solver using Newmark algorithm with Lee damping model.
Definition: LeeNewmarkBase.h:36
virtual uword get_total_size() const =0
LeeNewmarkBase(unsigned, double, double, StiffnessType=StiffnessType::CURRENT)
Definition: LeeNewmarkBase.cpp:22
vec residual
Definition: LeeNewmarkBase.h:51
int initialize() override
Definition: LeeNewmarkBase.cpp:27