From: Roy S. <roy...@ic...> - 2013-08-19 02:38:56
|
On Mon, 19 Aug 2013, David Knezevic wrote: > DirichletBoundary objects currently work based on boundary IDs. I'd like > to be able to use DirichletBoundary objects to impose boundary > conditions on boundary nodes and/or edges of a mesh. > > The motivation is to use Node or Edge Dirichlet boundary conditions to > impose boundary conditions in structural analysis that don't constrain > rotation (e.g. to provide a simple way to model joints or pins). Makes perfect sense. > I guess the target Node or Edge could be identified by passing in > multiple boundary IDs and imposing the BC on the nodes or edges that > belong to all of those IDs. We have boundary IDs that apply to nodes though, don't we? I wonder if the right thing to do isn't just to add the same structure for edges and then make the dirichlet constraints code take notice. > Would this be workable within the current DirichletBoundary framework > (perhaps there are some issues since it presumably uses L2 project on > boundaries...) For parallel consistency we actually do: 1. Interpolate at nodes 2. L2 project any edge degrees of freedom left over when holding node dofs fixed 3. L2 project any face dofs left over when holding node and edge dofs fixed So it'd actually be relatively straightforward to mix node and edge dirichlet conditions into that. > and does this seem like a change of general interest? If so, I'm > happy to work on it. I'm currently cringing because I have an unmerged branch that edits a ton of dirichlet constraints code to handle adjoint problems with heterogeneous Dirichlet boundaries, and I don't want a mess of merge conflicts. It's passing make check, though, so I suppose I can turn it into a pull request even though it's not feature complete. As luck would have it, I already made all the changes that might have caused conflicts. --- Roy |