https://mooseframework.inl.gov
Public Member Functions | Protected Attributes | List of all members
LinearTimeIntegratorInterface Class Reference

Interface class for routines and member variables for time integrators relying on linear system assembly method. More...

#include <LinearTimeIntegratorInterface.h>

Inheritance diagram for LinearTimeIntegratorInterface:
[legend]

Public Member Functions

 LinearTimeIntegratorInterface (SystemBase &system)
 
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. More...
 
virtual Real timeDerivativeMatrixContribution (const Real factor) const
 The time derivative's contribution to the right hand side of a linear system. More...
 

Protected Attributes

LinearSystem_linear_system
 Pointer to the linear system, can happen that we dont have any. More...
 
libMesh::LinearImplicitSystem_linear_implicit_system
 Nonlinear implicit system, if applicable; otherwise, nullptr. More...
 

Detailed Description

Interface class for routines and member variables for time integrators relying on linear system assembly method.

Definition at line 30 of file LinearTimeIntegratorInterface.h.

Constructor & Destructor Documentation

◆ LinearTimeIntegratorInterface()

LinearTimeIntegratorInterface::LinearTimeIntegratorInterface ( SystemBase system)

Definition at line 16 of file LinearTimeIntegratorInterface.C.

17  : _linear_system(dynamic_cast<LinearSystem *>(&system)),
19  _linear_system ? dynamic_cast<LinearImplicitSystem *>(&_linear_system->system()) : nullptr)
20 {
21 }
libMesh::LinearImplicitSystem * _linear_implicit_system
Nonlinear implicit system, if applicable; otherwise, nullptr.
LinearSystem * _linear_system
Pointer to the linear system, can happen that we dont have any.
virtual System & system() override
Get the reference to the libMesh system.
Definition: LinearSystem.h:107

Member Function Documentation

◆ timeDerivativeMatrixContribution()

Real LinearTimeIntegratorInterface::timeDerivativeMatrixContribution ( const Real  factor) const
virtual

The time derivative's contribution to the right hand side of a linear system.

For now, this does not depend of the DoF index, might change in the future.

Reimplemented in ImplicitEuler.

Definition at line 33 of file LinearTimeIntegratorInterface.C.

Referenced by LinearFVTimeDerivative::computeMatrixContribution().

34 {
35  mooseError("The time derivative matrix contribution has not been implemented yet",
36  _linear_system ? " for time integrator of system " + _linear_system->name() : "",
37  "!");
38 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:302
LinearSystem * _linear_system
Pointer to the linear system, can happen that we dont have any.
virtual const std::string & name() const
Definition: SystemBase.C:1330

◆ timeDerivativeRHSContribution()

Real LinearTimeIntegratorInterface::timeDerivativeRHSContribution ( dof_id_type  dof_id,
const std::vector< Real > &  factors = {} 
) const
virtual

The time derivative's contribution to the right hand side of a linear system.

Parameters
dof_idThe dof index at which this contribution should be fetched at
factorsMultiplicative factor (e.g. a material property) at multiple states (old, older, etc)

Reimplemented in ImplicitEuler.

Definition at line 24 of file LinearTimeIntegratorInterface.C.

Referenced by LinearFVTimeDerivative::computeRightHandSideContribution().

26 {
27  mooseError("The time derivative right hand side contribution has not been implemented yet",
28  _linear_system ? " for time integrator of system " + _linear_system->name() : "",
29  "!");
30 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:302
LinearSystem * _linear_system
Pointer to the linear system, can happen that we dont have any.
virtual const std::string & name() const
Definition: SystemBase.C:1330

Member Data Documentation

◆ _linear_implicit_system

libMesh::LinearImplicitSystem* LinearTimeIntegratorInterface::_linear_implicit_system
protected

Nonlinear implicit system, if applicable; otherwise, nullptr.

Definition at line 51 of file LinearTimeIntegratorInterface.h.

◆ _linear_system

LinearSystem* LinearTimeIntegratorInterface::_linear_system
protected

Pointer to the linear system, can happen that we dont have any.

Definition at line 48 of file LinearTimeIntegratorInterface.h.

Referenced by timeDerivativeMatrixContribution(), and timeDerivativeRHSContribution().


The documentation for this class was generated from the following files: