20#ifndef LIBMESH_NEWMARK_SYSTEM_H
21#define LIBMESH_NEWMARK_SYSTEM_H
24#include "libmesh/linear_implicit_system.h"
59 const std::string &
name,
60 const unsigned int number);
82 virtual void clear ()
override;
88 virtual void reinit ()
override;
100 virtual std::string
system_type ()
const override {
return "Newmark"; }
This is the EquationSystems class.
Manages consistently variables, degrees of freedom, coefficient vectors, matrices and linear solvers ...
This class contains a specific system class.
bool _finished_assemble
true if the matrix assembly is finished.
virtual void assemble() override
Assemble the linear system.
NewmarkSystem sys_type
The type of system.
virtual void reinit() override
Reinitializes the member data fields associated with the system, so that, e.g., assemble() may be use...
void initial_conditions()
Apply initial conditions.
void update_rhs()
Update the rhs.
void compute_matrix()
Compute the global matrix by adding up scaled mass damping and stiffness matrix.
static const Real _default_delta
Default Newmark delta.
Real _a_0
Constants used for the time integration.
void set_newmark_parameters(const Real delta_T=_default_timestep, const Real alpha=_default_alpha, const Real delta=_default_delta)
Set the time step size and the newmark parameter alpha and delta and calculate the constant parameter...
virtual std::string system_type() const override
NewmarkSystem(NewmarkSystem &&)=default
void update_u_v_a()
Update displacement, velocity and acceleration.
NewmarkSystem(const NewmarkSystem &)=delete
Special functions.
static const Real _default_timestep
Default Newmark time step.
NewmarkSystem & operator=(const NewmarkSystem &)=delete
static const Real _default_alpha
Default Newmark alpha.
virtual void clear() override
Clear all the data structures associated with the system.
const std::string & name() const
unsigned int number() const
The libMesh namespace provides an interface to certain functionality in the library.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real