OGS
SourceTermCollection.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
7#include "SourceTerm.h"
8
9namespace ProcessLib
10{
12{
13public:
15 std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const&
16 parameters)
17 : _parameters(parameters)
18 {
19 }
20
21 void integrate(const double t, GlobalVector const& x, GlobalVector& b,
22 GlobalMatrix* jac) const;
23
25 std::vector<std::reference_wrapper<ProcessVariable>> const&
26 process_variables,
27 NumLib::LocalToGlobalIndexMap const& dof_table,
28 unsigned const integration_order,
29 const MeshLib::Mesh& bulk_mesh);
30
31private:
32 std::vector<std::unique_ptr<SourceTermBase>> _source_terms;
33 std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const&
35};
36
37} // namespace ProcessLib
MathLib::EigenMatrix GlobalMatrix
MathLib::EigenVector GlobalVector
void integrate(const double t, GlobalVector const &x, GlobalVector &b, GlobalMatrix *jac) const
SourceTermCollection(std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const &parameters)
void addSourceTermsForProcessVariables(std::vector< std::reference_wrapper< ProcessVariable > > const &process_variables, NumLib::LocalToGlobalIndexMap const &dof_table, unsigned const integration_order, const MeshLib::Mesh &bulk_mesh)
std::vector< std::unique_ptr< SourceTermBase > > _source_terms
std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const & _parameters