OGS
CreateSourceTerm.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#include <vector>
8
9#include "SourceTerm.h"
10
11namespace MeshLib
12{
13class Mesh;
14} // namespace MeshLib
15
16namespace NumLib
17{
19} // namespace NumLib
20
21namespace ParameterLib
22{
23struct ParameterBase;
24} // namespace ParameterLib
25
26namespace ProcessLib
27{
28class ProcessVariable;
29class SourceTerm;
30struct SourceTermConfig;
31
32std::unique_ptr<SourceTermBase> createSourceTerm(
33 const SourceTermConfig& config,
34 const NumLib::LocalToGlobalIndexMap& dof_table_bulk,
35 const MeshLib::Mesh& source_term_mesh, const int variable_id,
36 const unsigned integration_order, const unsigned shapefunction_order,
37 std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
38 std::vector<std::reference_wrapper<ProcessVariable>> const&
39 all_process_variables_for_this_process,
40 const MeshLib::Mesh& bulk_mesh);
41
42} // namespace ProcessLib
std::unique_ptr< SourceTermBase > createSourceTerm(const SourceTermConfig &config, const NumLib::LocalToGlobalIndexMap &dof_table_bulk, const MeshLib::Mesh &source_term_mesh, const int variable_id, const unsigned integration_order, const unsigned shapefunction_order, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const &parameters, std::vector< std::reference_wrapper< ProcessVariable > > const &all_process_variables_for_this_process, const MeshLib::Mesh &bulk_mesh)