https://mooseframework.inl.gov
Loading...
Searching...
No Matches
LinearTimeIntegratorInterface.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// Forward declarations
16class SystemBase;
17class LinearSystem;
18
19namespace libMesh
20{
21template <typename T>
22class NumericVector;
23class LinearImplicitSystem;
24} // namespace libMesh
25
31{
32public:
34
39 virtual Real timeDerivativeRHSContribution(dof_id_type dof_id,
40 const std::vector<Real> & factors = {}) const;
41
44 virtual Real timeDerivativeMatrixContribution(const Real factor) const;
45
46protected:
49
52};
Linear system to be solved.
Interface class for routines and member variables for time integrators relying on linear system assem...
LinearSystem * _linear_system
Pointer to the linear system, can happen that we dont have any.
libMesh::LinearImplicitSystem * _linear_implicit_system
Nonlinear implicit system, if applicable; otherwise, nullptr.
virtual Real timeDerivativeRHSContribution(dof_id_type dof_id, const std::vector< Real > &factors={}) const
The time derivative's contribution to the right hand side of a linear system.
virtual Real timeDerivativeMatrixContribution(const Real factor) const
The time derivative's contribution to the right hand side of a linear system.
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...