I think we should:<div><br></div><div>1. change SNESVI to support general complementarity constraints because only doing box constraints on state variables is lame</div><div><br></div><div>2. have a mode to solve the system in the full space, instead of eliminating the semi-smooth variables (which produces the bad conditioning)</div>
<div><br></div><div>3. eventually allow the dimension of the constraint space to change on each SNES iteration (would be fantastic for implicit contact)</div>