On Oct 31, 2008, at 3:11 PM, Kirk, Benjamin (JSC-EG) wrote:

Right now the form is

U_constrained is some linear combination of U_unconstrained... 

What about generalizing it to '+constant', where the constant (which could be a function of time) is your dirichlet value?

I think you'll actually want to make it more like U_constrained = constant... but yeah... that's the idea.

We can still provide some user-friendly way to set the constant for dirichlet bcs...

Now the questions shifts to how to provide that constant.  My recommendation for now is to call a function that takes (x, y, z, t, boundary_id).  The problem is that nodes (and DOFs) don't have a boundary id.  We could add one... but then the question shifts to how to apply those boundary_id's.  My vote is that during equation_system_init() / reinit() we read the BoundaryInfo object on the mesh and apply the boundary_id of any face to all of it's nodes.  That way boundary id's are automatically propagated from "sidesets" after adaptivity.  Trying to "prolong" nodesets is a bad bad bad... I can get into why if anyone is interested.  Let me just say that I've been there... and it's not good.

What do you think?

Can we pay the price of putting an unsigned int on every node?