>>
>> I would hope that the solver can handle the case of multiple constraints
>> on a dof.
>
> Nope.  The solver should easily handle multiple constraints
> *affecting* a dof, but since we write each constraint row into the
> matrix in place of the row corresponding to some dof's test function,
> we need to have a way of choosing which dof gets used for which
> constraint.


Ah, OK. Yes, I can see that makes things trickier since it doesn't seem 
like there's a general way to choose which dof to overwrite with the 
constraint row.


>> If the constraints are consistent, then the solver should do
>> the right thing (i.e. completely fix the corner position in your
>> example), and if the constraints are inconsistent, then the solver
>> should complain about an ill-posed system. (The "double normal
>> displacement on a corner node" would be a good test case for this.)
>
> The first nasty case I can think of is the combination of a simple
> constraint on a vertical or horizontal wall (deltax = 0 or deltay = 0,
> obviously gets applied to the deltax dof or the deltay dof
> respectively) with a previously applied compound constraint on a
> neighboring diagonal wall.  Do we try to make sure that the compound
> constraint gets set on the dof which won't be subsequently
> constrained?  Do we try to "move" compound constraints automatically
> when we're overwriting them?

This does sound nasty... Do you see a good general solution here?

This makes me wonder if I should use Lagrange multipliers (via SCALAR 
variables) to impose the type of constraint I have in mind instead. That 
way we add the extra constraint rows to the system rather than modifying 
existing rows, which seems like it would avoid some complications. 
Though the downside of Lagrange multipliers is that it adds dofs to the 
system and turns it into a saddle-point problem, so certainly not a free 
lunch!

David


------------------------------------------------------------------------------
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test & Deployment 
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to