https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
19class SystemBase;
20class FEProblemBase;
22
23namespace libMesh
24{
25template <typename T>
26class NumericVector;
27class NonlinearImplicitSystem;
28} // namespace libMesh
29
35{
36public:
38
47 virtual void postResidual(NumericVector<Number> & /*residual*/) {}
48
63
64protected:
70 NumericVector<Number> *
71 addVector(const std::string & name, const bool project, const libMesh::ParallelType type);
72
75
78
80 NumericVector<Number> * _Re_time;
81
83 NumericVector<Number> * _Re_non_time;
84
87
90};
unsigned int TagID
Definition MooseTypes.h:238
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
Nonlinear system to be solved.
Interface class for routines and member variables for time integrators relying on Newton's method.
TagID uDotDotFactorTag() const
Returns the tag for the nodal multiplication factor for the residual calculation of the udotdot term.
NonlinearSystemBase * _nl
Pointer to the nonlinear system, can happen that we dont have any.
const TagID _u_dotdot_factor_tag
The vector 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.
NumericVector< Number > * _Re_non_time
residual vector for non-time contributions
virtual void postResidual(NumericVector< Number > &)
Callback to the NonLinearTimeIntegratorInterface called immediately after the residuals are computed ...
const TagID _u_dot_factor_tag
The vector tag for the nodal multiplication factor for the residual calculation of the udot term.
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_time
residual vector for time contributions
libMesh::NonlinearImplicitSystem * _nonlinear_implicit_system
libMesh nonlinear implicit system, if applicable; otherwise, nullptr
Base class for a system (of equations)
Definition SystemBase.h:87
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...