-
Notifications
You must be signed in to change notification settings - Fork 92
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Affine constraint between two DBC constraints should work #530
Comments
fredrikekre
added a commit
that referenced
this issue
Nov 7, 2022
This patch fixes affine constraints with prescribed dofs in the RHS. In particular, we allow dofs that are prescribed by just an inhomogeneity (i.e. DBC) but disallow "nesting" affine constraints. Concretely, consider e.g. the following two constraints: u2 = f(t) u3 = u2 + b3 Before this patch this was not handled correctly since the inhomogeneity for u3 was taken as b3, but it should really be b3 + f(t) by substituting u2 for f(t). Since we allow for time-dependent inhomogeneities this substitution has to be done at runtime and not during close!(::ConstraintHandler). Nested constraints, e.g. u2 = u3 u3 = u5 are still not allowed but in the future this can be resolved in close!(::ConstraintHandler) to u2 = u5 u3 = u5 However, this patch checks for such nesting and raises an error instead of resulting in incorrect answers as is the case before. Fixes #530.
fredrikekre
added a commit
that referenced
this issue
Nov 7, 2022
This patch fixes affine constraints with prescribed dofs in the RHS. In particular, we allow dofs that are prescribed by just an inhomogeneity (i.e. DBC) but disallow "nesting" affine constraints. Concretely, consider e.g. the following two constraints: u2 = f(t) u3 = u2 + b3 Before this patch this was not handled correctly since the inhomogeneity for u3 was taken as b3, but it should really be b3 + f(t) by substituting u2 for f(t). Since we allow for time-dependent inhomogeneities this substitution has to be done at runtime and not during close!(::ConstraintHandler). Nested constraints, e.g. u2 = u3 u3 = u5 are still not allowed but in the future this can be resolved in close!(::ConstraintHandler) to u2 = u5 u3 = u5 However, this patch checks for such nesting and raises an error instead of resulting in incorrect answers as is the case before. Fixes #530.
fredrikekre
added a commit
that referenced
this issue
Nov 7, 2022
This patch fixes affine constraints with prescribed dofs in the RHS. In particular, we allow dofs that are prescribed by just an inhomogeneity (i.e. DBC) but disallow "nesting" affine constraints. Concretely, consider e.g. the following two constraints: u2 = f(t) u3 = u2 + b3 Before this patch this was not handled correctly since the inhomogeneity for u3 was taken as b3, but it should really be b3 + f(t) by substituting u2 for f(t). Since we allow for time-dependent inhomogeneities this substitution has to be done at runtime and not during close!(::ConstraintHandler). Nested constraints, e.g. u2 = u3 u3 = u5 are still not allowed but in the future this can be resolved in close!(::ConstraintHandler) to u2 = u5 u3 = u5 However, this patch checks for such nesting and raises an error instead of resulting in incorrect answers as is the case before. Fixes #530.
fredrikekre
added a commit
that referenced
this issue
Nov 8, 2022
This patch fixes affine constraints with prescribed dofs in the RHS. In particular, we allow dofs that are prescribed by just an inhomogeneity (i.e. DBC) but disallow "nesting" affine constraints. Concretely, consider e.g. the following two constraints: u2 = f(t) u3 = u2 + b3 Before this patch this was not handled correctly since the inhomogeneity for u3 was taken as b3, but it should really be b3 + f(t) by substituting u2 for f(t). Since we allow for time-dependent inhomogeneities this substitution has to be done at runtime and not during close!(::ConstraintHandler). Nested constraints, e.g. u2 = u3 u3 = u5 are still not allowed but in the future this can be resolved in close!(::ConstraintHandler) to u2 = u5 u3 = u5 However, this patch checks for such nesting and raises an error instead of resulting in incorrect answers as is the case before. Fixes #530.
fredrikekre
added a commit
that referenced
this issue
Nov 8, 2022
This patch fixes affine constraints with prescribed dofs in the RHS. In particular, we allow dofs that are prescribed by just an inhomogeneity (i.e. DBC) but disallow "nesting" affine constraints. Concretely, consider e.g. the following two constraints: u2 = f(t) u3 = u2 + b3 Before this patch this was not handled correctly since the inhomogeneity for u3 was taken as b3, but it should really be b3 + f(t) by substituting u2 for f(t). Since we allow for time-dependent inhomogeneities this substitution has to be done at runtime and not during close!(::ConstraintHandler). Nested constraints, e.g. u2 = u3 u3 = u5 are still not allowed but in the future this can be resolved in close!(::ConstraintHandler) to u2 = u5 u3 = u5 However, this patch checks for such nesting and raises an error instead of resulting in incorrect answers as is the case before. Fixes #530.
fredrikekre
added a commit
that referenced
this issue
Nov 9, 2022
This patch fixes affine constraints with prescribed dofs in the RHS. In particular, we allow dofs that are prescribed by just an inhomogeneity (i.e. DBC) but disallow "nesting" affine constraints. Concretely, consider e.g. the following two constraints: u2 = f(t) u3 = u2 + b3 Before this patch this was not handled correctly since the inhomogeneity for u3 was taken as b3, but it should really be b3 + f(t) by substituting u2 for f(t). Since we allow for time-dependent inhomogeneities this substitution can not be done in close!(::ConstraintHandler) and instead the effective inhomogeneity is computed in update!. Nested constraints, e.g. u2 = u3 u3 = u5 are still not allowed but in the future this can be resolved in close!(::ConstraintHandler) to u2 = u5 u3 = u5 However, this patch checks for such nesting and raises an error instead of resulting in incorrect answers as is the case before. Fixes #530.
fredrikekre
added a commit
that referenced
this issue
Nov 9, 2022
This patch fixes affine constraints with prescribed dofs in the RHS. In particular, we allow dofs that are prescribed by just an inhomogeneity (i.e. DBC) but disallow "nesting" affine constraints. Concretely, consider e.g. the following two constraints: u2 = f(t) u3 = u2 + b3 Before this patch this was not handled correctly since the inhomogeneity for u3 was taken as b3, but it should really be b3 + f(t) by substituting u2 for f(t). Since we allow for time-dependent inhomogeneities this substitution can not be done in close!(::ConstraintHandler) and instead the effective inhomogeneity is computed in update!. Nested constraints, e.g. u2 = u3 u3 = u5 are still not allowed but in the future this can be resolved in close!(::ConstraintHandler) to u2 = u5 u3 = u5 However, this patch checks for such nesting and raises an error instead of resulting in incorrect answers as is the case before. Fixes #530.
fredrikekre
added a commit
that referenced
this issue
Nov 9, 2022
This patch fixes affine constraints with prescribed dofs in the RHS. In particular, we allow dofs that are prescribed by just an inhomogeneity (i.e. DBC) but disallow "nesting" affine constraints. Concretely, consider e.g. the following two constraints: u2 = f(t) u3 = u2 + b3 Before this patch this was not handled correctly since the inhomogeneity for u3 was taken as b3, but it should really be b3 + f(t) by substituting u2 for f(t). Since we allow for time-dependent inhomogeneities this substitution can not be done in close!(::ConstraintHandler) and instead the effective inhomogeneity is computed in update!. Nested constraints, e.g. u2 = u3 u3 = u5 are still not allowed but in the future this can be resolved in close!(::ConstraintHandler) to u2 = u5 u3 = u5 However, this patch checks for such nesting and raises an error instead of resulting in incorrect answers as is the case before. Fixes #530.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
K_affine_first
andK_dbc_first
are equal, but notf_affine_first
andf_dbc_first
.The text was updated successfully, but these errors were encountered: