Skip to content
Snippets Groups Projects
Commit e73b2770 authored by Tom Fischer's avatar Tom Fischer
Browse files

[PL/SourceTerms] Introduce source term interface.

parent 584fe4a9
No related branches found
No related tags found
No related merge requests found
......@@ -20,7 +20,7 @@ NodalSourceTerm::NodalSourceTerm(
const int variable_id,
const int component_id,
Parameter<double> const& parameter)
: _source_term_dof_table(source_term_dof_table),
: SourceTerm(source_term_dof_table),
_bulk_mesh_id(bulk_mesh_id),
_st_mesh(st_mesh),
_variable_id(variable_id),
......
......@@ -9,12 +9,11 @@
#pragma once
#include "NumLib/DOF/LocalToGlobalIndexMap.h"
#include "ProcessLib/Parameter/Parameter.h"
#include "SourceTerm.h"
namespace ProcessLib
{
class NodalSourceTerm final
class NodalSourceTerm final : public SourceTerm
{
public:
explicit NodalSourceTerm(
......@@ -23,10 +22,9 @@ public:
const int variable_id, const int component_id,
Parameter<double> const& parameter);
void integrate(const double t, GlobalVector& b) const;
void integrate(const double t, GlobalVector& b) const override;
private:
NumLib::LocalToGlobalIndexMap const& _source_term_dof_table;
std::size_t const _bulk_mesh_id;
MeshLib::Mesh const& _st_mesh;
int const _variable_id;
......
/**
* \copyright
* Copyright (c) 2012-2018, OpenGeoSys Community (http://www.opengeosys.org)
* Distributed under a Modified BSD License.
* See accompanying file LICENSE.txt or
* http://www.opengeosys.org/project/license
*
*/
#pragma once
#include "NumLib/DOF/LocalToGlobalIndexMap.h"
#include "ProcessLib/Parameter/Parameter.h"
namespace ProcessLib
{
class SourceTerm
{
public:
SourceTerm(const NumLib::LocalToGlobalIndexMap& source_term_dof_table)
: _source_term_dof_table(source_term_dof_table)
{
}
virtual void integrate(const double t, GlobalVector& b) const = 0;
virtual ~SourceTerm() = default;
protected:
NumLib::LocalToGlobalIndexMap const& _source_term_dof_table;
};
} // namespace ProcessLib
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment