Go to the documentation of this file.
20 #ifndef LIBMESH_UNSTEADY_SOLVER_H
21 #define LIBMESH_UNSTEADY_SOLVER_H
24 #include "libmesh/libmesh_common.h"
25 #include "libmesh/numeric_vector.h"
26 #include "libmesh/time_solver.h"
67 virtual void init ()
override;
80 virtual void reinit ()
override;
87 virtual void solve ()
override;
153 virtual bool is_steady()
const override {
return false; }
175 #endif // LIBMESH_UNSTEADY_SOLVER_H
virtual Real du(const SystemNorm &norm) const override
Computes the size of ||u^{n+1} - u^{n}|| in some norm.
virtual void reinit() override
The reinitialization function.
The libMesh namespace provides an interface to certain functionality in the library.
UnsteadySolver(sys_type &s)
Constructor.
This class provides a specific system class.
Number old_nonlinear_solution(const dof_id_type global_dof_number) const
virtual bool is_steady() const override
This is not a steady-state solver.
This is a generic class that defines a solver to handle time integration of DifferentiableSystems.
virtual void init_data() override
The data initialization function.
virtual void retrieve_timestep() override
This method retrieves all the stored solutions at the current system.time.
bool first_solve
A bool that will be true the first time solve() is called, and false thereafter.
std::unique_ptr< NumericVector< Number > > old_local_nonlinear_solution
Serial vector of _system.get_vector("_old_nonlinear_solution")
virtual unsigned int time_order() const =0
virtual Real error_order() const =0
This method should return the expected convergence order of the (non-local) error of the time discret...
virtual ~UnsteadySolver()
Destructor.
virtual void init() override
The initialization function.
virtual void advance_timestep() override
This method advances the solution to the next timestep, after a solve() has been performed.
MetaPhysicL::DualNumber< T, D > norm(const MetaPhysicL::DualNumber< T, D > &in)
This is a generic class that defines a solver to handle time integration of DifferentiableSystems.
This class defines a norm/seminorm to be applied to a NumericVector which contains coefficients in a ...
bool first_adjoint_step
A bool that will be true the first time adjoint_advance_timestep() is called, (when the primal soluti...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual void adjoint_advance_timestep() override
This method advances the adjoint solution to the previous timestep, after an adjoint_solve() has been...
virtual void solve() override
This method solves for the solution at the next timestep.