You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
adds restrictions to ProblemDescription to enforce constraints like zero mean value, coupled dofs and boundary data by Lagrange multipliers
Co-authored-by: chmerdon <[email protected]>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,9 @@
5
5
### Added
6
6
7
7
-`compute_periodic_coupling_matrix` can be computed thread parallel
8
+
- new "Restriction" objects using Lagrange multipliers internally
9
+
- user can apply linear `LinearFunctionalRestriction`, `ZeroMeanValueRestriction`, `MassRestriction`, `CoupledDofsRestriction` or `BoundaryDataRestriction` to the `ProblemDescription` by `apply_restriction!()`
10
+
- Incorporated new restriction objects in examples 201, 252, 312 and 212.
ExtendableFEM.jl provides functionality to apply various restrictions to your finite element problems through the `AbstractRestriction` type system. Restrictions enforce additional constraints on your solution that cannot be easily expressed through standard boundary conditions or the weak formulation.
4
+
5
+
## Built-in Restrictions
6
+
7
+
### Linear Functional Restriction
8
+
9
+
`LinearFunctionalRestriction` allows you to constrain a linear functional of a finite element unknown to a specific value. This is useful, for example, for enforcing that the solution has mean zero, or that an integral constraint is satisfied.
# Restrict the mean value to 1.0 with a specific operator
24
+
restriction =MassRestriction(u, value =1.0, operator = MyCustomOperator)
25
+
26
+
# Assign to the problem
27
+
assign_restriction!(PD, restriction)
28
+
```
29
+
30
+
### Coupled DOFs Restriction
31
+
32
+
`CoupledDofsRestriction` enables coupling between different degrees of freedom (DOFs) in your system. This is particularly useful for implementing periodic boundary conditions or other constraints where DOFs need to be related to each other. Compared to manipulating the system matrix directly via operators (e.g. `CombineDofs`), `CoupledDofsRestriction` is much faster for large systems.
`BoundaryDataRestriction` enforces prescribed boundary values for a finite element unknown. It can be used for both homogeneous (zero) and non-homogeneous boundary conditions, interpolating the boundary data as needed.
0 commit comments