Template Class BoundaryConditions¶
Defined in File boundary_conditions.h
Nested Relationships¶
Nested Types¶
Class Documentation¶
-
template<int dim, int spacedim = dim>
class BoundaryConditions¶ Persistent, aggregable recipes for an FE space’s affine constraints.
Public Types
-
using Space = FiniteElementSpace<dim, spacedim>¶
-
using Constraints = dealii::AffineConstraints<double>¶
-
using BoundaryId = dealii::types::boundary_id¶
-
using ConstraintRecipe = std::function<void(double, const Target&, Constraints&)>¶
Public Functions
-
template<typename Extractor>
inline explicit BoundaryConditions(const Field<dim, spacedim, Extractor> &field)¶
-
template<typename FunctionType, typename = std::enable_if_t<std::is_base_of_v<Function, FunctionType>>>
inline void add_dirichlet(const BoundaryId boundary_id, const FunctionType &function, const std::optional<dealii::ComponentMask> &mask = {})¶ Add one strong Dirichlet rule, optionally restricted by component.
Add a Dirichlet rule while retaining ownership of the function.
-
template<typename FunctionType, typename = std::enable_if_t<std::is_base_of_v<Function, FunctionType>>>
inline void add_dirichlet(const std::set<BoundaryId> &boundary_ids, const FunctionType &function, const std::optional<dealii::ComponentMask> &mask = {})¶
-
template<typename FunctionType, typename = std::enable_if_t<std::is_base_of_v<Function, FunctionType>>>
inline void add_nonzero_normal_flux(const BoundaryId boundary_id, const FunctionType &function, const std::optional<unsigned int> first_vector_component = {})¶ Add one possibly time-dependent nonzero normal-flux rule.
Add a normal-flux rule while retaining ownership of the function.
-
template<typename FunctionType, typename = std::enable_if_t<std::is_base_of_v<Function, FunctionType>>>
inline void add_nonzero_normal_flux(const std::set<BoundaryId> &boundary_ids, const FunctionType &function, const std::optional<unsigned int> first_vector_component = {})¶
-
inline void update(const double time) const¶
Rebuild the same AffineConstraints object at the supplied time.
-
template<typename Builder>
inline void register_with(Builder &builder) const¶ Register update(time) as a once-per-evaluation context hook.
-
inline void include_hanging_node_constraints(const bool include = true)¶
-
inline bool includes_hanging_node_constraints() const¶
-
inline std::size_t n_dirichlet_rules() const¶
-
inline std::size_t n_normal_flux_rules() const¶
-
inline std::size_t value_revision() const¶
-
inline std::size_t structure_revision() const¶
-
struct Target¶
Public Members
-
std::function<const DoFHandler&()> dof_handler¶
-
std::function<const dealii::IndexSet&()> locally_owned_dofs¶
-
std::function<const dealii::IndexSet&()> locally_relevant_dofs¶
-
std::function<Constraints&()> constraints¶
-
std::optional<dealii::ComponentMask> component_mask¶
-
std::optional<unsigned int> first_vector_component¶
-
std::function<const DoFHandler&()> dof_handler¶
-
using Space = FiniteElementSpace<dim, spacedim>¶