Loading [MathJax]/extensions/tex2jax.js
OGS
PrimaryVariableConstraintDirichletBoundaryCondition.h
Go to the documentation of this file.
1
11#pragma once
12
13#include <memory>
14
15#include "BoundaryCondition.h"
17
18namespace BaseLib
19{
20class ConfigTree;
21}
22namespace ParameterLib
23{
24template <typename T>
25struct Parameter;
26}
27
28namespace ProcessLib
29{
38 : public BoundaryCondition
39{
40public:
42 ParameterLib::Parameter<double> const& parameter,
43 MeshLib::Mesh const& bc_mesh,
44 NumLib::LocalToGlobalIndexMap const& dof_table_bulk,
45 int const variable_id, int const component_id,
46 ParameterLib::Parameter<double> const& threshold_parameter,
47 bool const less);
48
50 const double t, GlobalVector const& x,
51 NumLib::IndexValueVector<GlobalIndexType>& bc_values) const override;
52
53private:
56
58 std::unique_ptr<NumLib::LocalToGlobalIndexMap const> _dof_table_boundary;
59 int const _variable_id;
60 int const _component_id;
61
65
74 bool const _less;
75};
76
77std::unique_ptr<PrimaryVariableConstraintDirichletBoundaryCondition>
79 BaseLib::ConfigTree const& config, MeshLib::Mesh const& bc_mesh,
80 NumLib::LocalToGlobalIndexMap const& dof_table_bulk, int const variable_id,
81 int const component_id,
82 const std::vector<std::unique_ptr<ParameterLib::ParameterBase>>&
83 parameters);
84
85} // 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)