OGS
|
The normal traction boundary condition is a special type of Neumann boundary condition where the given value is applied in the direction of the element's normal vector \(\mathbf{n}\):
\[ \bar{t} := \sigma \mathbf{n} = p \mathbf{n}, \]
where \(p\) is the value on the boundary given by the parameter tag.
Definition at line 32 of file NormalTractionBoundaryCondition.h.
#include <NormalTractionBoundaryCondition.h>
Public Member Functions | |
NormalTractionBoundaryCondition (unsigned const integration_order, unsigned const shapefunction_order, NumLib::LocalToGlobalIndexMap const &dof_table_bulk, int const variable_id, MeshLib::Mesh const &bc_mesh, ParameterLib::Parameter< double > const &pressure) | |
void | applyNaturalBC (const double t, std::vector< GlobalVector * > const &x, int const process_id, GlobalMatrix *K, GlobalVector &b, GlobalMatrix *Jac) override |
Public Member Functions inherited from ProcessLib::BoundaryCondition | |
virtual void | getEssentialBCValues (const double, GlobalVector const &, NumLib::IndexValueVector< GlobalIndexType > &) const |
Writes the values of essential BCs to bc_values . | |
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 | |
MeshLib::Mesh const & | _bc_mesh |
std::vector< MeshLib::Node * > | _nodes_subset |
std::unique_ptr< MeshLib::MeshSubset const > | _mesh_subset_all_nodes |
std::unique_ptr< NumLib::LocalToGlobalIndexMap > | _dof_table_boundary |
unsigned const | _integration_order |
Integration order for integration over the lower-dimensional elements. | |
std::vector< std::unique_ptr< NormalTractionBoundaryConditionLocalAssemblerInterface > > | _local_assemblers |
Local assemblers for each element of number of _elements. | |
ParameterLib::Parameter< double > const & | _pressure |
ProcessLib::NormalTractionBoundaryCondition::NormalTractionBoundaryCondition< GlobalDim, LocalAssemblerImplementation >::NormalTractionBoundaryCondition | ( | unsigned const | integration_order, |
unsigned const | shapefunction_order, | ||
NumLib::LocalToGlobalIndexMap const & | dof_table_bulk, | ||
int const | variable_id, | ||
MeshLib::Mesh const & | bc_mesh, | ||
ParameterLib::Parameter< double > const & | pressure ) |
Create a boundary condition process from given config, DOF-table, and a mesh subset for a given variable and its component. A local DOF-table, a subset of the given one, is constructed.
Definition at line 26 of file NormalTractionBoundaryCondition-impl.h.
References DBUG().
|
overridevirtual |
Calls local assemblers which calculate their contributions to the global matrix and the right-hand-side.
Reimplemented from ProcessLib::BoundaryCondition.
Definition at line 63 of file NormalTractionBoundaryCondition-impl.h.
References NumLib::SerialExecutor::executeMemberOnDereferenced().
|
private |
Definition at line 51 of file NormalTractionBoundaryCondition.h.
|
private |
Local dof table, a subset of the global one restricted to the participating number of _elements of the boundary condition.
Definition at line 61 of file NormalTractionBoundaryCondition.h.
|
private |
Integration order for integration over the lower-dimensional elements.
Definition at line 64 of file NormalTractionBoundaryCondition.h.
|
private |
Local assemblers for each element of number of _elements.
Definition at line 69 of file NormalTractionBoundaryCondition.h.
|
private |
Definition at line 57 of file NormalTractionBoundaryCondition.h.
|
private |
Intersection of boundary nodes and bulk mesh subset for the variable_id/component_id pair.
Definition at line 55 of file NormalTractionBoundaryCondition.h.
|
private |
Definition at line 71 of file NormalTractionBoundaryCondition.h.