18#ifndef LIBMESH_SECOND_ORDER_UNSTEADY_SOLVER_H
19#define LIBMESH_SECOND_ORDER_UNSTEADY_SOLVER_H
21#include "libmesh/unsteady_solver.h"
27template <
typename T>
class FunctionBase;
28template <
typename T>
class VectorValue;
67 virtual void init ()
override;
80 virtual void reinit ()
override;
This class provides a specific system class.
Base class for functors that can be evaluated at a point and (optionally) time.
Generic class from which second order UnsteadySolvers should subclass.
std::unique_ptr< NumericVector< Number > > _old_local_solution_rate
Serial vector of previous time step velocity .
Number old_solution_accel(const dof_id_type global_dof_number) const
virtual void reinit() override
The reinitialization function.
virtual void init_data() override
The data initialization function.
Number old_solution_rate(const dof_id_type global_dof_number) const
virtual unsigned int time_order() const override
virtual void init() override
The initialization function.
std::unique_ptr< NumericVector< Number > > _old_local_solution_accel
Serial vector of previous time step acceleration .
virtual void retrieve_timestep() override
This method retrieves all the stored solutions at the current system.time.
void project_initial_rate(FunctionBase< Number > *f, FunctionBase< Gradient > *g=nullptr)
Specify non-zero initial velocity.
virtual ~SecondOrderUnsteadySolver()
Destructor.
This is a generic class that defines a solver to handle time integration of DifferentiableSystems.
The libMesh namespace provides an interface to certain functionality in the library.
NumberVectorValue Gradient
VectorValue< Number > NumberVectorValue