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
9#include "BoundaryCondition.h"
12
13namespace BaseLib
14{
15class ConfigTree;
16} // namespace BaseLib
17
18namespace MeshLib
19{
20class Node;
21}
22
23namespace ParameterLib
24{
25template <typename T>
26struct Parameter;
27}
28
29namespace ProcessLib
30{
32 : public BoundaryCondition
33{
34public:
36 NumLib::TimeInterval time_interval,
37 ParameterLib::Parameter<double> const& parameter,
38 MeshLib::Mesh const& bc_mesh,
39 NumLib::LocalToGlobalIndexMap const& dof_table_bulk,
40 int const variable_id, int const component_id);
41
43 const double t, GlobalVector const& x,
44 NumLib::IndexValueVector<GlobalIndexType>& bc_values) const override;
45
46private:
47 void config(NumLib::LocalToGlobalIndexMap const& dof_table_bulk);
48
49private:
51
53
54 std::unique_ptr<NumLib::LocalToGlobalIndexMap const> _dof_table_boundary;
55 int const _variable_id;
56 int const _component_id;
57
59};
60} // 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(NumLib::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