https://mooseframework.inl.gov
NonlinearTimeIntegratorInterface.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 // Moose includes
13 #include "MooseTypes.h"
14 
15 // Libmesh includes
16 #include "libmesh/enum_parallel_type.h"
17 
18 // Forward declarations
19 class SystemBase;
20 class FEProblemBase;
22 
23 namespace libMesh
24 {
25 template <typename T>
26 class NumericVector;
27 class NonlinearImplicitSystem;
28 } // namespace libMesh
29 
35 {
36 public:
38 
47  virtual void postResidual(NumericVector<Number> & /*residual*/) {}
48 
63 
64 protected:
71  addVector(const std::string & name, const bool project, const libMesh::ParallelType type);
72 
75 
78 
81 
84 
87 
90 };
const TagID _u_dot_factor_tag
The vector tag for the nodal multiplication factor for the residual calculation of the udot term...
unsigned int TagID
Definition: MooseTypes.h:210
Interface class for routines and member variables for time integrators relying on Newton&#39;s method...
NonlinearSystemBase * _nl
Pointer to the nonlinear system, can happen that we dont have any.
virtual void postResidual(NumericVector< Number > &)
Callback to the NonLinearTimeIntegratorInterface called immediately after the residuals are computed ...
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...
Base class for a system (of equations)
Definition: SystemBase.h:84
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
NumericVector< Number > * _Re_time
residual vector for time contributions
libMesh::NonlinearImplicitSystem * _nonlinear_implicit_system
libMesh nonlinear implicit system, if applicable; otherwise, nullptr
Nonlinear system to be solved.
const TagID _u_dotdot_factor_tag
The vector tag for the nodal multiplication factor for the residual calculation of the udotdot term...
TagID uDotDotFactorTag() const
Returns the tag for the nodal multiplication factor for the residual calculation of the udotdot term...
TagID uDotFactorTag() const
Returns the tag for the nodal multiplication factor for the residual calculation of the udot term...
NonlinearTimeIntegratorInterface(FEProblemBase &problem, SystemBase &system)
NumericVector< Number > * addVector(const std::string &name, const bool project, const libMesh::ParallelType type)
Wrapper around vector addition for nonlinear time integrators.
NumericVector< Number > * _Re_non_time
residual vector for non-time contributions