14#include "libmesh/nonlinear_implicit_system.h"
15#include "libmesh/nonlinear_solver.h"
16#include "libmesh/dof_map.h"
21 _nonlinear_implicit_system(_nl ? dynamic_cast<NonlinearImplicitSystem *>(&_nl->system())
23 _Re_time(_nl ? &_nl->getResidualTimeVector() : nullptr),
24 _Re_non_time(_nl ? &_nl->getResidualNonTimeVector() : nullptr),
25 _u_dot_factor_tag(problem.addVectorTag(
Moose::SOLUTION_DOT_TAG,
Moose::VECTOR_TAG_SOLUTION)),
27 problem.addVectorTag(
Moose::SOLUTION_DOTDOT_TAG,
Moose::VECTOR_TAG_SOLUTION))
31NumericVector<Number> *
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
Nonlinear system to be solved.
NonlinearSystemBase * _nl
Pointer to the nonlinear system, can happen that we dont have any.
NumericVector< Number > * addVector(const std::string &name, const bool project, const libMesh::ParallelType type)
Wrapper around vector addition for nonlinear time integrators.
NonlinearTimeIntegratorInterface(FEProblemBase &problem, SystemBase &system)
Base class for a system (of equations)
NumericVector< Number > & addVector(const std::string &vector_name, const bool project, const libMesh::ParallelType type)
Adds a solution length vector to the system.
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...