OGS
PrimaryVariableConstraintDirichletBoundaryCondition.h
Go to the documentation of this file.
1
11#pragma once
12
13#include <memory>
14
15#include "BoundaryCondition.h"
16
17namespace BaseLib
18{
19class ConfigTree;
20}
21namespace ParameterLib
22{
23template <typename T>
24struct Parameter;
25}
26
27namespace ProcessLib
28{
37 : public BoundaryCondition
38{
39public:
41 ParameterLib::Parameter<double> const& parameter,
42 MeshLib::Mesh const& bc_mesh,
43 NumLib::LocalToGlobalIndexMap const& dof_table_bulk,
44 int const variable_id, int const component_id,
45 ParameterLib::Parameter<double> const& threshold_parameter,
46 bool const less);
47
49 const double t, GlobalVector const& x,
50 NumLib::IndexValueVector<GlobalIndexType>& bc_values) const override;
51
52private:
55
57 std::unique_ptr<NumLib::LocalToGlobalIndexMap const> _dof_table_boundary;
58 int const _variable_id;
59 int const _component_id;
60
64
73 bool const _less;
74};
75
76std::unique_ptr<PrimaryVariableConstraintDirichletBoundaryCondition>
78 BaseLib::ConfigTree const& config, MeshLib::Mesh const& bc_mesh,
79 NumLib::LocalToGlobalIndexMap const& dof_table_bulk, int const variable_id,
80 int const component_id,
81 const std::vector<std::unique_ptr<ParameterLib::ParameterBase>>&
82 parameters);
83
84} // namespace ProcessLib
Global vector based on Eigen vector.
Definition EigenVector.h:25
void getEssentialBCValues(const double t, GlobalVector const &x, NumLib::IndexValueVector< GlobalIndexType > &bc_values) const override
Writes the values of essential BCs to bc_values.
PrimaryVariableConstraintDirichletBoundaryCondition(ParameterLib::Parameter< double > const &parameter, MeshLib::Mesh const &bc_mesh, NumLib::LocalToGlobalIndexMap const &dof_table_bulk, int const variable_id, int const component_id, ParameterLib::Parameter< double > const &threshold_parameter, bool const less)
ParameterLib::Parameter< double > const & _parameter
< parameter that defines the Dirirchlet-type condition values
std::unique_ptr< PrimaryVariableConstraintDirichletBoundaryCondition > createPrimaryVariableConstraintDirichletBoundaryCondition(BaseLib::ConfigTree const &config, MeshLib::Mesh const &bc_mesh, NumLib::LocalToGlobalIndexMap const &dof_table_bulk, int const variable_id, int const component_id, const std::vector< std::unique_ptr< ParameterLib::ParameterBase > > &parameters)