Go to the documentation of this file.
20 #ifndef LIBMESH_NEWMARK_SOLVER_H
21 #define LIBMESH_NEWMARK_SOLVER_H
24 #include "libmesh/second_order_unsteady_solver.h"
116 virtual void solve ()
override;
204 #endif // LIBMESH_NEWMARK_SOLVER_H
bool(DifferentiablePhysics::* ResFuncType)(bool, DiffContext &)
Definitions of argument types for use in refactoring subclasses.
virtual bool _general_residual(bool request_jacobian, DiffContext &, ResFuncType mass, ResFuncType damping, ResFuncType time_deriv, ResFuncType constraint, ReinitFuncType reinit)
This method is the underlying implementation of the public residual methods.
bool _is_accel_solve
Need to be able to indicate to _general_residual if we are doing an acceleration solve or not.
void set_gamma(Real gamma)
Setter for .
Real _gamma
The value for to employ.
The libMesh namespace provides an interface to certain functionality in the library.
virtual ~NewmarkSolver()
Destructor.
void(DiffContext::* ReinitFuncType)(Real)
This class provides a specific system class.
virtual void adjoint_advance_timestep() override
This method advances the adjoint solution to the previous timestep, after an adjoint_solve() has been...
virtual bool element_residual(bool request_jacobian, DiffContext &) override
This method uses the DifferentiablePhysics' element_time_derivative() and element_constraint() to bui...
This class defines a Newmark time integrator for second order (in time) DifferentiableSystems.
void set_initial_accel_avail(bool initial_accel_set)
Allow the user to (re)set whether the initial acceleration is available.
This is a generic class that defines a solver to handle time integration of DifferentiableSystems.
void project_initial_accel(FunctionBase< Number > *f, FunctionBase< Gradient > *g=nullptr)
Specify non-zero initial acceleration.
bool _initial_accel_set
This method requires an initial acceleration.
Generic class from which second order UnsteadySolvers should subclass.
This class provides all data required for a physics package (e.g.
Real _beta
The value for the to employ.
void set_beta(Real beta)
Setter for .
virtual void compute_initial_accel()
This method uses the specified initial displacement and velocity to compute the initial acceleration ...
NewmarkSolver(sys_type &s)
Constructor.
virtual void advance_timestep() override
This method advances the solution to the next timestep, after a solve() has been performed.
UnsteadySolver Parent
The parent class.
virtual void reinit() override
The reinitialization function.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual bool nonlocal_residual(bool request_jacobian, DiffContext &) override
This method uses the DifferentiablePhysics' nonlocal_time_derivative() and nonlocal_constraint() to b...
virtual Real error_order() const override
Error convergence order: 2 for , 1 otherwise.
virtual bool side_residual(bool request_jacobian, DiffContext &) override
This method uses the DifferentiablePhysics' side_time_derivative() and side_constraint() to build a f...
virtual void solve() override
This method solves for the solution at the next timestep.