|
Smith
0.1
Smith is an implicit thermal structural mechanics simulation code.
|
A container for the boundary condition information relating to a specific physics module. More...
#include <boundary_condition_manager.hpp>
Public Member Functions | |
| BoundaryConditionManager (const mfem::ParMesh &mesh) | |
| Construct a new Boundary Condition Manager object. More... | |
| void | addEssential (const std::set< int > &ess_bdr, smith::GeneralCoefficient ess_bdr_coef, mfem::ParFiniteElementSpace &space, const std::optional< int > component={}) |
| Set the essential boundary conditions from a list of boundary markers and a coefficient. More... | |
| void | addEssential (const mfem::Array< int > &local_dofs, std::shared_ptr< mfem::Coefficient > ess_bdr_coef, mfem::ParFiniteElementSpace &space, std::optional< int > component={}) |
| Set a list of local degrees of freedom from a scalar coefficient. More... | |
| void | addEssentialByTrueDofs (const mfem::Array< int > &true_dofs, std::shared_ptr< mfem::VectorCoefficient > ess_bdr_coef, mfem::ParFiniteElementSpace &space) |
| const mfem::Array< int > & | allEssentialTrueDofs () const |
| Returns all the true degrees of freedom associated with all the essential BCs. More... | |
| const mfem::Array< int > & | allEssentialLocalDofs () const |
| Returns all the local degrees of freedom associated with all the essential BCs. More... | |
| std::unique_ptr< mfem::HypreParMatrix > | eliminateAllEssentialDofsFromMatrix (mfem::HypreParMatrix &matrix) const |
| Eliminates all essential BCs from a matrix. More... | |
| std::vector< BoundaryCondition > & | essentials () |
| Accessor for the essential BC objects. | |
| const std::vector< BoundaryCondition > & | essentials () const |
| Accessor for the essential BC objects. | |
A container for the boundary condition information relating to a specific physics module.
Definition at line 28 of file boundary_condition_manager.hpp.
|
inlineexplicit |
Construct a new Boundary Condition Manager object.
| mesh | The mesh for the underlying physics module |
Definition at line 35 of file boundary_condition_manager.hpp.
| void smith::BoundaryConditionManager::addEssential | ( | const mfem::Array< int > & | local_dofs, |
| std::shared_ptr< mfem::Coefficient > | ess_bdr_coef, | ||
| mfem::ParFiniteElementSpace & | space, | ||
| std::optional< int > | component = {} |
||
| ) |
Set a list of local degrees of freedom from a scalar coefficient.
| [in] | local_dofs | Indices of ldofs to set with a Dirichlet condition |
| [in] | ess_bdr_coef | The scalar coefficient that evaluates to the Dirichlet condition |
| [in] | space | The finite element space to which the BC should be applied |
| [in] | component | The component to set (null implies all components are set) |
Definition at line 32 of file boundary_condition_manager.cpp.
| void smith::BoundaryConditionManager::addEssential | ( | const std::set< int > & | ess_bdr, |
| smith::GeneralCoefficient | ess_bdr_coef, | ||
| mfem::ParFiniteElementSpace & | space, | ||
| const std::optional< int > | component = {} |
||
| ) |
Set the essential boundary conditions from a list of boundary markers and a coefficient.
| [in] | ess_bdr | The set of essential BC attributes |
| [in] | ess_bdr_coef | The essential BC value coefficient |
| [in] | space | The finite element space to which the BC should be applied |
| [in] | component | The component to set (null implies all components are set) |
Definition at line 15 of file boundary_condition_manager.cpp.
| void smith::BoundaryConditionManager::addEssentialByTrueDofs | ( | const mfem::Array< int > & | true_dofs, |
| std::shared_ptr< mfem::VectorCoefficient > | ess_bdr_coef, | ||
| mfem::ParFiniteElementSpace & | space | ||
| ) |
@ brief Set a list of true degrees of feedom from a vector coefficient
| [in] | true_dofs | Indices of tdofs to set with a Dirichlet condition |
| [in] | ess_bdr_coef | The coefficient that evaluates to the Dirichlet condition |
| [in] | space | The finite element space to which the BC should be applied |
Definition at line 47 of file boundary_condition_manager.cpp.
|
inline |
Returns all the local degrees of freedom associated with all the essential BCs.
Definition at line 85 of file boundary_condition_manager.hpp.
|
inline |
Returns all the true degrees of freedom associated with all the essential BCs.
Definition at line 73 of file boundary_condition_manager.hpp.
|
inline |
Eliminates all essential BCs from a matrix.
| [in,out] | matrix | The matrix to eliminate from, will be modified |
Definition at line 100 of file boundary_condition_manager.hpp.