On 08/19/2013 04:38 AM, Roy Stogner wrote:
> 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.
This approach would be great, I think.
I haven't used boundary IDs that apply to nodes before. I guess you're
referring to "nodesets" in BoundaryInfo? That looks convenient.
>> Would this be workable within the current DirichletBoundary framework
>> (perhaps there are some issues since it presumably uses L2 project on
> 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
> 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
> 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
No rush. I'd rather wait until you merge your branch.