OGS
ProcessLib/BoundaryConditionAndSourceTerm/SourceTerm.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
5
6#include <memory>
7
10
11namespace ProcessLib
12{
14{
15public:
16 virtual void integrate(const double t, GlobalVector const& x,
17 GlobalVector& b, GlobalMatrix* jac) const = 0;
18
19 virtual ~SourceTermBase() = default;
20};
21
23{
24public:
25 explicit SourceTerm(
26 std::unique_ptr<NumLib::LocalToGlobalIndexMap> source_term_dof_table)
27 : _source_term_dof_table{std::move(source_term_dof_table)}
28 {
29 }
30
31protected:
32 std::unique_ptr<NumLib::LocalToGlobalIndexMap> const _source_term_dof_table;
33};
34
35} // namespace ProcessLib
MathLib::EigenMatrix GlobalMatrix
MathLib::EigenVector GlobalVector
virtual void integrate(const double t, GlobalVector const &x, GlobalVector &b, GlobalMatrix *jac) const =0
virtual ~SourceTermBase()=default
SourceTerm(std::unique_ptr< NumLib::LocalToGlobalIndexMap > source_term_dof_table)
std::unique_ptr< NumLib::LocalToGlobalIndexMap > const _source_term_dof_table