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
ExtendableFEM.jl provides functionality to apply various restrictions to your finite element problems through the `AbstractRestriction` type system. Restrictions are used to enforce additional constraints on your solution that cannot be easily expressed through standard boundary conditions or the weak formulation.
3
+
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
4
5
5
## Built-in Restrictions
6
6
7
-
### Mean Value Restriction
7
+
### Linear Functional Restriction
8
8
9
-
`MeanValueRestriction` allows you to constrain the mean value of a scalar unknown to a specific value. This is particularly useful in problems where solutions are only unique up to a constant.
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
23
-
restriction =MeanValueRestriction(u, value =1.0, operator = MyCustomOperator)
24
+
restriction =MassRestriction(u, value =1.0, operator = MyCustomOperator)
24
25
25
-
#apply to the problem
26
+
#Assign to the problem
26
27
assign_restriction!(PD, restriction)
27
28
```
28
29
29
30
### Coupled DOFs Restriction
30
31
31
-
`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. See also `CombineDofs` operator, which does the same by maniplulating the system matrix.
32
-
However, the application of `CoupledDofsRestriction` much faster for larger systems, since the manipulation of the system matrix, as performed by operators, is very expensive.
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