OGS
|
The PrimaryVariableConstraintDirichletBoundaryCondition is a Dirichlet-type boundary condition.
The class implements a constraint Dirichlet-type boundary condition. Using a threshold for the primary variable which is given by a parameter the boundary condition can be switched on/off. The value that is set a Dirichlet-type boundary condition is given by another parameter.
Definition at line 36 of file PrimaryVariableConstraintDirichletBoundaryCondition.h.
#include <PrimaryVariableConstraintDirichletBoundaryCondition.h>
Public Member Functions | |
PrimaryVariableConstraintDirichletBoundaryCondition (ParameterLib::Parameter< double > const ¶meter, 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) | |
void | getEssentialBCValues (const double t, GlobalVector const &x, NumLib::IndexValueVector< GlobalIndexType > &bc_values) const override |
Writes the values of essential BCs to bc_values . | |
Public Member Functions inherited from ProcessLib::BoundaryCondition | |
virtual void | applyNaturalBC (const double, std::vector< GlobalVector * > const &, int const, GlobalMatrix *, GlobalVector &, GlobalMatrix *) |
virtual void | preTimestep (const double, std::vector< GlobalVector * > const &, int const) |
virtual void | postTimestep (const double, std::vector< GlobalVector * > const &, int const) |
virtual | ~BoundaryCondition ()=default |
Private Attributes | |
ParameterLib::Parameter< double > const & | _parameter |
< parameter that defines the Dirirchlet-type condition values | |
MeshLib::Mesh const & | _bc_mesh |
std::unique_ptr< NumLib::LocalToGlobalIndexMap const > | _dof_table_boundary |
int const | _variable_id |
int const | _component_id |
ParameterLib::Parameter< double > const & | _threshold_parameter |
bool const | _less |
ProcessLib::PrimaryVariableConstraintDirichletBoundaryCondition::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 ) |
Definition at line 27 of file PrimaryVariableConstraintDirichletBoundaryCondition.cpp.
References _bc_mesh, _component_id, _dof_table_boundary, _variable_id, ProcessLib::checkParametersOfDirichletBoundaryCondition(), NumLib::LocalToGlobalIndexMap::deriveBoundaryConstrainedMap(), and MeshLib::Mesh::getNodes().
|
overridevirtual |
Writes the values of essential BCs to bc_values
.
Reimplemented from ProcessLib::BoundaryCondition.
Definition at line 54 of file PrimaryVariableConstraintDirichletBoundaryCondition.cpp.
References _bc_mesh, _component_id, _dof_table_boundary, _less, _parameter, _threshold_parameter, _variable_id, MathLib::EigenVector::get(), MeshLib::Mesh::getID(), MeshLib::Mesh::getNodes(), NumLib::IndexValueVector< typename >::ids, MeshLib::Node, NumLib::MeshComponentMap::nop, ParameterLib::SpatialPosition::setCoordinates(), ParameterLib::SpatialPosition::setNodeID(), and NumLib::IndexValueVector< typename >::values.
|
private |
Definition at line 56 of file PrimaryVariableConstraintDirichletBoundaryCondition.h.
Referenced by PrimaryVariableConstraintDirichletBoundaryCondition(), and getEssentialBCValues().
|
private |
Definition at line 59 of file PrimaryVariableConstraintDirichletBoundaryCondition.h.
Referenced by PrimaryVariableConstraintDirichletBoundaryCondition(), and getEssentialBCValues().
|
private |
Definition at line 57 of file PrimaryVariableConstraintDirichletBoundaryCondition.h.
Referenced by PrimaryVariableConstraintDirichletBoundaryCondition(), and getEssentialBCValues().
|
private |
The value less is used for the calculation of the constraint criterion. If less is set to true (i.e. 'less' is set in the project file) the criterion 'calculated_value < _threshold_parameter' is evaluated to switch on/off the boundary condition. If less will be set to false in case 'greater' is given in the project file and the condition 'calculated_value > _threshold_parameter' is evaluated.
Definition at line 73 of file PrimaryVariableConstraintDirichletBoundaryCondition.h.
Referenced by getEssentialBCValues().
|
private |
< parameter that defines the Dirirchlet-type condition values
Definition at line 54 of file PrimaryVariableConstraintDirichletBoundaryCondition.h.
Referenced by getEssentialBCValues().
|
private |
The threshold parameter used to the switch on/off the Dirichlet-type boundary condition.
Definition at line 63 of file PrimaryVariableConstraintDirichletBoundaryCondition.h.
Referenced by getEssentialBCValues().
|
private |
Definition at line 58 of file PrimaryVariableConstraintDirichletBoundaryCondition.h.
Referenced by PrimaryVariableConstraintDirichletBoundaryCondition(), and getEssentialBCValues().