pub struct BoundaryConditions<'m, L> { /* private fields */ }Expand description
Degrees of freedom held fixed or at a value, chosen by node and component.
The components a layout has are the only ones that can be held, and an axis that a layout does not have is an error when compiling. The conditions borrow the sets they hold, such as those of the model they are for, so they cannot outlive them. Each is eliminated from the system unless it is made to be held by multipliers.
Implementations§
Source§impl<'m, L> BoundaryConditions<'m, L>where
L: Layout,
impl<'m, L> BoundaryConditions<'m, L>where
L: Layout,
pub fn new() -> Self
Sourcepub fn fix<C, I>(self, component: C, nodes: &'m NodeSet) -> Selfwhere
C: Component<L, I>,
pub fn fix<C, I>(self, component: C, nodes: &'m NodeSet) -> Selfwhere
C: Component<L, I>,
Holds a component of every node in a set at its initial value.
Sourcepub fn fix_by<C, I>(
self,
enforcement: Enforcement,
_: C,
nodes: &'m NodeSet,
) -> Selfwhere
C: Component<L, I>,
pub fn fix_by<C, I>(
self,
enforcement: Enforcement,
_: C,
nodes: &'m NodeSet,
) -> Selfwhere
C: Component<L, I>,
Holds a component of every node in a set at its initial value, the way given.
Sourcepub fn fix_nodes<C, I>(
self,
component: C,
nodes: impl IntoIterator<Item = usize>,
) -> Selfwhere
C: Component<L, I>,
pub fn fix_nodes<C, I>(
self,
component: C,
nodes: impl IntoIterator<Item = usize>,
) -> Selfwhere
C: Component<L, I>,
Holds a component of the listed nodes at its initial value.
Sourcepub fn fix_nodes_by<C, I>(
self,
enforcement: Enforcement,
_: C,
nodes: impl IntoIterator<Item = usize>,
) -> Selfwhere
C: Component<L, I>,
pub fn fix_nodes_by<C, I>(
self,
enforcement: Enforcement,
_: C,
nodes: impl IntoIterator<Item = usize>,
) -> Selfwhere
C: Component<L, I>,
Holds a component of the listed nodes at its initial value, the way given.
Sourcepub fn fix_node<C, I>(self, component: C, node: usize) -> Selfwhere
C: Component<L, I>,
pub fn fix_node<C, I>(self, component: C, node: usize) -> Selfwhere
C: Component<L, I>,
Holds a component of a node at its initial value.
Sourcepub fn fix_node_by<C, I>(
self,
enforcement: Enforcement,
_: C,
node: usize,
) -> Selfwhere
C: Component<L, I>,
pub fn fix_node_by<C, I>(
self,
enforcement: Enforcement,
_: C,
node: usize,
) -> Selfwhere
C: Component<L, I>,
Holds a component of a node at its initial value, the way given.
Sourcepub fn prescribe<C, I>(
self,
component: C,
nodes: &'m NodeSet,
value: C::Value,
) -> Selfwhere
C: Component<L, I> + Prescribable,
pub fn prescribe<C, I>(
self,
component: C,
nodes: &'m NodeSet,
value: C::Value,
) -> Selfwhere
C: Component<L, I> + Prescribable,
Holds a component of every node in a set at a value.
Sourcepub fn prescribe_by<C, I>(
self,
enforcement: Enforcement,
_: C,
nodes: &'m NodeSet,
value: C::Value,
) -> Selfwhere
C: Component<L, I> + Prescribable,
pub fn prescribe_by<C, I>(
self,
enforcement: Enforcement,
_: C,
nodes: &'m NodeSet,
value: C::Value,
) -> Selfwhere
C: Component<L, I> + Prescribable,
Holds a component of every node in a set at a value, the way given.
Sourcepub fn prescribe_nodes<C, I>(
self,
component: C,
nodes: impl IntoIterator<Item = usize>,
value: C::Value,
) -> Selfwhere
C: Component<L, I> + Prescribable,
pub fn prescribe_nodes<C, I>(
self,
component: C,
nodes: impl IntoIterator<Item = usize>,
value: C::Value,
) -> Selfwhere
C: Component<L, I> + Prescribable,
Holds a component of the listed nodes at a value.
Sourcepub fn prescribe_nodes_by<C, I>(
self,
enforcement: Enforcement,
_: C,
nodes: impl IntoIterator<Item = usize>,
value: C::Value,
) -> Selfwhere
C: Component<L, I> + Prescribable,
pub fn prescribe_nodes_by<C, I>(
self,
enforcement: Enforcement,
_: C,
nodes: impl IntoIterator<Item = usize>,
value: C::Value,
) -> Selfwhere
C: Component<L, I> + Prescribable,
Holds a component of the listed nodes at a value, the way given.
Sourcepub fn prescribe_node<C, I>(
self,
component: C,
node: usize,
value: C::Value,
) -> Selfwhere
C: Component<L, I> + Prescribable,
pub fn prescribe_node<C, I>(
self,
component: C,
node: usize,
value: C::Value,
) -> Selfwhere
C: Component<L, I> + Prescribable,
Holds a component of a node at a value.
Sourcepub fn prescribe_node_by<C, I>(
self,
enforcement: Enforcement,
_: C,
node: usize,
value: C::Value,
) -> Selfwhere
C: Component<L, I> + Prescribable,
pub fn prescribe_node_by<C, I>(
self,
enforcement: Enforcement,
_: C,
node: usize,
value: C::Value,
) -> Selfwhere
C: Component<L, I> + Prescribable,
Holds a component of a node at a value, the way given.
Sourcepub fn conditions(&self) -> &[BoundaryCondition<'m>]
pub fn conditions(&self) -> &[BoundaryCondition<'m>]
The conditions, in the order they were made.
Sourcepub fn constraint(&self) -> EqualityConstraints
pub fn constraint(&self) -> EqualityConstraints
The constraints holding the degrees of freedom, one for each condition.
A condition eliminated at its initial values is fixed, with the indices in ascending order and without repeats, and any other eliminated is prescribed. One held by multipliers has the indices as they are.