OGS
DirichletBoundaryConditionWithinTimeInterval.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
10#include "BoundaryCondition.h"
12
13namespace BaseLib
14{
15class ConfigTree;
16struct TimeInterval;
17} // namespace BaseLib
18
19namespace MeshLib
20{
21class Node;
22}
23
24namespace ParameterLib
25{
26template <typename T>
27struct Parameter;
28}
29
30namespace ProcessLib
31{
33 : public BoundaryCondition
34{
35public:
37 BaseLib::TimeInterval time_interval,
38 ParameterLib::Parameter<double> const& parameter,
39 MeshLib::Mesh const& bc_mesh,
40 NumLib::LocalToGlobalIndexMap const& dof_table_bulk,
41 int const variable_id, int const component_id);
42
44 const double t, GlobalVector const& x,
45 NumLib::IndexValueVector<GlobalIndexType>& bc_values) const override;
46
47private:
48 void config(NumLib::LocalToGlobalIndexMap const& dof_table_bulk);
49
50private:
52
54
55 std::unique_ptr<NumLib::LocalToGlobalIndexMap const> _dof_table_boundary;
56 int const _variable_id;
57 int const _component_id;
58
60};
61} // namespace ProcessLib
MathLib::EigenVector GlobalVector
void getEssentialBCValues(const double t, GlobalVector const &x, NumLib::IndexValueVector< GlobalIndexType > &bc_values) const override
Writes the values of essential BCs to bc_values.
DirichletBoundaryConditionWithinTimeInterval(BaseLib::TimeInterval time_interval, ParameterLib::Parameter< double > const &parameter, MeshLib::Mesh const &bc_mesh, NumLib::LocalToGlobalIndexMap const &dof_table_bulk, int const variable_id, int const component_id)
std::unique_ptr< NumLib::LocalToGlobalIndexMap const > _dof_table_boundary